/** Core */ import { EventArgs } from "cmf.taura/src/base/base.mediator"; /** Definitions and bags */ import { ExecutionViewTabDef } from "../executionViewTab/executionViewTabDef"; /** * Operation that will let a consumer know which action was invoked */ export declare enum ExecutionViewOperation { Save = 0, Perform = 1, Init = 2, Cancel = 3 } /** * ExecutionView Events args gathering setting the callback that consumer must invoke to finish all sync/async tasks */ export interface ExecutionViewEventArgs extends EventArgs { /** * All Execution View tabs */ tabs?: Array; /** * Operation invoked */ operation?: ExecutionViewOperation; /** * Execution view comments */ comments?: string; /** * Execution View Callback * @param promise Promise to wait for until the progress indicator disappears and the window closes. * @param avoidRefresh Should the refresh event to the host page be avoided? Default value is false */ callback(promise: Promise, avoidRefresh?: boolean, closeExecutionView?: boolean): Promise; } /** * ExecutionView definition interface which should be implemented by all components using the base execution view component */ export interface ExecutionViewDef { /** * This is the handler called when the execution view is initiated. */ onExecutionViewInit(executionViewArgs: ExecutionViewEventArgs): void; /** * This is the handler called when the execution view is performed. */ onExecutionViewPerform(executionViewArgs: ExecutionViewEventArgs): void; /** * This is the handler called when the execution view is saved. */ onExecutionViewSaveNow(executionViewArgs: ExecutionViewEventArgs): void; }