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.', 
 | 
}; 
 |