From d17a73c86c4fe1daf6fc2c961dd18f30b1e9127c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Mon, 20 Mar 2023 10:45:14 +0100 Subject: [PATCH] replace custom element with kind type --- .../document-types-menu-item.element.ts | 43 ------------------- .../media/media-types/menu-item/manifests.ts | 7 +-- .../media-types-menu-item.element.ts | 39 ----------------- .../member-groups/menu-item/manifests.ts | 7 +-- .../member-groups-menu-item.element.ts | 39 ----------------- .../member-types/menu-item/manifests.ts | 7 +-- .../member-types-menu-item.element.ts | 39 ----------------- .../members/members/menu-item/manifests.ts | 7 +-- .../menu-item/members-menu-item.element.ts | 39 ----------------- .../menu-item/data-types-menu-item.element.ts | 39 ----------------- .../data-types/menu-item/manifests.ts | 7 +-- .../templates/menu-item/manifests.ts | 7 +-- .../menu-item/templates-menu-item.element.ts | 39 ----------------- 13 files changed, 24 insertions(+), 295 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/document-types-menu-item.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/media-types-menu-item.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/member-groups-menu-item.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/member-types-menu-item.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/members-menu-item.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/data-types-menu-item.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/menu-item/templates-menu-item.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/document-types-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/document-types-menu-item.element.ts deleted file mode 100644 index 7362cf82cb..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/document-types-menu-item.element.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -// TODO: align menu items and tree items -@customElement('umb-document-types-sidebar-menu-item') -export class UmbDocumentTypesSidebarMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - - ${this._renderTree ? html`` : nothing} - - `; - } -} - -export default UmbDocumentTypesSidebarMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-document-types-sidebar-menu-item': UmbDocumentTypesSidebarMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/manifests.ts index cdbdf67653..6267868b06 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/manifests.ts @@ -1,14 +1,15 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/models'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'Umb.Kind.Tree', alias: 'Umb.MenuItem.MediaTypes', name: 'Media Types Menu Item', weight: 20, - loader: () => import('./media-types-menu-item.element'), meta: { label: 'Media Types', icon: 'umb:folder', + treeAlias: 'Umb.Tree.MediaTypes', }, conditions: { menus: ['Umb.Menu.Settings'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/media-types-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/media-types-menu-item.element.ts deleted file mode 100644 index f4c95d9248..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/media-types-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-media-types-menu-item') -export class UmbMediaTypesMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbMediaTypesMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-media-types-menu-item': UmbMediaTypesMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/manifests.ts index e9880b658f..d8ec4611da 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/manifests.ts @@ -1,14 +1,15 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/models'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'Umb.Kind.Tree', alias: 'Umb.MenuItem.MemberGroups', name: 'Member Groups Menu Item', weight: 800, - loader: () => import('./member-groups-menu-item.element'), meta: { label: 'Member Groups', icon: 'umb:folder', + treeAlias: 'Umb.Tree.MemberGroups', }, conditions: { menus: ['Umb.Menu.Members'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/member-groups-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/member-groups-menu-item.element.ts deleted file mode 100644 index 2a215bad63..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/member-groups-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-member-groups-menu-item') -export class UmbMemberGroupsMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbMemberGroupsMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-member-groups-menu-item': UmbMemberGroupsMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/manifests.ts index 02c64aa21a..66a50d0d98 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/manifests.ts @@ -1,14 +1,15 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/models'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'Umb.Kind.Tree', alias: 'Umb.MenuItem.MemberTypes', name: 'Member Types Menu Item', weight: 30, - loader: () => import('./member-types-menu-item.element'), meta: { label: 'Member Types', icon: 'umb:folder', + treeAlias: 'Umb.Tree.MemberTypes', }, conditions: { menus: ['Umb.Menu.Settings'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/member-types-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/member-types-menu-item.element.ts deleted file mode 100644 index d1bcb90473..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/member-types-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-member-types-menu-item') -export class UmbMemberTypesMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbMemberTypesMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-member-types-menu-item': UmbMemberTypesMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/manifests.ts index 375f8a5ac5..5ecad97b1a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/manifests.ts @@ -1,15 +1,16 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/models'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'Umb.Kind.Tree', alias: 'Umb.MenuItem.Members', name: 'Members Menu Item', weight: 400, - loader: () => import('./members-menu-item.element'), meta: { label: 'Members', icon: 'umb:folder', entityType: 'member', + treeAlias: 'Umb.Tree.Members', }, conditions: { menus: ['Umb.Menu.Members'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/members-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/members-menu-item.element.ts deleted file mode 100644 index 2d89af68e8..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/members-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-members-menu-item') -export class UmbMembersMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbMembersMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-members-menu-item': UmbMembersMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/data-types-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/data-types-menu-item.element.ts deleted file mode 100644 index 47ad62cf81..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/data-types-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-data-types-menu-item') -export class UmbDataTypesMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbDataTypesMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-data-types-menu-item': UmbDataTypesMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/manifests.ts index 75408bab4d..0b633f5894 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/manifests.ts @@ -1,15 +1,16 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/models'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'Umb.Kind.Tree', alias: 'Umb.MenuItem.DataTypes', name: 'Data Types Menu Item', weight: 40, - loader: () => import('./data-types-menu-item.element'), meta: { label: 'Data Types', icon: 'umb:folder', entityType: 'data-type', + treeAlias: 'Umb.Tree.DataTypes', }, conditions: { menus: ['Umb.Menu.Settings'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/menu-item/manifests.ts index 6ae9d7ce71..9c76e7ee90 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/menu-item/manifests.ts @@ -1,15 +1,16 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/models'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'Umb.Kind.Tree', alias: 'Umb.MenuItem.Templates', name: 'Templates Menu Item', weight: 40, - loader: () => import('./templates-menu-item.element'), meta: { label: 'Templates', icon: 'umb:folder', entityType: 'template', + treeAlias: 'Umb.Tree.Templates', }, conditions: { menus: ['Umb.Menu.Templating'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/menu-item/templates-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/menu-item/templates-menu-item.element.ts deleted file mode 100644 index b596857303..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/menu-item/templates-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-templates-menu-item') -export class UmbTemplatesMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbTemplatesMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-templates-menu-item': UmbTemplatesMenuItemElement; - } -}