limj
2023-10-24 93652435728de839582440eefd5122c281181d35
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 { DateTimeSelectorSOP } from '../../libappsop/datetimeselectorsop';
import { DialogSOP } from '../../libappsop/dialogsop';
import { DropDownListSOP } from '../../libappsop/dropdownlistsop';
 
export interface DialogRecipeAssignmentFields {
  Product?: string;
  Recipe?: string;
  EffectiveDate?: string;
}
 
export class DialogRecipeAssignment extends DialogSOP<DialogRecipeAssignmentFields> {
  public ddlProduct = new DropDownListSOP('selProduct');
  public ddlRecipe = new DropDownListSOP('selRecipe');
  public dtsEffectiveDate = new DateTimeSelectorSOP('dsEffectiveDate');
 
  public constructor() {
    super('DialogCreateEditRecipeWithEffectiveDate');
 
    // 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('Product', this.ddlProduct);
    this._uiMap.set('Recipe', this.ddlRecipe);
    this._uiMap.set('EffectiveDate', this.dtsEffectiveDate);
  }
}
 
/**
 * Expected tooltip for OK button when disabled.
 */
export const okButtonDisabledTooltip = {
  notUnique: (productName: string, effectiveDate: string): string => `Product (${productName}) has more than one recipe with the same effective date (${effectiveDate}).`,
};