add is trashed context to document workspace

This commit is contained in:
Mads Rasmussen
2024-05-02 09:44:52 +02:00
parent 420fe4c813
commit 75daa16262
2 changed files with 23 additions and 0 deletions

View File

@@ -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);

View File

@@ -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<ManifestWorkspaceActions> = [
alias: 'Umb.Condition.WorkspaceAlias',
match: workspace.alias,
},
{
alias: UMB_IS_NOT_TRASHED_CONDITION_ALIAS,
},
],
},
{
@@ -121,6 +125,9 @@ const workspaceActions: Array<ManifestWorkspaceActions> = [
alias: 'Umb.Condition.WorkspaceAlias',
match: workspace.alias,
},
{
alias: UMB_IS_NOT_TRASHED_CONDITION_ALIAS,
},
],
},
{
@@ -138,6 +145,9 @@ const workspaceActions: Array<ManifestWorkspaceActions> = [
alias: 'Umb.Condition.WorkspaceAlias',
match: workspace.alias,
},
{
alias: UMB_IS_NOT_TRASHED_CONDITION_ALIAS,
},
],
},
];
@@ -160,6 +170,9 @@ const workspaceActionMenuItems: Array<ManifestWorkspaceActionMenuItem> = [
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<ManifestWorkspaceActionMenuItem> = [
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<ManifestWorkspaceActionMenuItem> = [
alias: 'Umb.Condition.UserPermission.Document',
allOf: [UMB_USER_PERMISSION_DOCUMENT_UPDATE, UMB_USER_PERMISSION_DOCUMENT_PUBLISH],
},
{
alias: UMB_IS_NOT_TRASHED_CONDITION_ALIAS,
},
],
},
];