diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create.action.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create.action.ts index 4fd091a750..259efa03cd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create.action.ts @@ -1,27 +1,23 @@ -import type { UmbDocumentDetailRepository } from '../../repository/index.js'; import { UmbDocumentItemRepository } from '../../repository/index.js'; import { UMB_DOCUMENT_CREATE_OPTIONS_MODAL } from './document-create-options-modal.token.js'; +import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action'; import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; -export class UmbCreateDocumentEntityAction extends UmbEntityActionBase { - #itemRepository; - - constructor(host: UmbControllerHost, repositoryAlias: string, unique: string, entityType: string) { - super(host, repositoryAlias, unique, entityType); - this.#itemRepository = new UmbDocumentItemRepository(host); +export class UmbCreateDocumentEntityAction extends UmbEntityActionBase { + constructor(host: UmbControllerHost, args: UmbEntityActionArgs) { + super(host, args); } async execute() { - if (!this.repository) return; - // default to root let documentItem = null; - if (this.unique) { + if (this.args.unique) { // get document item to get the doc type id - const { data, error } = await this.#itemRepository.requestItems([this.unique]); + const itemRepository = new UmbDocumentItemRepository(this._host); + const { data, error } = await itemRepository.requestItems([this.args.unique]); if (error || !data) throw new Error(`Failed to load document item`); documentItem = data[0]; } @@ -29,11 +25,13 @@ export class UmbCreateDocumentEntityAction extends UmbEntityActionBase { + constructor(host: UmbControllerHost, args: UmbEntityActionArgs) { + super(host, args); + } -export class UmbPublishDocumentEntityAction extends UmbEntityActionBase { async execute() { - if (!this.unique) throw new Error('The document unique identifier is missing'); + if (!this.args.unique) throw new Error('The document unique identifier is missing'); const languageRepository = new UmbLanguageCollectionRepository(this._host); const { data: languageData } = await languageRepository.requestCollection({}); const documentRepository = new UmbDocumentDetailRepository(this._host); - const { data: documentData } = await documentRepository.requestByUnique(this.unique); + const { data: documentData } = await documentRepository.requestByUnique(this.args.unique); if (!documentData) throw new Error('The document was not found'); @@ -21,7 +27,7 @@ export class UmbPublishDocumentEntityAction extends UmbEntityActionBase if (documentData.variants.length === 1) { const variantId = UmbVariantId.Create(documentData.variants[0]); const publishingRepository = new UmbDocumentPublishingRepository(this._host); - await publishingRepository.publish(this.unique, [variantId]); + await publishingRepository.publish(this.args.unique, [variantId]); return; } @@ -48,7 +54,9 @@ export class UmbPublishDocumentEntityAction extends UmbEntityActionBase if (selectedVariants.length) { const publishingRepository = new UmbDocumentPublishingRepository(this._host); - await publishingRepository.publish(this.unique, selectedVariants); + await publishingRepository.publish(this.args.unique, selectedVariants); } } + + destroy(): void {} }