use tree kind for relation types menu item

This commit is contained in:
Mads Rasmussen
2023-03-23 09:00:25 +01:00
parent cd32c72ad5
commit ca31c16efb
2 changed files with 4 additions and 44 deletions

View File

@@ -1,15 +1,15 @@
import type { ManifestMenuItem } from '@umbraco-cms/backoffice/extensions-registry';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry';
const menuItem: ManifestMenuItem = {
const menuItem: ManifestTypes = {
type: 'menuItem',
kind: 'tree',
alias: 'Umb.MenuItem.RelationTypes',
name: 'Relation Types Menu Item',
weight: 40,
loader: () => import('./relation-types-menu-item.element'),
meta: {
treeAlias: 'Umb.Tree.RelationTypes',
label: 'Relation Types',
icon: 'umb:folder',
entityType: 'relation-type',
},
conditions: {
menus: ['Umb.Menu.Settings'],

View File

@@ -1,40 +0,0 @@
import { html, nothing } from 'lit';
import { customElement, state } from 'lit/decorators.js';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
@customElement('umb-relation-types-menu-item')
export class UmbRelationTypesMenuItemElement 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`<umb-tree-item
label="Relation Types"
icon="umb:folder"
entity-type="relation-type"
@show-children=${this._onShowChildren}
@hide-children=${this._onHideChildren}
has-children>
${this._renderTree ? html`<umb-tree alias="Umb.Tree.RelationTypes"></umb-tree>` : nothing}
</umb-tree-item> `;
}
}
export default UmbRelationTypesMenuItemElement;
declare global {
interface HTMLElementTagNameMap {
'umb-relation-types-menu-item': UmbRelationTypesMenuItemElement;
}
}