From c1c02249343530cdd826e6c0070553112d37cb96 Mon Sep 17 00:00:00 2001 From: rhenck <richard.henck@iqb.hu-berlin.de> Date: Mon, 25 Oct 2021 11:06:53 +0200 Subject: [PATCH] [editor] Return only touched values from Player-Dialog All values returned are set. This way there are less useless calls. --- projects/editor/src/app/dialog.service.ts | 39 +++++++++++------------ 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/projects/editor/src/app/dialog.service.ts b/projects/editor/src/app/dialog.service.ts index d03c60cfb..aa73b5fef 100644 --- a/projects/editor/src/app/dialog.service.ts +++ b/projects/editor/src/app/dialog.service.ts @@ -139,56 +139,56 @@ export class RichTextEditDialog { template: ` <mat-dialog-content fxLayout="row"> <div class="property-column" fxLayout="column"> - <mat-checkbox [checked]="newPlayerConfig.autostart" + <mat-checkbox [checked]="newPlayerConfig.autostart || data.player.autostart" (change)="newPlayerConfig.autostart = $event.checked"> Autostart </mat-checkbox> <mat-form-field *ngIf="newPlayerConfig.autostart" appearance="fill"> <mat-label>Autostart Verzögerung</mat-label> - <input matInput type="number" [value]="newPlayerConfig.autostartDelay" + <input matInput type="number" [value]="newPlayerConfig.autostartDelay || data.player.autostartDelay" (input)="newPlayerConfig.autostartDelay = $any($event.target).value"> </mat-form-field> - <mat-checkbox [checked]="newPlayerConfig.loop" + <mat-checkbox [checked]="newPlayerConfig.loop || data.player.loop" (change)="newPlayerConfig.loop = $event.checked"> Loop </mat-checkbox> - <mat-checkbox [checked]="newPlayerConfig.startControl" + <mat-checkbox [checked]="newPlayerConfig.startControl || data.player.startControl" (change)="newPlayerConfig.startControl = $event.checked"> startControl </mat-checkbox> - <mat-checkbox [checked]="newPlayerConfig.pauseControl" + <mat-checkbox [checked]="newPlayerConfig.pauseControl || data.player.pauseControl" (change)="newPlayerConfig.pauseControl = $event.checked"> pauseControl </mat-checkbox> - <mat-checkbox [checked]="newPlayerConfig.stopControl" + <mat-checkbox [checked]="newPlayerConfig.stopControl || data.player.stopControl" (change)="newPlayerConfig.stopControl = $event.checked"> stopControl </mat-checkbox> - <mat-checkbox [checked]="newPlayerConfig.progressBar" + <mat-checkbox [checked]="newPlayerConfig.progressBar || data.player.progressBar" (change)="newPlayerConfig.progressBar = $event.checked"> progressBar </mat-checkbox> - <mat-checkbox [checked]="newPlayerConfig.interactiveProgressbar" + <mat-checkbox [checked]="newPlayerConfig.interactiveProgressbar || data.player.interactiveProgressbar" (change)="newPlayerConfig.interactiveProgressbar = $event.checked"> interactiveProgressbar </mat-checkbox> - <mat-checkbox [checked]="newPlayerConfig.volumeControl" + <mat-checkbox [checked]="newPlayerConfig.volumeControl || data.player.volumeControl" (change)="newPlayerConfig.volumeControl = $event.checked"> volumeControl </mat-checkbox> - <mat-checkbox [checked]="newPlayerConfig.uninterruptible" + <mat-checkbox [checked]="newPlayerConfig.uninterruptible || data.player.uninterruptible" (change)="newPlayerConfig.uninterruptible = $event.checked"> uninterruptible </mat-checkbox> - <mat-checkbox [checked]="newPlayerConfig.hideOtherPages" + <mat-checkbox [checked]="newPlayerConfig.hideOtherPages || data.player.hideOtherPages" (change)="newPlayerConfig.hideOtherPages = $event.checked"> hideOtherPages </mat-checkbox> - <mat-checkbox [checked]="newPlayerConfig.showRestRuns" + <mat-checkbox [checked]="newPlayerConfig.showRestRuns || data.player.showRestRuns" (change)="newPlayerConfig.showRestRuns = $event.checked"> showRestRuns </mat-checkbox> - <mat-checkbox [checked]="newPlayerConfig.showRestTime" + <mat-checkbox [checked]="newPlayerConfig.showRestTime || data.player.showRestTime" (change)="newPlayerConfig.showRestTime = $event.checked"> showRestTime </mat-checkbox> @@ -196,7 +196,7 @@ export class RichTextEditDialog { <div fxLayout="column"> <mat-form-field appearance="fill"> <mat-label>hintLabel</mat-label> - <input matInput type="text" [value]="newPlayerConfig.hintLabel" + <input matInput type="text" [value]="newPlayerConfig.hintLabel || data.player.hintLabel" (input)="newPlayerConfig.hintLabel = $any($event.target).value"> </mat-form-field> <mat-form-field *ngIf="newPlayerConfig.hintLabel !== ''" appearance="fill"> @@ -206,17 +206,17 @@ export class RichTextEditDialog { </mat-form-field> <mat-form-field appearance="fill"> <mat-label>activeAfter</mat-label> - <input matInput type="text" [value]="newPlayerConfig.activeAfter" + <input matInput type="text" [value]="newPlayerConfig.activeAfter || data.player.activeAfter" (input)="newPlayerConfig.activeAfter = $any($event.target).value"> </mat-form-field> <mat-form-field appearance="fill"> <mat-label>minRuns</mat-label> - <input matInput type="number" [value]="newPlayerConfig.minRuns" + <input matInput type="number" [value]="newPlayerConfig.minRuns || data.player.minRuns" (input)="newPlayerConfig.minRuns = $any($event.target).value"> </mat-form-field> <mat-form-field appearance="fill"> <mat-label>maxRuns</mat-label> - <input matInput type="number" [value]="newPlayerConfig.maxRuns" + <input matInput type="number" [value]="newPlayerConfig.maxRuns || data.player.maxRuns" (input)="newPlayerConfig.maxRuns = $any($event.target).value"> </mat-form-field> </div> @@ -231,9 +231,8 @@ export class RichTextEditDialog { '.property-column {margin-right: 20px}' ] }) -export class PlayerEditDialog { // TODO return only changed values, so not all the properties have to be overwritten - newPlayerConfig: PlayerElement; +export class PlayerEditDialog { + newPlayerConfig: PlayerElement = {} as PlayerElement; constructor(@Inject(MAT_DIALOG_DATA)public data: { player: PlayerElement }) { - this.newPlayerConfig = data.player; } } -- GitLab