haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
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
33
import { DialogSOP } from '../../libappsop/dialogsop';
import { EditFieldSOP } from '../../libappsop/editfieldsop';
 
export interface DialogPriorityFields {
  Name?: string;
  Weight?: number;
}
 
/**
 * Priority dialog.
 */
export class DialogPriority extends DialogSOP<DialogPriorityFields> {
  private readonly _efName = new EditFieldSOP('EditFieldName');
  private readonly _efWeight = new EditFieldSOP('EditFieldWeight');
 
  public constructor() {
    super('DialogCreateEditPriority');
 
    // 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._efName);
    this._uiMap.set('Weight', this._efWeight);
  }
}
 
/**
 * Expected tooltip for OK button when disabled.
 */
export const okButtonDisabledTooltip = {
  // Partial prefix indicates precondition defined partially thus use partial match when verifying.
  nameCannotEmpty: (): string => 'Priority [Missing name]: Priority must have a name of at most 500 characters.',
  nameMustUnique: (name: string): string => `Priority [${name}]: Priority must be unique by name.`,
};