import type { AttributeType, ClassType, DataElement, OperationType } from "../data/elements"; import type { ConfirmationType } from "../enums"; import type { NamedElement } from "../visual/base"; /** * Base action definition - abstract. * Maps to: ui:ActionDefinition * * EMF Defaults: * - isTransient: false * - isContainedRelationAction: false * - isBulk: false */ export interface ActionDefinition extends NamedElement { "@type": string; /** Whether action is transient. @default false */ isTransient?: boolean; /** Resolved reference to target ClassType */ targetType?: ClassType; /** Whether action is for contained relations. @default false */ isContainedRelationAction?: boolean; /** Whether action supports bulk operations. @default false */ isBulk?: boolean; } /** * Confirmation dialog configuration. * Maps to: ui:Confirmation * * EMF Defaults: * - confirmationType: YES_NO */ export interface Confirmation { /** Type of confirmation dialog. @default YES_NO */ confirmationType?: ConfirmationType; confirmationMessage?: string; /** Resolved reference to condition AttributeType */ confirmationCondition?: AttributeType; } export interface BackActionDefinition extends ActionDefinition { "@type": "BackActionDefinition"; } export interface OpenPageActionDefinition extends ActionDefinition { "@type": "OpenPageActionDefinition"; } export interface RowOpenPageActionDefinition extends ActionDefinition { "@type": "RowOpenPageActionDefinition"; /** Resolved reference to link relation DataElement */ linkRelation: DataElement; } export interface OpenFormActionDefinition extends ActionDefinition { "@type": "OpenFormActionDefinition"; /** Resolved reference to ActionDefinition this form is for */ formFor?: ActionDefinition; } export interface OpenCreateFormActionDefinition extends Omit { "@type": "OpenCreateFormActionDefinition"; } export interface OpenOperationInputFormActionDefinition extends Omit { "@type": "OpenOperationInputFormActionDefinition"; } export interface OpenSelectorActionDefinition extends ActionDefinition { "@type": "OpenSelectorActionDefinition"; /** Resolved reference to ActionDefinition this selector is for */ selectorFor?: ActionDefinition; } export interface OpenAddSelectorActionDefinition extends Omit { "@type": "OpenAddSelectorActionDefinition"; } export interface OpenSetSelectorActionDefinition extends Omit { "@type": "OpenSetSelectorActionDefinition"; } export interface OpenOperationInputSelectorActionDefinition extends Omit { "@type": "OpenOperationInputSelectorActionDefinition"; } export interface SelectorRangeActionDefinition extends ActionDefinition { "@type": "SelectorRangeActionDefinition"; } export interface RefreshActionDefinition extends ActionDefinition { "@type": "RefreshActionDefinition"; } export interface CreateActionDefinition extends ActionDefinition { "@type": "CreateActionDefinition"; autoOpenAfterCreate?: boolean; } export interface UpdateActionDefinition extends ActionDefinition { "@type": "UpdateActionDefinition"; autoCloseOnSave?: boolean; } export interface DeleteActionDefinition extends ActionDefinition { "@type": "DeleteActionDefinition"; } export interface BulkDeleteActionDefinition extends ActionDefinition { "@type": "BulkDeleteActionDefinition"; } export interface RowDeleteActionDefinition extends ActionDefinition { "@type": "RowDeleteActionDefinition"; } export interface GetTemplateActionDefinition extends ActionDefinition { "@type": "GetTemplateActionDefinition"; } export interface SetActionDefinition extends ActionDefinition { "@type": "SetActionDefinition"; } export interface UnsetActionDefinition extends ActionDefinition { "@type": "UnsetActionDefinition"; } export interface AddActionDefinition extends ActionDefinition { "@type": "AddActionDefinition"; } export interface RemoveActionDefinition extends ActionDefinition { "@type": "RemoveActionDefinition"; } export interface BulkRemoveActionDefinition extends ActionDefinition { "@type": "BulkRemoveActionDefinition"; } export interface ClearActionDefinition extends ActionDefinition { "@type": "ClearActionDefinition"; } export interface RefreshRelationActionDefinition extends ActionDefinition { "@type": "RefreshRelationActionDefinition"; } export interface FilterRelationActionDefinition extends ActionDefinition { "@type": "FilterRelationActionDefinition"; } export interface FilterActionDefinition extends ActionDefinition { "@type": "FilterActionDefinition"; } export interface ExportActionDefinition extends ActionDefinition { "@type": "ExportActionDefinition"; } export interface InlineCreateRowActionDefinition extends ActionDefinition { "@type": "InlineCreateRowActionDefinition"; } export interface CallOperationActionDefinition extends ActionDefinition { "@type": "CallOperationActionDefinition"; /** Resolved reference to OperationType */ operation: OperationType; } export interface BulkCallOperationActionDefinition extends Omit { "@type": "BulkCallOperationActionDefinition"; } export interface InputFormCallOperationActionDefinition extends Omit { "@type": "InputFormCallOperationActionDefinition"; } export interface InputSelectorCallOperationActionDefinition extends Omit { "@type": "InputSelectorCallOperationActionDefinition"; } export interface ParameterlessCallOperationActionDefinition extends Omit { "@type": "ParameterlessCallOperationActionDefinition"; } export interface AutocompleteRangeActionDefinition extends ActionDefinition { "@type": "AutocompleteRangeActionDefinition"; } export interface AutocompleteSetActionDefinition extends ActionDefinition { "@type": "AutocompleteSetActionDefinition"; } export interface AutocompleteAddActionDefinition extends ActionDefinition { "@type": "AutocompleteAddActionDefinition"; } export interface PreFetchActionDefinition extends ActionDefinition { "@type": "PreFetchActionDefinition"; } export interface CancelActionDefinition extends ActionDefinition { "@type": "CancelActionDefinition"; } export interface CustomActionDefinition extends ActionDefinition { "@type": "CustomActionDefinition"; actionName?: string; } /** * Union type for all action definitions. */ export type AnyActionDefinition = BackActionDefinition | OpenPageActionDefinition | RowOpenPageActionDefinition | OpenFormActionDefinition | OpenCreateFormActionDefinition | OpenOperationInputFormActionDefinition | OpenSelectorActionDefinition | OpenAddSelectorActionDefinition | OpenSetSelectorActionDefinition | OpenOperationInputSelectorActionDefinition | SelectorRangeActionDefinition | RefreshActionDefinition | CreateActionDefinition | UpdateActionDefinition | DeleteActionDefinition | BulkDeleteActionDefinition | RowDeleteActionDefinition | GetTemplateActionDefinition | SetActionDefinition | UnsetActionDefinition | AddActionDefinition | RemoveActionDefinition | BulkRemoveActionDefinition | ClearActionDefinition | RefreshRelationActionDefinition | FilterRelationActionDefinition | FilterActionDefinition | ExportActionDefinition | InlineCreateRowActionDefinition | CallOperationActionDefinition | BulkCallOperationActionDefinition | InputFormCallOperationActionDefinition | InputSelectorCallOperationActionDefinition | ParameterlessCallOperationActionDefinition | AutocompleteRangeActionDefinition | AutocompleteSetActionDefinition | AutocompleteAddActionDefinition | PreFetchActionDefinition | CancelActionDefinition | CustomActionDefinition; //# sourceMappingURL=actions.d.ts.map