/**
|
* @file Campaign Types Dialog
|
* @author Mehrab Kamrani (mehrab.hassan@3ds.com)
|
*/
|
import { DialogSOP } from '../../libappsop/dialogsop';
|
import { DropDownListSOP } from '../../libappsop/dropdownlistsop';
|
import { EditFieldSOP } from '../../libappsop/editfieldsop';
|
import { RadioButtonSOP } from '../../libappsop/radiobuttonsop';
|
import { DurationSelectorSOP } from '../../libappsop/durationselectorsop';
|
|
export class DialogCampaignType extends DialogSOP<DialogCampaignTypeFields> {
|
public readonly name = 'Campaign Type';
|
|
// Campaign type unit and name
|
private readonly _ddlUnit = new DropDownListSOP('DropDownListUnit');
|
private readonly _efName = new EditFieldSOP('EditFieldName');
|
|
// Radio button selection for quantity/duration
|
private readonly _rbgQuantityOrDuration = new RadioButtonSOP('RadioButtonGroupQuantityDuration');
|
|
// Fields for quantity
|
private readonly _efDefaultMinQty = new EditFieldSOP('EditFieldDefaultMinQty');
|
private readonly _efDefaultMaxQty = new EditFieldSOP('EditFieldDefaultMaxQty');
|
|
// Fields for duration
|
private readonly _dsDefaultMinimumDuration = new DurationSelectorSOP('DurationSelectorMinDuration', {Days: 0, Hours: 0, Minutes: 0});
|
private readonly _dsDefaultMaximumDuration = new DurationSelectorSOP('DurationSelectorMaxDuration', {Days: 0, Hours: 0, Minutes: 0});
|
|
public constructor() {
|
super('DialogCreateEditCampaignType');
|
|
// 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('Unit', this._ddlUnit);
|
this._uiMap.set('QuantityOrDuration', this._rbgQuantityOrDuration);
|
this._uiMap.set('MinQuantity', this._efDefaultMinQty);
|
this._uiMap.set('MaxQuantity', this._efDefaultMaxQty);
|
this._uiMap.set('MinDuration', this._dsDefaultMinimumDuration);
|
this._uiMap.set('MaxDuration', this._dsDefaultMaximumDuration);
|
}
|
}
|
|
export interface DialogCampaignTypeFields {
|
Name?: string;
|
Unit?: string;
|
QuantityOrDuration?: string;
|
MinQuantity?: string;
|
MaxQuantity?: string;
|
MinDuration?: string;
|
MaxDuration?: string;
|
}
|