yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { PanelGeneral, PanelManageContents } from '.';
import { DialogSOP } from '../../../libappsop/dialogsop';
 
export interface DialogOptimizerPuzzlesField {
  Name?: string;
  Description?: string;
}
 
export class DialogOptimizerPuzzles extends DialogSOP<DialogOptimizerPuzzlesField> {
  public static readonly title = 'Optimizer Puzzles';
 
  public panelManageContents = new PanelManageContents();
  public panelGeneral = new PanelGeneral();
 
  public constructor() {
    super('DialogCreateEditOptimizerPuzzle');
 
    // Set UI element mapping to pair the UI name to the UI element for use in DialogSOP to find the UI object to set value or verify value
    // This prevents each new Dialog to duplicate code just to set/verify UI element value
    this._uiMap.set('Name', this.panelGeneral.efName);
    this._uiMap.set('Description', this.panelGeneral.efDescription);
  }
}
 
/**
 * Expected tooltip for OK button when disabled.
 */
export const okButtonDisabledTooltip = {
  // Partial prefix indicates precondition defined partially thus use partial match when verifying.
  mustHaveName: (): string => 'Optimizer puzzle must have a name.',
  nameMustUnique: (): string => 'Optimizer puzzle must be unique by name.',
};