<form (ngSubmit)="onSubmit()" #inputForm="ngForm">
  <h1 mat-dialog-title>{{ title }}</h1>
  <div mat-dialog-content>
    <section>
      {{ message }}
    </section>
    <section *ngFor="let name of getKeys(values)" [ngSwitch]="values[name].type">
      <section *ngSwitchCase="'boolean'">
        {{ values[name].label }}:
        <mat-slide-toggle
          [name]="name"
          [(ngModel)]="values[name].value">
          {{ values[name].value ? 'True' : 'False' }}
        </mat-slide-toggle>
      </section>
      <mat-form-field *ngSwitchCase="'password'">
        <input matInput
          type="password"
          [name]="name"
          [(ngModel)]="values[name].value"
          [placeholder]="values[name].label"
          required>
      </mat-form-field>
      <mat-form-field *ngSwitchDefault>
        <input matInput
          [name]="name"
          [(ngModel)]="values[name].value"
          [placeholder]="values[name].label"
          required>
      </mat-form-field>
    </section>
  </div>
  <div mat-dialog-actions>
    <button mat-button type="submit" color="primary" [disabled]="!inputForm.form.valid">OK</button>
    <button mat-button type="button" (click)="onCancel()">Cancel</button>
  </div>
</form>
