| /** | 
|  * @file          Campaign Dialog | 
|  * @author        Mehrab Kamrani (mehrab.hassan@3ds.com) | 
|  */ | 
| import { DialogSOP } from '../../libappsop/dialogsop'; | 
| import { DropDownListSOP } from '../../libappsop/dropdownlistsop'; | 
| import { DurationSelectorSOP } from '../../libappsop/durationselectorsop'; | 
| import { DateTimeSelectorSOP } from '../../libappsop/datetimeselectorsop'; | 
| import { RadioButtonSOP } from '../../libappsop/radiobuttonsop'; | 
| import { EditFieldSOP } from '../../libappsop/editfieldsop'; | 
| import { LabelSOP } from '../../libappsop/labelsop'; | 
|   | 
| export class DialogCampaign extends DialogSOP<DialogCampaignFields> { | 
|   public static readonly title = 'Campaign'; | 
|   public readonly name = 'Campaign'; | 
|   private readonly _ddlCampaignType = new DropDownListSOP('selCampaignType_MP'); | 
|   private readonly _dsEarliestStart = new DateTimeSelectorSOP('dsEarliestStart'); | 
|   | 
|   private readonly _rbgInputType = new RadioButtonSOP('RadioButtonGroupQuantityDuration'); | 
|   private readonly _efMinQuantity = new EditFieldSOP('EditorCampaignMinQuantity'); | 
|   private readonly _efMaxQuantity = new EditFieldSOP('EditorCampaignMaxQuantity'); | 
|   private readonly _efMinDuration = new DurationSelectorSOP('DurationSelectorMinDuration', { Days: 0, Hours: 0, Minutes: 0 }); | 
|   private readonly _efMaxDuration = new DurationSelectorSOP('DurationSelectorMaxDuration', { Days: 0, Hours: 0, Minutes: 0 }); | 
|   private readonly _efComment = new EditFieldSOP('edtComment'); | 
|   | 
|   // Labels for indicative values | 
|   private readonly _lblIndicatedDurationBasedOnMinQuantity = new LabelSOP('LabelIndicatedDurationBasedOnMinQty'); | 
|   private readonly _lblIndicatedDurationBasedOnMaxQuantity = new LabelSOP('LabelIndicatedDurationBasedOnMaxQty'); | 
|   private readonly _lblIndicatedQuantityBasedOnMinDuration = new LabelSOP('LabelIndicatedQuantityBasedOnMinDuration'); | 
|   private readonly _lblIndicatedQuantityBasedOnMaxDuration = new LabelSOP('LabelIndicatedQuantityBasedOnMaxDuration'); | 
|   | 
|   public constructor() { | 
|     super('DialogCreateEditCampaign', 'btnOK', 'btnCancel'); | 
|   | 
|     // 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('Campaign type', this._ddlCampaignType); | 
|     this._uiMap.set('Earliest start', this._dsEarliestStart); | 
|     this._uiMap.set('Input type', this._rbgInputType); | 
|     this._uiMap.set('Minimum quantity', this._efMinQuantity); | 
|     this._uiMap.set('Maximum quantity', this._efMaxQuantity); | 
|     this._uiMap.set('Minimum duration', this._efMinDuration); | 
|     this._uiMap.set('Maximum duration', this._efMaxDuration); | 
|     this._uiMap.set('Indicated Duration BasedOn MinQty', this._lblIndicatedDurationBasedOnMinQuantity); | 
|     this._uiMap.set('Indicated Duration BasedOn MaxQty', this._lblIndicatedDurationBasedOnMaxQuantity); | 
|     this._uiMap.set('Indicated Quantity BasedOn MinDuration', this._lblIndicatedQuantityBasedOnMinDuration); | 
|     this._uiMap.set('Indicated Quantity BasedOn MaxDuration', this._lblIndicatedQuantityBasedOnMaxDuration); | 
|     this._uiMap.set('Comment', this._efComment); | 
|   } | 
| } | 
|   | 
| export interface DialogCampaignFields { | 
|   'Campaign type'?: string; | 
|   'Earliest start'?: string; | 
|   'Input type'?: string; | 
|   'Minimum quantity'?: string; | 
|   'Maximum quantity'?: string; | 
|   'Minimum duration'?: string; | 
|   'Maximum duration'?: string; | 
|   'Indicated Duration BasedOn MinQty'?: string; | 
|   'Indicated Duration BasedOn MaxQty'?: string; | 
|   'Indicated Quantity BasedOn MinDuration'?: string; | 
|   'Indicated Quantity BasedOn MaxDuration'?: string; | 
|   Comment?: string; | 
| } |