wire up publish/unpublish entity actions with the variant manager context
This commit is contained in:
@@ -79,7 +79,7 @@ const entityActions: Array<ManifestTypes> = [
|
||||
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<ManifestTypes> = [
|
||||
api: UmbUnpublishDocumentEntityAction,
|
||||
meta: {
|
||||
icon: 'icon-globe',
|
||||
label: 'Unpublish (TBD)',
|
||||
label: 'Unpublish',
|
||||
repositoryAlias: UMB_DOCUMENT_DETAIL_REPOSITORY_ALIAS,
|
||||
entityTypes: [UMB_DOCUMENT_ENTITY_TYPE],
|
||||
},
|
||||
|
||||
@@ -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<UmbDocumentPublishingRepository> {
|
||||
#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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<UmbDocumentPublishingRepository> {
|
||||
#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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user