import { DialogSOP } from '../../libappsop/dialogsop'; 
 | 
import { ListSOP } from '../../libappsop/listsop'; 
 | 
import { DialogDummy } from './dialog.dummy'; 
 | 
  
 | 
export interface DialogExportSOPReportsFields { 
 | 
  // No input element in dialog for now 
 | 
} 
 | 
  
 | 
export interface ListExportSOPScenariosFields { 
 | 
  Name?: string; 
 | 
} 
 | 
  
 | 
export class DialogExportSOPReports extends DialogSOP<DialogExportSOPReportsFields> { 
 | 
  public static readonly title = 'Export S&OP Reports'; 
 | 
  public static readonly buttonExport = 'Export'; 
 | 
  public readonly listScenarios = new ListExportSOPScenarios(); 
 | 
  
 | 
  public constructor() { 
 | 
    super('DialogSCIExportReports', 'DialogSCIExportReports.btnExport'); 
 | 
  } 
 | 
} 
 | 
  
 | 
export class ListExportSOPScenarios extends ListSOP<DialogDummy, ListExportSOPScenariosFields> { 
 | 
  public static title = `Scenarios (dialog ${DialogExportSOPReports.title})`; 
 | 
  
 | 
  public constructor() { 
 | 
    super('lstLibSCIScenario', new DialogDummy()); 
 | 
  } 
 | 
  
 | 
  public async selectScenarioViaMenu(scenarioName: string): Promise<void> { 
 | 
    const row = await this.getRow({Name: scenarioName}); 
 | 
    await this.selectContextMenu(listExportSOPScenariosContextMenuItem.Select, row); 
 | 
  } 
 | 
  
 | 
  public async setScenarioAsBase(scenarioName: string): Promise<void> { 
 | 
    const row = await this.getRow({Name: scenarioName}); 
 | 
    await this.selectContextMenu(listExportSOPScenariosContextMenuItem.SetAsBase, row); 
 | 
  } 
 | 
  
 | 
  public async setScenarioAsCurrent(scenarioName: string): Promise<void> { 
 | 
    const row = await this.getRow({Name: scenarioName}); 
 | 
    await this.selectContextMenu(listExportSOPScenariosContextMenuItem.SetAsCurrent, row); 
 | 
  } 
 | 
  
 | 
  public async unselectScenarioViaMenu(scenarioName: string): Promise<void> { 
 | 
    const row = await this.getRow({Name: scenarioName}); 
 | 
    await this.selectContextMenu(listExportSOPScenariosContextMenuItem.Unselect, row); 
 | 
  } 
 | 
  
 | 
  public async verifyScenarioSelected(scenarioName: string, expectedChecked: boolean): Promise<void> { 
 | 
    const row = await this.getRow({Name: scenarioName}); 
 | 
    expect(await row.isChecked()).toBe(expectedChecked, `Verify scenario '${scenarioName}' checked status.`); 
 | 
  } 
 | 
} 
 | 
  
 | 
const listExportSOPScenariosContextMenuItem = { 
 | 
  SetAsBase: { ContextMenu: 'cmContent', Name: 'MenuSetBase', Label: 'Set as base' }, 
 | 
  SetAsCurrent: { ContextMenu: 'cmContent', Name: 'MenuSetCurrent', Label: 'Set as current' }, 
 | 
  Select: { ContextMenu: 'cmContent', Name: 'MenuSelect', Label: 'Select' }, 
 | 
  Unselect: { ContextMenu: 'cmContent', Name: 'MenuUnselect', Label: 'Unselect' }, 
 | 
}; 
 | 
  
 | 
const stepDialogExportSOPReports = { 
 | 
  setScenarioAsBase: (scenarioName: string): string => `In list '${ListExportSOPScenarios.title}', right click scenario '${scenarioName}' and select menu '${listExportSOPScenariosContextMenuItem.SetAsBase.Label}'.`, 
 | 
  setScenarioAsCurrent: (scenarioName: string): string => `In list '${ListExportSOPScenarios.title}', right click scenario '${scenarioName}' and select menu '${listExportSOPScenariosContextMenuItem.SetAsCurrent.Label}'.`, 
 | 
  unselectScenarioViaMenu: (scenarioName: string): string => `In list '${ListExportSOPScenarios.title}', right click scenario '${scenarioName}' and select menu '${listExportSOPScenariosContextMenuItem.Unselect.Label}'.`, 
 | 
  selectScenarioViaMenu: (scenarioName: string): string => `In list '${ListExportSOPScenarios.title}', right click scenario '${scenarioName}' and select menu '${listExportSOPScenariosContextMenuItem.Select.Label}'.`, 
 | 
  verifyScenarioSelected: (scenarioName: string, expectedSelected: boolean): string => `In list '${ListExportSOPScenarios.title}', verify scenario '${scenarioName}' selected = ${expectedSelected}.`, 
 | 
}; 
 | 
  
 | 
export { listExportSOPScenariosContextMenuItem as ListExportSOPScenariosContextMenuItem }; 
 | 
export { stepDialogExportSOPReports as StepDialogExportSOPReports }; 
 |