replace custom element with kind type

This commit is contained in:
Niels Lyngsø
2023-03-20 10:45:14 +01:00
parent 496aebd2c0
commit d17a73c86c
13 changed files with 24 additions and 295 deletions

View File

@@ -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`
<uui-menu-item
href=""
label="Document Types"
@show-children=${this._onShowChildren}
@hide-children=${this._onHideChildren}
has-children
><uui-icon slot="icon" name="umb:folder"></uui-icon>
${this._renderTree ? html`<umb-tree alias="Umb.Tree.DocumentTypes"></umb-tree>` : nothing}
</uui-menu-item>
`;
}
}
export default UmbDocumentTypesSidebarMenuItemElement;
declare global {
interface HTMLElementTagNameMap {
'umb-document-types-sidebar-menu-item': UmbDocumentTypesSidebarMenuItemElement;
}
}

View File

@@ -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'],

View File

@@ -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`<uui-menu-item
label="Media Types"
@show-children=${this._onShowChildren}
@hide-children=${this._onHideChildren}
has-children
><uui-icon slot="icon" name="umb:folder"></uui-icon>
${this._renderTree ? html`<umb-tree alias="Umb.Tree.MediaTypes"></umb-tree>` : nothing}
</uui-menu-item>`;
}
}
export default UmbMediaTypesMenuItemElement;
declare global {
interface HTMLElementTagNameMap {
'umb-media-types-menu-item': UmbMediaTypesMenuItemElement;
}
}

View File

@@ -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'],

View File

@@ -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`<uui-menu-item
label="Member Groups"
@show-children=${this._onShowChildren}
@hide-children=${this._onHideChildren}
has-children
><uui-icon slot="icon" name="umb:folder"></uui-icon>
${this._renderTree ? html`<umb-tree alias="Umb.Tree.MemberGroups"></umb-tree>` : nothing}
</uui-menu-item>`;
}
}
export default UmbMemberGroupsMenuItemElement;
declare global {
interface HTMLElementTagNameMap {
'umb-member-groups-menu-item': UmbMemberGroupsMenuItemElement;
}
}

View File

@@ -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'],

View File

@@ -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` <uui-menu-item
label="Member Types"
@show-children=${this._onShowChildren}
@hide-children=${this._onHideChildren}
has-children
><uui-icon slot="icon" name="umb:folder"></uui-icon>
${this._renderTree ? html`<umb-tree alias="Umb.Tree.MemberTypes"></umb-tree>` : nothing}
</uui-menu-item>`;
}
}
export default UmbMemberTypesMenuItemElement;
declare global {
interface HTMLElementTagNameMap {
'umb-member-types-menu-item': UmbMemberTypesMenuItemElement;
}
}

View File

@@ -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'],

View File

@@ -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`<uui-menu-item
label="Members"
@show-children=${this._onShowChildren}
@hide-children=${this._onHideChildren}
has-children
><uui-icon slot="icon" name="umb:folder"></uui-icon>
${this._renderTree ? html`<umb-tree alias="Umb.Tree.Members"></umb-tree>` : nothing}
</uui-menu-item>`;
}
}
export default UmbMembersMenuItemElement;
declare global {
interface HTMLElementTagNameMap {
'umb-members-menu-item': UmbMembersMenuItemElement;
}
}

View File

@@ -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`<uui-menu-item
label="Data Types"
@show-children=${this._onShowChildren}
@hide-children=${this._onHideChildren}
has-children
><uui-icon slot="icon" name="umb:folder"></uui-icon>
${this._renderTree ? html`<umb-tree alias="Umb.Tree.DataTypes"></umb-tree>` : nothing}
</uui-menu-item>`;
}
}
export default UmbDataTypesMenuItemElement;
declare global {
interface HTMLElementTagNameMap {
'umb-data-types-menu-item': UmbDataTypesMenuItemElement;
}
}

View File

@@ -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'],

View File

@@ -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'],

View File

@@ -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`<uui-menu-item
label="Templates"
@show-children=${this._onShowChildren}
@hide-children=${this._onHideChildren}
has-children
><uui-icon slot="icon" name="umb:folder"></uui-icon>
${this._renderTree ? html`<umb-tree alias="Umb.Tree.Templates"></umb-tree>` : nothing}
</uui-menu-item> `;
}
}
export default UmbTemplatesMenuItemElement;
declare global {
interface HTMLElementTagNameMap {
'umb-templates-menu-item': UmbTemplatesMenuItemElement;
}
}