From 87cc118b4b5251601e8d4c28cde65f84c864fcdd Mon Sep 17 00:00:00 2001 From: leekelleher Date: Tue, 2 Apr 2024 15:56:07 +0100 Subject: [PATCH] Workspace View Collection Kind --- .../models/workspace-view.model.ts | 5 +++ .../workspace-collection/manifests.ts | 36 +++++++++---------- .../documents/workspace/manifests.ts | 20 +++++++++++ .../media/media/workspace/manifests.ts | 20 +++++++++++ 4 files changed, 61 insertions(+), 20 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/workspace-view.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/workspace-view.model.ts index ef3ff0c081..4c6808fc92 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/workspace-view.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/workspace-view.model.ts @@ -15,6 +15,11 @@ export interface ManifestWorkspaceView { + type: 'workspaceView'; + kind: 'collection'; +} + export interface ManifestWorkspaceViewContentTypeDesignEditorKind extends ManifestWorkspaceView { type: 'workspaceView'; kind: 'contentTypeDesignEditor'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-collection/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-collection/manifests.ts index e2e24b46d8..f2795cd8fb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-collection/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-collection/manifests.ts @@ -1,25 +1,21 @@ -import type { ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry'; +import type { UmbBackofficeManifestKind } from '@umbraco-cms/backoffice/extension-registry'; -export const manifests: Array = [ +export const manifests: Array = [ { - type: 'workspaceView', - alias: 'Umb.WorkspaceView.Collection', - name: 'Workspace Collection View', - element: () => import('./workspace-view-collection.element.js'), - weight: 300, - meta: { - label: 'Collection', - pathname: 'collection', - icon: 'icon-grid', + type: 'kind', + alias: 'Umb.Kind.WorkspaceView.Collection', + matchKind: 'collection', + matchType: 'workspaceView', + manifest: { + type: 'workspaceView', + kind: 'collection', + element: () => import('./workspace-view-collection.element.js'), + weight: 300, + meta: { + label: 'Collection', + pathname: 'collection', + icon: 'icon-grid', + }, }, - conditions: [ - { - alias: 'Umb.Condition.WorkspaceAlias', - oneOf: ['Umb.Workspace.Document', 'Umb.Workspace.Media'], - }, - { - alias: 'Umb.Condition.WorkspaceHasCollection', - }, - ], }, ]; 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 dbd1616e94..58ae5cbe44 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 @@ -25,6 +25,26 @@ const workspace: ManifestWorkspaces = { }; const workspaceViews: Array = [ + { + type: 'workspaceView', + kind: 'collection', + alias: 'Umb.WorkspaceView.Document.Collection', + name: 'Document Workspace Collection View', + meta: { + label: 'Collection', + pathname: 'collection', + icon: 'icon-grid', + }, + conditions: [ + { + alias: 'Umb.Condition.WorkspaceAlias', + match: workspace.alias, + }, + { + alias: 'Umb.Condition.WorkspaceHasCollection', + }, + ], + }, { type: 'workspaceView', alias: 'Umb.WorkspaceView.Document.Edit', diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/manifests.ts index 3f9e5c9c0e..fd3ba9acee 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/manifests.ts @@ -17,6 +17,26 @@ const workspace: ManifestWorkspaces = { }; const workspaceViews: Array = [ + { + type: 'workspaceView', + kind: 'collection', + alias: 'Umb.WorkspaceView.Media.Collection', + name: 'Media Workspace Collection View', + meta: { + label: 'Collection', + pathname: 'collection', + icon: 'icon-grid', + }, + conditions: [ + { + alias: 'Umb.Condition.WorkspaceAlias', + match: workspace.alias, + }, + { + alias: 'Umb.Condition.WorkspaceHasCollection', + }, + ], + }, { type: 'workspaceView', alias: 'Umb.WorkspaceView.Media.Edit',