From b873ac17b719953789d845b766d173357ffe31ac Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 22 May 2024 14:32:26 +0200 Subject: [PATCH 1/9] use root entity type for root --- .../tree/document-blueprint-tree.repository.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/document-blueprint-tree.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/document-blueprint-tree.repository.ts index ac03769d7e..1693ffb46b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/document-blueprint-tree.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/document-blueprint-tree.repository.ts @@ -1,4 +1,4 @@ -import { UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE } from '../entity.js'; +import { UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE } from '../entity.js'; import { UmbDocumentBlueprintTreeServerDataSource } from './document-blueprint-tree.server.data-source.js'; import { UMB_DOCUMENT_BLUEPRINT_TREE_STORE_CONTEXT } from './document-blueprint-tree.store.js'; import type { UmbDocumentBlueprintTreeItemModel, UmbDocumentBlueprintTreeRootModel } from './types.js'; @@ -20,7 +20,7 @@ export class UmbDocumentBlueprintTreeRepository const data: UmbDocumentBlueprintTreeRootModel = { unique: null, - entityType: UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, + entityType: UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, name: 'Document Blueprints', hasChildren, isFolder: true, From f4615cb48f5c3f67cbcc3177ceeb3fe18bc7a712 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 22 May 2024 14:32:41 +0200 Subject: [PATCH 2/9] add root type to interface --- .../documents/document-blueprints/tree/types.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/types.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/types.ts index 4c3b9491b5..44cc7dcae7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/types.ts @@ -1,7 +1,13 @@ -import type { UmbDocumentBlueprintEntityType, UmbDocumentBlueprintFolderEntityType } from '../entity.js'; +import type { + UmbDocumentBlueprintEntityType, + UmbDocumentBlueprintFolderEntityType, + UmbDocumentBlueprintRootEntityType, +} from '../entity.js'; import type { UmbTreeItemModel, UmbTreeRootModel } from '@umbraco-cms/backoffice/tree'; -export interface UmbDocumentBlueprintTreeRootModel extends UmbTreeRootModel {} +export interface UmbDocumentBlueprintTreeRootModel extends UmbTreeRootModel { + entityType: UmbDocumentBlueprintRootEntityType; +} export interface UmbDocumentBlueprintTreeItemModel extends UmbTreeItemModel { entityType: UmbDocumentBlueprintEntityType | UmbDocumentBlueprintFolderEntityType; From aefac1bbdb17b099ead0d4cf649c4fa664daa047 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 22 May 2024 14:32:53 +0200 Subject: [PATCH 3/9] show reload on root --- .../tree/reload-tree-item-children/manifests.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/reload-tree-item-children/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/reload-tree-item-children/manifests.ts index 54c0de35fa..d9b973991c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/reload-tree-item-children/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/reload-tree-item-children/manifests.ts @@ -1,4 +1,8 @@ -import { UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE } from '../../entity.js'; +import { + UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, +} from '../../entity.js'; import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry'; export const manifests: Array = [ @@ -7,7 +11,11 @@ export const manifests: Array = [ kind: 'reloadTreeItemChildren', alias: 'Umb.EntityAction.DocumentBlueprint.Tree.ReloadChildrenOf', name: 'Reload Document Blueprint Tree Item Children Entity Action', - forEntityTypes: [UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE], + forEntityTypes: [ + UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, + ], meta: {}, }, ]; From 07798062589a479ffc64a352e1e47bf6744bc2e6 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 22 May 2024 14:33:06 +0200 Subject: [PATCH 4/9] show create on root --- .../entity-actions/create/manifests.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/manifests.ts index 8de72a79c3..e59e3cd988 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/manifests.ts @@ -1,4 +1,8 @@ -import { UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE } from '../../entity.js'; +import { + UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, +} from '../../entity.js'; import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry'; const entityActions: Array = [ @@ -9,7 +13,11 @@ const entityActions: Array = [ name: 'Document Blueprint Options Create Entity Action', weight: 1200, api: () => import('./create.action.js'), - forEntityTypes: [UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE], + forEntityTypes: [ + UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, + ], meta: { icon: 'icon-add', label: '#actions_createblueprint', From 99f248dba6398a00579fd39a284e7788c4d5dc9e Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 22 May 2024 14:33:17 +0200 Subject: [PATCH 5/9] use the default tree item for root --- .../documents/document-blueprints/tree/manifests.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/manifests.ts index 041906b74a..e69a25717f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/manifests.ts @@ -1,4 +1,8 @@ -import { UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE } from '../entity.js'; +import { + UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, +} from '../entity.js'; import { UMB_DOCUMENT_BLUEPRINT_TREE_ALIAS, UMB_DOCUMENT_BLUEPRINT_TREE_REPOSITORY_ALIAS, @@ -45,7 +49,11 @@ const treeItem: ManifestTreeItem = { kind: 'default', alias: 'Umb.TreeItem.DocumentBlueprint', name: 'Document Blueprint Tree Item', - forEntityTypes: [UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE], + forEntityTypes: [ + UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, + UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, + ], }; export const manifests: Array = [ From 43791376424e91161d0394d341b8dd39095708f9 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 22 May 2024 14:47:22 +0200 Subject: [PATCH 6/9] pass entity type to create url --- .../entity-actions/create/create.action.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/create.action.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/create.action.ts index 52ee5e6f76..01174522e2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/create.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/create.action.ts @@ -1,4 +1,4 @@ -import { UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE } from '../../entity.js'; +import { UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE } from '../../entity.js'; import { UMB_DOCUMENT_BLUEPRINT_OPTIONS_CREATE_MODAL } from './modal/index.js'; import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action'; import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; @@ -26,7 +26,7 @@ export class UmbCreateEntityAction extends UmbEntityActionBase { const documentTypeUnique = modalContext.getValue().documentTypeUnique; if (!documentTypeUnique) return; - const url = `section/settings/workspace/${UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE}/create/parent/${UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE}/${this.args.unique ?? 'null'}/${documentTypeUnique}`; + const url = `section/settings/workspace/${UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE}/create/parent/${this.args.entityType}/${this.args.unique ?? 'null'}/${documentTypeUnique}`; history.pushState(null, '', url); } } From 3cd26c1d269ff9601021eac9c5648891709cb0ab Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 22 May 2024 14:48:56 +0200 Subject: [PATCH 7/9] remove unused import --- .../document-blueprints/entity-actions/create/create.action.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/create.action.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/create.action.ts index 01174522e2..ad3b904718 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/create.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/create.action.ts @@ -1,4 +1,4 @@ -import { UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE } from '../../entity.js'; +import { UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE } from '../../entity.js'; import { UMB_DOCUMENT_BLUEPRINT_OPTIONS_CREATE_MODAL } from './modal/index.js'; import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action'; import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; From 4cd6cd621df7789df698a3d479283255ba4d6c4f Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 22 May 2024 14:49:43 +0200 Subject: [PATCH 8/9] don't allow creating nested blue prints --- .../entity-actions/create/manifests.ts | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/manifests.ts index e59e3cd988..6f9d7d6b9b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/entity-actions/create/manifests.ts @@ -1,8 +1,4 @@ -import { - UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, - UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, - UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, -} from '../../entity.js'; +import { UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE } from '../../entity.js'; import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry'; const entityActions: Array = [ @@ -13,11 +9,7 @@ const entityActions: Array = [ name: 'Document Blueprint Options Create Entity Action', weight: 1200, api: () => import('./create.action.js'), - forEntityTypes: [ - UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, - UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, - UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, - ], + forEntityTypes: [UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE], meta: { icon: 'icon-add', label: '#actions_createblueprint', From 39438f20bb895b40e161952bd382bea13a67c75b Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 22 May 2024 14:53:35 +0200 Subject: [PATCH 9/9] don't allow reload of document blueprint entity --- .../tree/reload-tree-item-children/manifests.ts | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/reload-tree-item-children/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/reload-tree-item-children/manifests.ts index d9b973991c..4fb57f4e6d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/reload-tree-item-children/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-blueprints/tree/reload-tree-item-children/manifests.ts @@ -1,8 +1,4 @@ -import { - UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, - UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, - UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, -} from '../../entity.js'; +import { UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE } from '../../entity.js'; import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry'; export const manifests: Array = [ @@ -11,11 +7,7 @@ export const manifests: Array = [ kind: 'reloadTreeItemChildren', alias: 'Umb.EntityAction.DocumentBlueprint.Tree.ReloadChildrenOf', name: 'Reload Document Blueprint Tree Item Children Entity Action', - forEntityTypes: [ - UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, - UMB_DOCUMENT_BLUEPRINT_ENTITY_TYPE, - UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE, - ], + forEntityTypes: [UMB_DOCUMENT_BLUEPRINT_ROOT_ENTITY_TYPE, UMB_DOCUMENT_BLUEPRINT_FOLDER_ENTITY_TYPE], meta: {}, }, ];