From 5538e49f97daa62c0c69ca60d3d1adbdc96eb178 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Sat, 2 Mar 2024 23:22:26 +0100 Subject: [PATCH] add action base class --- .../src/packages/core/action/action-base.ts | 15 +++++++++++++++ .../src/packages/core/action/action.interface.ts | 2 -- .../src/packages/core/action/index.ts | 1 + 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/action/action-base.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/action/action-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/action/action-base.ts new file mode 100644 index 0000000000..30a4c81a31 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/action/action-base.ts @@ -0,0 +1,15 @@ +import type { UmbAction } from './action.interface.js'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; + +export abstract class UmbActionBase implements UmbAction { + public args: ArgsType; + protected _host: UmbControllerHost; + + constructor(host: UmbControllerHost, args: ArgsType) { + this._host = host; + this.args = args; + } + + abstract execute(): Promise; + abstract destroy(): Promise; +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/action/action.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/action/action.interface.ts index b61b623f7f..f6f22cb5d6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/action/action.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/action/action.interface.ts @@ -1,8 +1,6 @@ -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbApi } from '@umbraco-cms/backoffice/extension-api'; export interface UmbAction extends UmbApi { args: ArgsType; execute(): Promise; - _host: UmbControllerHost; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/action/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/action/index.ts index a4d3ea07fe..f3b6f06dde 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/action/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/action/index.ts @@ -1,2 +1,3 @@ export * from './action.interface.js'; export * from './action-event.context.js'; +export * from './action-base.js';