From 75daa16262c856badd353a6cf3b64abb62144ecf Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 2 May 2024 09:44:52 +0200 Subject: [PATCH] add is trashed context to document workspace --- .../workspace/document-workspace.context.ts | 4 ++++ .../documents/workspace/manifests.ts | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts index f8a3f1a47d..4bce5e6a63 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts @@ -58,6 +58,7 @@ import { UmbDocumentBlueprintDetailRepository } from '@umbraco-cms/backoffice/do import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification'; import type { UmbContentWorkspaceContext } from '@umbraco-cms/backoffice/content'; import type { UmbDocumentTypeDetailModel } from '@umbraco-cms/backoffice/document-type'; +import { UmbIsTrashedContext } from '@umbraco-cms/backoffice/recycle-bin'; type EntityType = UmbDocumentDetailModel; export class UmbDocumentWorkspaceContext @@ -155,6 +156,8 @@ export class UmbDocumentWorkspaceContext // TODO: this should be set up for all entity workspace contexts in a base class #entityContext = new UmbEntityContext(this); + // TODO: this might not be the correct place to spin this up + #isTrashedContext = new UmbIsTrashedContext(this); constructor(host: UmbControllerHost) { super(host, UMB_DOCUMENT_WORKSPACE_ALIAS); @@ -231,6 +234,7 @@ export class UmbDocumentWorkspaceContext if (data) { this.#entityContext.setEntityType(UMB_DOCUMENT_ENTITY_TYPE); this.#entityContext.setUnique(unique); + this.#isTrashedContext.setIsTrashed(data.isTrashed); this.setIsNew(false); this.#persistedData.setValue(data); this.#currentData.setValue(data); diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/manifests.ts index 2423cb77f4..50ceeef88d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/manifests.ts @@ -4,6 +4,7 @@ import { UMB_USER_PERMISSION_DOCUMENT_UPDATE, UMB_USER_PERMISSION_DOCUMENT_PUBLISH, } from '../user-permissions/index.js'; +import { UMB_IS_NOT_TRASHED_CONDITION_ALIAS } from '@umbraco-cms/backoffice/recycle-bin'; import type { ManifestWorkspaces, ManifestWorkspaceActions, @@ -102,6 +103,9 @@ const workspaceActions: Array = [ alias: 'Umb.Condition.WorkspaceAlias', match: workspace.alias, }, + { + alias: UMB_IS_NOT_TRASHED_CONDITION_ALIAS, + }, ], }, { @@ -121,6 +125,9 @@ const workspaceActions: Array = [ alias: 'Umb.Condition.WorkspaceAlias', match: workspace.alias, }, + { + alias: UMB_IS_NOT_TRASHED_CONDITION_ALIAS, + }, ], }, { @@ -138,6 +145,9 @@ const workspaceActions: Array = [ alias: 'Umb.Condition.WorkspaceAlias', match: workspace.alias, }, + { + alias: UMB_IS_NOT_TRASHED_CONDITION_ALIAS, + }, ], }, ]; @@ -160,6 +170,9 @@ const workspaceActionMenuItems: Array = [ alias: 'Umb.Condition.UserPermission.Document', allOf: [UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH], }, + { + alias: UMB_IS_NOT_TRASHED_CONDITION_ALIAS, + }, ], }, { @@ -179,6 +192,9 @@ const workspaceActionMenuItems: Array = [ alias: 'Umb.Condition.UserPermission.Document', allOf: [UMB_USER_PERMISSION_DOCUMENT_UPDATE, UMB_USER_PERMISSION_DOCUMENT_PUBLISH], }, + { + alias: UMB_IS_NOT_TRASHED_CONDITION_ALIAS, + }, ], }, { @@ -198,6 +214,9 @@ const workspaceActionMenuItems: Array = [ alias: 'Umb.Condition.UserPermission.Document', allOf: [UMB_USER_PERMISSION_DOCUMENT_UPDATE, UMB_USER_PERMISSION_DOCUMENT_PUBLISH], }, + { + alias: UMB_IS_NOT_TRASHED_CONDITION_ALIAS, + }, ], }, ];