mirror of
				https://github.com/avatao-content/frontend-tutorial-framework
				synced 2025-11-04 02:42:56 +00:00 
			
		
		
		
	Refactor save! saving... saved! truth table to single string :D
This commit is contained in:
		@@ -3,12 +3,13 @@
 | 
			
		||||
          class="btn btn-secondary"
 | 
			
		||||
          [class.active]="filename === file"
 | 
			
		||||
          [class.disabled]="filename === file"
 | 
			
		||||
          (click)="selectCode(file); requestCode()">
 | 
			
		||||
          (click)="selectCode(file); requestCode()"
 | 
			
		||||
          [disabled]="filename === file">
 | 
			
		||||
    {{file}}
 | 
			
		||||
  </button>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<div (textChanged)="saved = false"
 | 
			
		||||
<div (textChanged)="saveButtonState = 'DIRTY'"
 | 
			
		||||
  ace-editor
 | 
			
		||||
  [(text)]="code"
 | 
			
		||||
  [(mode)]="language"
 | 
			
		||||
@@ -18,17 +19,12 @@
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<button (click)="sendCode()"
 | 
			
		||||
        [disabled]="saving === true"
 | 
			
		||||
        [disabled]="saveButtonState === 'SAVING'"
 | 
			
		||||
        type="submit"
 | 
			
		||||
        class="btn btn-secondary"
 | 
			
		||||
        [class.btn-success]="saved === true"
 | 
			
		||||
        [class.btn-warning]="saving === true"
 | 
			
		||||
        [class.disabled]="saving === true"
 | 
			
		||||
><span *ngIf="saved === false && saving === false">Save</span>
 | 
			
		||||
 <span *ngIf="saved === true && saving === false">Saved!</span>
 | 
			
		||||
 <span *ngIf="saved === false && saving === true">Saving...</span></button>
 | 
			
		||||
 | 
			
		||||
<span *ngIf="saved === true">Saved</span>
 | 
			
		||||
<span *ngIf="saving === true">Saving</span>
 | 
			
		||||
<span *ngIf="saved === false">Not Saved</span>
 | 
			
		||||
<span *ngIf="saving === false">Not Saving</span>
 | 
			
		||||
        [class.btn-success]="saveButtonState === 'SAVED'"
 | 
			
		||||
        [class.btn-warning]="saveButtonState === 'SAVING'"
 | 
			
		||||
        [class.disabled]="saveButtonState === 'SAVING'"
 | 
			
		||||
><span *ngIf="saveButtonState === 'DIRTY'">Save!</span>
 | 
			
		||||
 <span *ngIf="saveButtonState === 'SAVED'">Saved!</span>
 | 
			
		||||
 <span *ngIf="saveButtonState === 'SAVING'">Saving...</span></button>
 | 
			
		||||
 
 | 
			
		||||
@@ -20,8 +20,7 @@ export class WebideComponent implements OnInit {
 | 
			
		||||
  language = 'javascript';
 | 
			
		||||
  theme = 'monokai';
 | 
			
		||||
  files: string[];
 | 
			
		||||
  saved = false;
 | 
			
		||||
  saving = false;
 | 
			
		||||
  saveButtonState = 'DIRTY';
 | 
			
		||||
 | 
			
		||||
  constructor(private webSocketService: WebSocketService) { }
 | 
			
		||||
 | 
			
		||||
@@ -31,7 +30,7 @@ export class WebideComponent implements OnInit {
 | 
			
		||||
      this.code = event.data.content;
 | 
			
		||||
      this.language = event.data.language;
 | 
			
		||||
      this.files = event.data.files;
 | 
			
		||||
      if (event.data.command === 'write') { this.saved = true; this.saving = false; }
 | 
			
		||||
      if (event.data.command === 'write') { this.saveButtonState = 'SAVED'; }
 | 
			
		||||
    });
 | 
			
		||||
    this.requestCode();
 | 
			
		||||
  }
 | 
			
		||||
@@ -41,8 +40,7 @@ export class WebideComponent implements OnInit {
 | 
			
		||||
      'command': 'write',
 | 
			
		||||
      'content': this.code
 | 
			
		||||
    });
 | 
			
		||||
    this.saving = true;
 | 
			
		||||
    this.saved = false;
 | 
			
		||||
    this.saveButtonState = 'SAVING';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  requestCode() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user