From 56a6554ef89bb42dcd6562934817ce2a395ff4a1 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 20 Dec 2022 15:14:18 +0100 Subject: [PATCH] remove custom element and add store context alias to manifest --- .../backoffice/trees/extensions/manifests.ts | 18 ++++ .../backoffice/trees/languages/manifests.ts | 18 ++++ .../src/backoffice/trees/manifests.ts | 93 +++---------------- .../backoffice/trees/media-types/manifests.ts | 20 ++++ .../media-types/tree-media-types.element.ts | 20 ---- .../src/backoffice/trees/media/manifests.ts | 20 ++++ .../trees/media/tree-media.element.ts | 20 ---- .../trees/member-groups/manifests.ts | 20 ++++ .../tree-member-groups.element.ts | 20 ---- .../trees/member-types/manifests.ts | 20 ++++ .../member-types/tree-member-types.element.ts | 20 ---- 11 files changed, 131 insertions(+), 158 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/trees/extensions/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/trees/languages/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/trees/media-types/manifests.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/trees/media-types/tree-media-types.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/trees/media/manifests.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/trees/media/tree-media.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/trees/member-groups/manifests.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/trees/member-groups/tree-member-groups.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/trees/member-types/manifests.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/trees/member-types/tree-member-types.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/extensions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/extensions/manifests.ts new file mode 100644 index 0000000000..4671ec9b04 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/extensions/manifests.ts @@ -0,0 +1,18 @@ +import { ManifestTree } from '@umbraco-cms/extensions-registry'; + +const treeAlias = 'Umb.Tree.Extensions'; + +const tree: ManifestTree = { + type: 'tree', + alias: treeAlias, + name: 'Extensions Tree', + weight: 500, + meta: { + label: 'Extensions', + icon: 'umb:favorite', + sections: ['Umb.Section.Settings'], + rootNodeEntityType: 'extension-root', // TODO: how do we want to handle 'single node trees'. Trees without any children but still needs to open an workspace? Currently an workspace is chosen based on the entity type. The tree root node doesn't have one, so we need to tell which workspace to use. + }, +}; + +export const manifests = [tree]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/languages/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/languages/manifests.ts new file mode 100644 index 0000000000..bc091d0d89 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/languages/manifests.ts @@ -0,0 +1,18 @@ +import type { ManifestTree } from '@umbraco-cms/models'; + +const treeAlias = 'Umb.Tree.Languages'; + +const tree: ManifestTree = { + type: 'tree', + alias: treeAlias, + name: 'Languages Tree', + weight: 100, + meta: { + label: 'Languages', + icon: 'umb:globe', + sections: ['Umb.Section.Settings'], + rootNodeEntityType: 'language-root', // TODO: how do we want to handle 'single node trees'. Trees without any children but still needs to open an workspace? Currently an workspace is chosen based on the entity type. The tree root node doesn't have one, so we need to tell which workspace to use. + }, +}; + +export const manifests = [tree]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/manifests.ts index 2f026943e5..1e794d3f9c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/trees/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/manifests.ts @@ -1,86 +1,23 @@ import { manifests as dataTypeTreeManifests } from './data-types/manifests'; -import { manifests as documentTreeManifests } from './documents/manifests'; import { manifests as documentTypeTreeManifests } from './document-types/manifests'; +import { manifests as documentTreeManifests } from './documents/manifests'; +import { manifests as extensionTreeManifests } from './extensions/manifests'; +import { manifests as languageTreeManifests } from './languages/manifests'; +import { manifests as mediaTreeManifests } from './media/manifests'; +import { manifests as mediaTypeTreeManifests } from './media-types/manifests'; +import { manifests as memberGroupTreeManifests } from './member-groups/manifests'; +import { manifests as memberTypesTreeManifests } from './member-types/manifests'; + import type { ManifestTree, ManifestTreeItemAction } from '@umbraco-cms/models'; export const manifests: Array = [ - ...documentTypeTreeManifests, ...dataTypeTreeManifests, + ...documentTypeTreeManifests, ...documentTreeManifests, - { - type: 'tree', - alias: 'Umb.Tree.Extensions', - name: 'Extensions Tree', - weight: 500, - meta: { - label: 'Extensions', - icon: 'umb:favorite', - sections: ['Umb.Section.Settings'], - rootNodeEntityType: 'extension-root', // TODO: how do we want to handle 'single node trees'. Trees without any children but still needs to open an workspace? Currently an workspace is chosen based on the entity type. The tree root node doesn't have one, so we need to tell which workspace to use. - }, - }, - { - type: 'tree', - alias: 'Umb.Tree.MediaTypes', - name: 'Media Types Tree', - loader: () => import('./media-types/tree-media-types.element'), - weight: 300, - meta: { - label: 'Media Types', - icon: 'umb:folder', - sections: ['Umb.Section.Settings'], - storeContextAlias: 'umbMediaTypeStore', - }, - }, - { - type: 'tree', - alias: 'Umb.Tree.MemberTypes', - name: 'Member Types Tree', - loader: () => import('./member-types/tree-member-types.element'), - weight: 200, - meta: { - label: 'Member Types', - icon: 'umb:folder', - sections: ['Umb.Section.Settings'], - storeContextAlias: 'umbMemberTypeStore', - }, - }, - { - type: 'tree', - alias: 'Umb.Tree.MemberGroups', - name: 'Member Groups Tree', - loader: () => import('./member-groups/tree-member-groups.element'), - weight: 1, - meta: { - label: 'Member Groups', - icon: 'umb:folder', - sections: ['Umb.Section.Members'], - storeContextAlias: 'umbMemberGroupStore', - }, - }, - { - type: 'tree', - alias: 'Umb.Tree.Media', - name: 'Media Tree', - loader: () => import('./media/tree-media.element'), - weight: 100, - meta: { - label: 'Media', - icon: 'umb:folder', - sections: ['Umb.Section.Media'], - storeContextAlias: 'umbMediaStore', - }, - }, - { - type: 'tree', - alias: 'Umb.Tree.Languages', - name: 'Languages Tree', - weight: 100, - meta: { - label: 'Languages', - icon: 'umb:globe', - sections: ['Umb.Section.Settings'], - rootNodeEntityType: 'language-root', // TODO: how do we want to handle 'single node trees'. Trees without any children but still needs to open an workspace? Currently an workspace is chosen based on the entity type. The tree root node doesn't have one, so we need to tell which workspace to use. - }, - }, + ...extensionTreeManifests, + ...languageTreeManifests, + ...mediaTreeManifests, + ...mediaTypeTreeManifests, + ...memberGroupTreeManifests, + ...memberTypesTreeManifests, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/media-types/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/media-types/manifests.ts new file mode 100644 index 0000000000..5e1e7630b3 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/media-types/manifests.ts @@ -0,0 +1,20 @@ +import type { ManifestTree, ManifestTreeItemAction } from '@umbraco-cms/models'; + +const treeAlias = 'Umb.Tree.MemberTypes'; + +const tree: ManifestTree = { + type: 'tree', + alias: treeAlias, + name: 'Member Types Tree', + weight: 200, + meta: { + label: 'Member Types', + icon: 'umb:folder', + sections: ['Umb.Section.Settings'], + storeContextAlias: 'umbMemberTypeStore', + }, +}; + +const treeItemActions: Array = []; + +export const manifests = [tree, ...treeItemActions]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/media-types/tree-media-types.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/media-types/tree-media-types.element.ts deleted file mode 100644 index b0fe87b975..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/trees/media-types/tree-media-types.element.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { html } from 'lit'; -import { customElement } from 'lit/decorators.js'; -import { UmbTreeBase } from '../shared/tree-base.element'; - -import '../shared/tree-navigator.element'; - -@customElement('umb-tree-media-types') -export class UmbTreeMediaTypes extends UmbTreeBase { - render() { - return html``; - } -} - -export default UmbTreeMediaTypes; - -declare global { - interface HTMLElementTagNameMap { - 'umb-tree-media-types': UmbTreeMediaTypes; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/media/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/media/manifests.ts new file mode 100644 index 0000000000..78bae1f6bb --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/media/manifests.ts @@ -0,0 +1,20 @@ +import type { ManifestTree, ManifestTreeItemAction } from '@umbraco-cms/models'; + +const treeAlias = 'Umb.Tree.Media'; + +const tree: ManifestTree = { + type: 'tree', + alias: treeAlias, + name: 'Media Tree', + weight: 100, + meta: { + label: 'Media', + icon: 'umb:folder', + sections: ['Umb.Section.Media'], + storeContextAlias: 'umbMediaStore', + }, +}; + +const treeItemActions: Array = []; + +export const manifests = [tree, ...treeItemActions]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/media/tree-media.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/media/tree-media.element.ts deleted file mode 100644 index 8323c48540..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/trees/media/tree-media.element.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { html } from 'lit'; -import { customElement } from 'lit/decorators.js'; -import { UmbTreeBase } from '../shared/tree-base.element'; - -import '../shared/tree-navigator.element'; - -@customElement('umb-tree-media') -export class UmbTreeMediaElement extends UmbTreeBase { - render() { - return html``; - } -} - -export default UmbTreeMediaElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-tree-media': UmbTreeMediaElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-groups/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-groups/manifests.ts new file mode 100644 index 0000000000..6a2c0086f6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-groups/manifests.ts @@ -0,0 +1,20 @@ +import type { ManifestTree, ManifestTreeItemAction } from '@umbraco-cms/models'; + +const treeAlias = 'Umb.Tree.MemberGroups'; + +const tree: ManifestTree = { + type: 'tree', + alias: treeAlias, + name: 'Member Groups Tree', + weight: 1, + meta: { + label: 'Member Groups', + icon: 'umb:folder', + sections: ['Umb.Section.Members'], + storeContextAlias: 'umbMemberGroupStore', + }, +}; + +const treeItemActions: Array = []; + +export const manifests = [tree, ...treeItemActions]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-groups/tree-member-groups.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-groups/tree-member-groups.element.ts deleted file mode 100644 index 617236e5cf..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-groups/tree-member-groups.element.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { html } from 'lit'; -import { customElement } from 'lit/decorators.js'; -import { UmbTreeBase } from '../shared/tree-base.element'; - -import '../shared/tree-navigator.element'; - -@customElement('umb-tree-member-groups') -export class UmbTreeMemberGroups extends UmbTreeBase { - render() { - return html``; - } -} - -export default UmbTreeMemberGroups; - -declare global { - interface HTMLElementTagNameMap { - 'umb-tree-member-groups': UmbTreeMemberGroups; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-types/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-types/manifests.ts new file mode 100644 index 0000000000..5e1e7630b3 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-types/manifests.ts @@ -0,0 +1,20 @@ +import type { ManifestTree, ManifestTreeItemAction } from '@umbraco-cms/models'; + +const treeAlias = 'Umb.Tree.MemberTypes'; + +const tree: ManifestTree = { + type: 'tree', + alias: treeAlias, + name: 'Member Types Tree', + weight: 200, + meta: { + label: 'Member Types', + icon: 'umb:folder', + sections: ['Umb.Section.Settings'], + storeContextAlias: 'umbMemberTypeStore', + }, +}; + +const treeItemActions: Array = []; + +export const manifests = [tree, ...treeItemActions]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-types/tree-member-types.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-types/tree-member-types.element.ts deleted file mode 100644 index 23ce5b830b..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/trees/member-types/tree-member-types.element.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { html } from 'lit'; -import { customElement } from 'lit/decorators.js'; -import { UmbTreeBase } from '../shared/tree-base.element'; - -import '../shared/tree-navigator.element'; - -@customElement('umb-tree-member-types') -export class UmbTreeMemberTypes extends UmbTreeBase { - render() { - return html``; - } -} - -export default UmbTreeMemberTypes; - -declare global { - interface HTMLElementTagNameMap { - 'umb-tree-member-types': UmbTreeMemberTypes; - } -}