import { Form } from '../../e2elib/lib/src/pageobjects/form.component';
|
import { DialogStrategy } from '../dialogs/dialog.strategy';
|
import { ListSOP } from '../../libappsop/listsop';
|
|
export class FormOptimizerStrategies extends Form {
|
public listStrategy = new ListStrategy();
|
|
public constructor() {
|
super('FormOptimizerStrategiesSlideIn');
|
}
|
}
|
|
export class ListStrategy extends ListSOP<DialogStrategy, ListStrategyColumn> {
|
public static readonly title = 'Optimizer Strategies';
|
|
public constructor() {
|
super('ListOptimizerStrategiesSlideIn', new DialogStrategy());
|
}
|
|
/**
|
* Returns the copied strategy name by appending Copy and running number.
|
* Prevents spec files hardcoding the copied format so that future changes to the logic can be change here.
|
*
|
* @param originalName Strategy name to copy
|
* @param suffixRunningNumber [Optional] Number to append in case original strategy has been copied before to prevent duplicate name
|
* @returns The new copied strategy name.
|
* @example Default_Copy, Default_Copy 1, Default_Copy 2 (with a space before number)
|
*/
|
public getCopiedStrategyName(originalName: string, suffixRunningNumber?: number): string {
|
const suffix = suffixRunningNumber ? suffixRunningNumber.toString() : '';
|
return `${originalName}_Copy${suffix}`;
|
}
|
}
|
|
export interface ListStrategyColumn {
|
Name?: string;
|
ImgIsValid?: string;
|
}
|
|
const listStrategyContextMenuItem = {
|
Create: { ContextMenu: 'listContextMenuOptimizerStrategiesSlideIn', Name: 'MenuCreate', Label: 'Create' },
|
Edit: { ContextMenu: 'listContextMenuOptimizerStrategiesSlideIn', Name: 'MenuEdit', Label: 'Edit' },
|
Delete: { ContextMenu: 'listContextMenuOptimizerStrategiesSlideIn', Name: 'MenuDelete', Label: 'Delete' },
|
Copy: { ContextMenu: 'listContextMenuOptimizerStrategiesSlideIn', Name: 'MenuCopy', Label: 'Copy' },
|
};
|
|
export { listStrategyContextMenuItem as ListStrategyContextMenuItem };
|