diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/manifests.ts index b0b5322c9e..2a7eed5f84 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/manifests.ts @@ -79,7 +79,7 @@ const entityActions: Array = [ api: UmbPublishDocumentEntityAction, meta: { icon: 'icon-globe', - label: 'Publish (TBD)', + label: 'Publish', repositoryAlias: UMB_DOCUMENT_DETAIL_REPOSITORY_ALIAS, entityTypes: [UMB_DOCUMENT_ENTITY_TYPE], }, @@ -91,7 +91,7 @@ const entityActions: Array = [ api: UmbUnpublishDocumentEntityAction, meta: { icon: 'icon-globe', - label: 'Unpublish (TBD)', + label: 'Unpublish', repositoryAlias: UMB_DOCUMENT_DETAIL_REPOSITORY_ALIAS, entityTypes: [UMB_DOCUMENT_ENTITY_TYPE], }, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/publish.action.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/publish.action.ts index 47b25c5c70..d7c794512d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/publish.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/publish.action.ts @@ -1,15 +1,21 @@ +import { UMB_DOCUMENT_VARIANT_MANAGER_CONTEXT } from '../global-contexts/index.js'; import type { UmbDocumentPublishingRepository } from '../repository/index.js'; import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; export class UmbPublishDocumentEntityAction extends UmbEntityActionBase { + #variantManagerContext?: typeof UMB_DOCUMENT_VARIANT_MANAGER_CONTEXT.TYPE; + constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string, entityType: string) { super(host, repositoryAlias, unique, entityType); + + this.consumeContext(UMB_DOCUMENT_VARIANT_MANAGER_CONTEXT, (context) => { + this.#variantManagerContext = context; + }); } async execute() { - console.log(`publish: ${this.unique}`); - // TODO: implement dialog or something to handle variants. - //await this.repository?.publish(); + if (!this.#variantManagerContext) throw new Error('Variant manager context is missing'); + await this.#variantManagerContext.publish(this.unique); } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/unpublish.action.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/unpublish.action.ts index 3ffdbec308..978963da48 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/unpublish.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/unpublish.action.ts @@ -1,15 +1,21 @@ +import { UMB_DOCUMENT_VARIANT_MANAGER_CONTEXT } from '../global-contexts/index.js'; import type { UmbDocumentPublishingRepository } from '../repository/index.js'; import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; export class UmbUnpublishDocumentEntityAction extends UmbEntityActionBase { + #variantManagerContext?: typeof UMB_DOCUMENT_VARIANT_MANAGER_CONTEXT.TYPE; + constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string, entityType: string) { super(host, repositoryAlias, unique, entityType); + + this.consumeContext(UMB_DOCUMENT_VARIANT_MANAGER_CONTEXT, (context) => { + this.#variantManagerContext = context; + }); } async execute() { - console.log(`unpublish: ${this.unique}`); - // TODO: implement dialog or something to handle variants. - //await this.repository?.unpublish(); + if (!this.#variantManagerContext) throw new Error('Variant manager context is missing'); + await this.#variantManagerContext.unpublish(this.unique); } }