import { CheckboxSOP } from '../../libappsop/checkboxsop'; 
 | 
import { DateTimeSelectorSOP } from '../../libappsop/datetimeselectorsop'; 
 | 
import { DialogSOP } from '../../libappsop/dialogsop'; 
 | 
import { DropDownListSOP } from '../../libappsop/dropdownlistsop'; 
 | 
import { EditFieldSOP } from '../../libappsop/editfieldsop'; 
 | 
import { PanelSOP } from '../../libappsop/panelsop'; 
 | 
  
 | 
export interface DialogCustomerOrderFields { 
 | 
  SalesSegment?: string; 
 | 
  Product?: string; 
 | 
  StockingPoint?: string; 
 | 
  OrderDate?: string; 
 | 
  Quantity?: string; 
 | 
  Price?: string; 
 | 
  CustomerName?: string; 
 | 
  CustomerID?: string; 
 | 
  OrderID?: string; 
 | 
  OrderLineID?: string; 
 | 
  // Advanced tab fields 
 | 
  ExcludeFromFulfillmentKPI?: string; 
 | 
  IsEligibleNetting?: string; 
 | 
  IsFirmed?: string; 
 | 
} 
 | 
  
 | 
export class DialogCustomerOrder extends DialogSOP<DialogCustomerOrderFields> { 
 | 
  public static readonly title = 'Customer Order'; 
 | 
  public readonly pnlGeneral = new PanelSOP('PanelGeneral'); 
 | 
  public readonly pnlAdvanced = new PanelSOP('PanelAdvanced'); 
 | 
  public readonly ddlSalesSegment = new DropDownListSOP('DropDownListSalesSegment'); 
 | 
  public readonly ddlProduct = new DropDownListSOP('DropDownListProduct'); 
 | 
  public readonly ddlStockingPoint = new DropDownListSOP('DropDownListStockingPoint'); 
 | 
  public readonly dsOrderDate = new DateTimeSelectorSOP('DateSelectorStart'); 
 | 
  public readonly efQuantity = new EditFieldSOP('EditFieldQuantityUom'); 
 | 
  public readonly efPrice = new EditFieldSOP('EditFieldPrice'); 
 | 
  public readonly efCustomerName = new EditFieldSOP('EditFieldCustomerName'); 
 | 
  public readonly efCustomerID = new EditFieldSOP('EditFieldCustomerID'); 
 | 
  public readonly efOrderID = new EditFieldSOP('EditFieldOrderID'); 
 | 
  public readonly efOrderLineID = new EditFieldSOP('EditFieldOrderLineID'); 
 | 
  public readonly cbExcludeFromFulfillmentKPI = new CheckboxSOP('CheckBoxIsExcludedFromFulfillmentKPI'); 
 | 
  public readonly cbIsEligibleNetting = new CheckboxSOP('CheckboxIsForNetting'); 
 | 
  public readonly cbIsFirmed = new CheckboxSOP('CheckboxIsFirmed'); 
 | 
  
 | 
  public constructor() { 
 | 
    super('DialogCreateEditCustomerOrder'); 
 | 
  
 | 
    // 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('SalesSegment', this.ddlSalesSegment); 
 | 
    this._uiMap.set('Product', this.ddlProduct); 
 | 
    this._uiMap.set('StockingPoint', this.ddlStockingPoint); 
 | 
    this._uiMap.set('OrderDate', this.dsOrderDate); 
 | 
    this._uiMap.set('Quantity', this.efQuantity); 
 | 
    this._uiMap.set('Price', this.efPrice); 
 | 
    this._uiMap.set('CustomerName', this.efCustomerName); 
 | 
    this._uiMap.set('CustomerID', this.efCustomerID); 
 | 
    this._uiMap.set('OrderID', this.efOrderID); 
 | 
    this._uiMap.set('OrderLineID', this.efOrderLineID); 
 | 
    // Advanced tab fields 
 | 
    this._uiMap.set('ExcludeFromFulfillmentKPI', this.cbExcludeFromFulfillmentKPI); 
 | 
    this._uiMap.set('IsEligibleNetting', this.cbIsEligibleNetting); 
 | 
    this._uiMap.set('IsFirmed', this.cbIsFirmed); 
 | 
  } 
 | 
} 
 |