remove custom element and add store context alias to manifest

This commit is contained in:
Mads Rasmussen
2022-12-20 15:14:18 +01:00
parent b1fee91c85
commit 56a6554ef8
11 changed files with 131 additions and 158 deletions

View File

@@ -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];

View File

@@ -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];

View File

@@ -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<ManifestTree | ManifestTreeItemAction> = [
...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,
];

View File

@@ -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<ManifestTreeItemAction> = [];
export const manifests = [tree, ...treeItemActions];

View File

@@ -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`<umb-tree-navigator></umb-tree-navigator>`;
}
}
export default UmbTreeMediaTypes;
declare global {
interface HTMLElementTagNameMap {
'umb-tree-media-types': UmbTreeMediaTypes;
}
}

View File

@@ -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<ManifestTreeItemAction> = [];
export const manifests = [tree, ...treeItemActions];

View File

@@ -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`<umb-tree-navigator></umb-tree-navigator>`;
}
}
export default UmbTreeMediaElement;
declare global {
interface HTMLElementTagNameMap {
'umb-tree-media': UmbTreeMediaElement;
}
}

View File

@@ -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<ManifestTreeItemAction> = [];
export const manifests = [tree, ...treeItemActions];

View File

@@ -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`<umb-tree-navigator store-context-alias="umbMemberGroupStore"></umb-tree-navigator>`;
}
}
export default UmbTreeMemberGroups;
declare global {
interface HTMLElementTagNameMap {
'umb-tree-member-groups': UmbTreeMemberGroups;
}
}

View File

@@ -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<ManifestTreeItemAction> = [];
export const manifests = [tree, ...treeItemActions];

View File

@@ -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`<umb-tree-navigator></umb-tree-navigator>`;
}
}
export default UmbTreeMemberTypes;
declare global {
interface HTMLElementTagNameMap {
'umb-tree-member-types': UmbTreeMemberTypes;
}
}