Skip to content
Snippets Groups Projects
player-edit-dialog.component.ts 6.13 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { Component, Inject } from '@angular/core';
    import { MAT_DIALOG_DATA } from '@angular/material/dialog';
    import { PlayerElement } from '../../../../../common/interfaces/UIElementInterfaces';
    
    @Component({
      selector: 'app-player-edit-dialog',
      template: `
        <mat-dialog-content fxLayout="row">
          <mat-tab-group>
            <mat-tab label="{{ 'player.appearance' | translate }}">
              <div fxLayout="column">
                <mat-checkbox [checked]="newPlayerConfig.startControl || data.player.startControl"
                              (change)="newPlayerConfig.startControl = $event.checked">
                  {{ 'player.startControl' | translate }}
                </mat-checkbox>
                <mat-checkbox [checked]="newPlayerConfig.pauseControl || data.player.pauseControl"
                              (change)="newPlayerConfig.pauseControl = $event.checked">
                  {{ 'player.pauseControl' | translate }}
                </mat-checkbox>
                <mat-checkbox [checked]="newPlayerConfig.progressBar || data.player.progressBar"
                              (change)="newPlayerConfig.progressBar = $event.checked">
                  {{ 'player.progressBar' | translate }}
                </mat-checkbox>
                <mat-checkbox [checked]="newPlayerConfig.interactiveProgressbar || data.player.interactiveProgressbar"
                              (change)="newPlayerConfig.interactiveProgressbar = $event.checked">
                  {{ 'player.interactiveProgressbar' | translate }}
                </mat-checkbox>
                <mat-checkbox [checked]="newPlayerConfig.volumeControl || data.player.volumeControl"
                              (change)="newPlayerConfig.volumeControl = $event.checked">
                  {{ 'player.volumeControl' | translate }}
                </mat-checkbox>
                <mat-checkbox [checked]="newPlayerConfig.showRestTime || data.player.showRestTime"
                              (change)="newPlayerConfig.showRestTime = $event.checked">
                  {{ 'player.showRestTime' | translate }}
                </mat-checkbox>
                <mat-form-field appearance="fill">
                  <mat-label>{{ 'player.hintLabel' | translate }}</mat-label>
                  <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 || data.player.hintLabel"
                                appearance="fill">
                  <mat-label>{{ 'player.hintLabelDelay' | translate }}</mat-label>
                  <input matInput type="number" step="1000" min="0"
                         [ngModel]="newPlayerConfig.hintLabelDelay || data.player.hintLabelDelay"
                         (ngModelChange)="newPlayerConfig.hintLabelDelay = $event">
                </mat-form-field>
              </div>
            </mat-tab>
            <mat-tab label="{{ 'player.behaviour' | translate }}">
              <div fxLayout="column">
                <mat-checkbox [checked]="newPlayerConfig.autostart || data.player.autostart"
                              (change)="newPlayerConfig.autostart = $event.checked">
                  {{ 'player.autoStart' | translate }}
                </mat-checkbox>
                <mat-form-field *ngIf="newPlayerConfig.autostart || data.player.autostart" appearance="fill">
                  <mat-label>{{ 'player.autoStartDelay' | translate }}</mat-label>
                  <input matInput type="number" step="1000"
                         [value]="newPlayerConfig.autostartDelay || data.player.autostartDelay"
                         (input)="newPlayerConfig.autostartDelay = $any($event.target).value">
                </mat-form-field>
                <mat-checkbox [checked]="newPlayerConfig.loop || data.player.loop"
                              (change)="newPlayerConfig.loop = $event.checked">
                  {{ 'player.loop' | translate }}
                </mat-checkbox>
                <mat-checkbox [checked]="newPlayerConfig.uninterruptible || data.player.uninterruptible"
                              (change)="newPlayerConfig.uninterruptible = $event.checked">
                  {{ 'player.uninterruptible' | translate }}
                </mat-checkbox>
                <mat-checkbox [checked]="newPlayerConfig.hideOtherPages || data.player.hideOtherPages"
                              (change)="newPlayerConfig.hideOtherPages = $event.checked">
                  {{ 'player.hideOtherPages' | translate }}
                </mat-checkbox>
                <mat-form-field appearance="fill">
                  <mat-label>{{ 'player.activeAfterID' | translate }}</mat-label>
                  <input matInput type="text" [value]="newPlayerConfig.activeAfterID || data.player.activeAfterID"
                         (input)="newPlayerConfig.activeAfterID = $any($event.target).value">
                </mat-form-field>
                <mat-form-field appearance="fill">
                  <mat-label>{{ 'player.minRuns' | translate }}</mat-label>
                  <input matInput type="number" min="0"
                         [ngModel]="newPlayerConfig.minRuns || data.player.minRuns"
                         (ngModelChange)="newPlayerConfig.minRuns = $event">
                </mat-form-field>
                <mat-form-field appearance="fill">
                  <mat-label>{{ 'player.maxRuns' | translate }}</mat-label>
                  <input matInput type="number" min="0"
                         [ngModel]="newPlayerConfig.maxRuns || data.player.maxRuns"
                         (ngModelChange)="newPlayerConfig.maxRuns = $event">
                </mat-form-field>
                <mat-checkbox [checked]="newPlayerConfig.showRestRuns || data.player.showRestRuns"
                              (change)="newPlayerConfig.showRestRuns = $event.checked">
                  {{ 'player.showRestRuns' | translate }}
                </mat-checkbox>
              </div>
            </mat-tab>
          </mat-tab-group>
        </mat-dialog-content>
        <mat-dialog-actions>
          <button mat-button [mat-dialog-close]="newPlayerConfig">{{'save' | translate }}</button>
          <button mat-button mat-dialog-close>{{'cancel' | translate }}</button>
        </mat-dialog-actions>
        `
    })
    export class PlayerEditDialogComponent {
      newPlayerConfig: PlayerElement = {} as PlayerElement;
      constructor(@Inject(MAT_DIALOG_DATA)public data: { player: PlayerElement }) {
      }
    }