diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/action/collection-action-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/action/collection-action-base.ts index 98a24a9c53..782a402ab9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/action/collection-action-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/action/collection-action-base.ts @@ -1,27 +1,10 @@ -import { UMB_COLLECTION_CONTEXT } from '../index.js'; -import { UmbCollectionContext } from '../types.js'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { UmbBaseController } from '@umbraco-cms/backoffice/controller-api'; import type { UmbApi } from '@umbraco-cms/backoffice/extension-api'; -export interface UmbCollectionAction extends UmbApi { - host: UmbControllerHost; - collectionContext?: CollectionContextType; +export interface UmbCollectionAction extends UmbApi { execute(): Promise; } -export abstract class UmbCollectionActionBase - implements UmbCollectionAction -{ - host: UmbControllerHost; - collectionContext?: CollectionContextType; - constructor(host: UmbControllerHost) { - this.host = host; - - new UmbContextConsumerController(this.host, UMB_COLLECTION_CONTEXT, (instance) => { - // TODO: Be aware we are casting here. We should consider a better solution for typing the contexts. (But notice we still want to capture the collection workspace...) - this.collectionContext = instance as unknown as CollectionContextType; - }); - } +export abstract class UmbCollectionActionBase extends UmbBaseController implements UmbCollectionAction { abstract execute(): Promise; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/collection/action/create-user.collection-action.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/collection/action/create-user.collection-action.ts index de040e9b7d..0a011eb75e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/collection/action/create-user.collection-action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/collection/action/create-user.collection-action.ts @@ -1,6 +1,4 @@ -import { UmbUserCollectionContext } from '../user-collection.context.js'; import { UmbCollectionActionBase } from '@umbraco-cms/backoffice/collection'; -import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; import { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UMB_CREATE_USER_MODAL, @@ -8,13 +6,13 @@ import { UmbModalManagerContext, } from '@umbraco-cms/backoffice/modal'; -export class UmbCreateUserCollectionAction extends UmbCollectionActionBase { +export class UmbCreateUserCollectionAction extends UmbCollectionActionBase { #modalManagerContext: UmbModalManagerContext | undefined; constructor(host: UmbControllerHost) { super(host); - new UmbContextConsumerController(this.host, UMB_MODAL_MANAGER_CONTEXT_TOKEN, (instance) => { + this.consumeContext(UMB_MODAL_MANAGER_CONTEXT_TOKEN, (instance) => { this.#modalManagerContext = instance; }); } @@ -23,7 +21,4 @@ export class UmbCreateUserCollectionAction extends UmbCollectionActionBase { +export class UmbInviteUserCollectionAction extends UmbCollectionActionBase { #modalManagerContext: UmbModalManagerContext | undefined; constructor(host: UmbControllerHost) { super(host); - new UmbContextConsumerController(this.host, UMB_MODAL_MANAGER_CONTEXT_TOKEN, (instance) => { + this.consumeContext(UMB_MODAL_MANAGER_CONTEXT_TOKEN, (instance) => { this.#modalManagerContext = instance; }); } @@ -23,7 +21,4 @@ export class UmbInviteUserCollectionAction extends UmbCollectionActionBase