/** 
 | 
 * @file          Campaign Form 
 | 
 * @author        Jayden Chew (jayden.chew@3ds.com) 
 | 
 */ 
 | 
import { DialogCampaign } from '../dialogs/dialog.campaign'; 
 | 
import { FormSOP } from '../../libappsop/formsop'; 
 | 
import { ListSOP } from '../../libappsop/listsop'; 
 | 
  
 | 
export class FormCampaign extends FormSOP { 
 | 
  public listCampaign = new ListCampaign(); 
 | 
  
 | 
  public constructor() { 
 | 
    super('FormCampaign'); 
 | 
  } 
 | 
} 
 | 
  
 | 
export class ListCampaign extends ListSOP<DialogCampaign, ListCampaignColumn> { 
 | 
  public static readonly title = 'Campaigns'; 
 | 
  public readonly name = 'Campaigns'; 
 | 
  
 | 
  public constructor() { 
 | 
    super('ListCampaign', new DialogCampaign()); 
 | 
  
 | 
    // Set primary key column name(s), to display in error message when assert fails 
 | 
    this.rowPrimaryColumnNames = { 'Campaign type': '' }; 
 | 
    this.rowAllConstraintsColumnName = { 'All constraints': '' }; 
 | 
  } 
 | 
} 
 | 
  
 | 
export interface ListCampaignColumn { 
 | 
  'All constraints'?: string; 
 | 
  Unit?: string; 
 | 
  'Campaign type'?: string; 
 | 
  Start?: string; 
 | 
  End?: string; 
 | 
  Minimum?: string; 
 | 
  Maximum?: string; 
 | 
  Fulfillment?: string; 
 | 
  Comment?: string; 
 | 
  Utilization?: string; 
 | 
  'To Transition'?: string; 
 | 
} 
 | 
  
 | 
const listCampaignContextMenuItem = { 
 | 
  Create: { ContextMenu: 'listContextMenuCampaign', Name: 'MenuCreate', Label: 'Create' }, 
 | 
  Edit: { ContextMenu: 'listContextMenuCampaign', Name: 'MenuEdit', Label: 'Edit' }, 
 | 
  Delete: { ContextMenu: 'listContextMenuCampaign', Name: 'MenuDelete', Label: 'Delete' }, 
 | 
  Copy: { ContextMenu: 'listContextMenuCampaign', Name: 'MenuCopy', Label: 'Copy' }, 
 | 
}; 
 | 
export { listCampaignContextMenuItem as ListCampaignContextMenuItem }; 
 |