move manifests

This commit is contained in:
Mads Rasmussen
2023-01-02 09:23:16 +01:00
parent 51cb5629a2
commit efb7f1c4a1
8 changed files with 113 additions and 100 deletions

View File

@@ -53,6 +53,7 @@ import { umbExtensionsRegistry } from '@umbraco-cms/extensions-registry';
import type { ManifestTypes } from '@umbraco-cms/models';
// Domains
import '../core';
import '../documents';
import '../media';
import '../translation';

View File

@@ -25,6 +25,84 @@ const dashboards: Array<ManifestDashboard> = [
pathname: 'redirect-management',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.SettingsWelcome',
name: 'Welcome Settings Dashboard',
elementName: 'umb-dashboard-settings-welcome',
loader: () => import('./settings-welcome/dashboard-settings-welcome.element'),
weight: 500,
meta: {
label: 'Welcome',
sections: ['Umb.Section.Settings'],
pathname: 'welcome',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.ExamineManagement',
name: 'Examine Management Dashboard',
elementName: 'umb-dashboard-examine-management',
loader: () => import('./examine-management/dashboard-examine-management.element'),
weight: 400,
meta: {
label: 'Examine Management',
sections: ['Umb.Section.Settings'],
pathname: 'examine-management',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.ModelsBuilder',
name: 'Models Builder Dashboard',
elementName: 'umb-dashboard-models-builder',
loader: () => import('./models-builder/dashboard-models-builder.element'),
weight: 300,
meta: {
label: 'Models Builder',
sections: ['Umb.Section.Settings'],
pathname: 'models-builder',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.PublishedStatus',
name: 'Published Status Dashboard',
elementName: 'umb-dashboard-published-status',
loader: () => import('./published-status/dashboard-published-status.element'),
weight: 200,
meta: {
label: 'Published Status',
sections: ['Umb.Section.Settings'],
pathname: 'published-status',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.Profiling',
name: 'Profiling',
elementName: 'umb-dashboard-performance-profiling',
loader: () => import('./performance-profiling/dashboard-performance-profiling.element'),
weight: 101,
meta: {
label: 'Profiling',
sections: ['Umb.Section.Settings'],
pathname: 'profiling',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.Telemetry',
name: 'Telemetry',
elementName: 'umb-dashboard-telemetry',
loader: () => import('./telemetry/dashboard-telemetry.element'),
weight: 100,
meta: {
label: 'Telemetry Data',
sections: ['Umb.Section.Settings'],
pathname: 'telemetry',
},
},
];
export const manifests = [...dashboards];

View File

@@ -1,6 +1,8 @@
import type { ManifestTree, ManifestTreeItemAction } from '@umbraco-cms/models';
import type { ManifestTree, ManifestTreeItemAction, ManifestWorkspace } from '@umbraco-cms/extensions-registry';
const treeAlias = 'Umb.Tree.DataTypes';
const alias = 'DataType';
const treeAlias = `Umb.Tree.${alias}`;
const workspaceAlias = `Umb.Workspace.${alias}`;
const tree: ManifestTree = {
type: 'tree',
@@ -20,7 +22,7 @@ const treeItemActions: Array<ManifestTreeItemAction> = [
type: 'treeItemAction',
alias: 'Umb.TreeItemAction.DataType.Create',
name: 'Tree Item Action Create',
loader: () => import('./actions/create/action-data-type-create.element'),
loader: () => import('./tree/actions/create/action-data-type-create.element'),
weight: 200,
meta: {
trees: [treeAlias],
@@ -32,7 +34,7 @@ const treeItemActions: Array<ManifestTreeItemAction> = [
type: 'treeItemAction',
alias: 'Umb.TreeItemAction.DataType.Delete',
name: 'Tree Item Action Delete',
loader: () => import('./actions/delete/action-data-type-delete.element'),
loader: () => import('./tree/actions/delete/action-data-type-delete.element'),
weight: 100,
meta: {
trees: [treeAlias],
@@ -42,4 +44,14 @@ const treeItemActions: Array<ManifestTreeItemAction> = [
},
];
export const manifests = [tree, ...treeItemActions];
const workspace: ManifestWorkspace = {
type: 'workspace',
alias: workspaceAlias,
name: 'Data Type Workspace',
loader: () => import('./workspace/workspace-data-type.element'),
meta: {
entityType: 'data-type',
},
};
export const manifests = [tree, ...treeItemActions, workspace];

View File

@@ -0,0 +1,13 @@
import { manifests as dashboardManifests } from './dashboards/manifests';
import { manifests as settingsSectionManifests } from './settings-section/manifests';
import { ManifestTypes, umbExtensionsRegistry } from '@umbraco-cms/extensions-registry';
const registerExtensions = (manifests: Array<ManifestTypes> | Array<ManifestTypes>) => {
manifests.forEach((manifest) => {
if (umbExtensionsRegistry.isRegistered(manifest.alias)) return;
umbExtensionsRegistry.register(manifest);
});
};
registerExtensions([...settingsSectionManifests, ...dashboardManifests]);

View File

@@ -1,4 +1,4 @@
import type { ManifestDashboard, ManifestSection } from '@umbraco-cms/models';
import type { ManifestSection } from '@umbraco-cms/models';
const sectionAlias = 'Umb.Section.Settings';
@@ -13,85 +13,4 @@ const section: ManifestSection = {
},
};
const dashboards: Array<ManifestDashboard> = [
{
type: 'dashboard',
alias: 'Umb.Dashboard.SettingsWelcome',
name: 'Welcome Settings Dashboard',
elementName: 'umb-dashboard-settings-welcome',
loader: () => import('../dashboards/settings-welcome/dashboard-settings-welcome.element'),
weight: 500,
meta: {
label: 'Welcome',
sections: [sectionAlias],
pathname: 'welcome',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.ExamineManagement',
name: 'Examine Management Dashboard',
elementName: 'umb-dashboard-examine-management',
loader: () => import('../dashboards/examine-management/dashboard-examine-management.element'),
weight: 400,
meta: {
label: 'Examine Management',
sections: [sectionAlias],
pathname: 'examine-management',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.ModelsBuilder',
name: 'Models Builder Dashboard',
elementName: 'umb-dashboard-models-builder',
loader: () => import('../dashboards/models-builder/dashboard-models-builder.element'),
weight: 300,
meta: {
label: 'Models Builder',
sections: [sectionAlias],
pathname: 'models-builder',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.PublishedStatus',
name: 'Published Status Dashboard',
elementName: 'umb-dashboard-published-status',
loader: () => import('../dashboards/published-status/dashboard-published-status.element'),
weight: 200,
meta: {
label: 'Published Status',
sections: [sectionAlias],
pathname: 'published-status',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.Profiling',
name: 'Profiling',
elementName: 'umb-dashboard-performance-profiling',
loader: () => import('../dashboards/performance-profiling/dashboard-performance-profiling.element'),
weight: 101,
meta: {
label: 'Profiling',
sections: [sectionAlias],
pathname: 'profiling',
},
},
{
type: 'dashboard',
alias: 'Umb.Dashboard.Telemetry',
name: 'Telemetry',
elementName: 'umb-dashboard-telemetry',
loader: () => import('../dashboards/telemetry/dashboard-telemetry.element'),
weight: 100,
meta: {
label: 'Telemetry Data',
sections: [sectionAlias],
pathname: 'telemetry',
},
},
];
export const manifests = [section, ...dashboards];
export const manifests = [section];

View File

@@ -3,7 +3,6 @@
import { manifests as userSectionManifests } from '../auth/users-section/manifests';
import { manifests as memberSectionManifests } from './members/members-section/manifests';
import { manifests as packageSectionManifests } from './packages/packages-section/manifests';
import { manifests as settingsSectionManifests } from './core/settings-section/manifests';
import type {
ManifestDashboard,
@@ -13,4 +12,4 @@ import type {
} from '@umbraco-cms/models';
export const manifests: Array<ManifestSection | ManifestDashboardCollection | ManifestDashboard | ManifestSectionView> =
[...memberSectionManifests, ...packageSectionManifests, ...settingsSectionManifests, ...userSectionManifests];
[...memberSectionManifests, ...packageSectionManifests, ...userSectionManifests];

View File

@@ -1,6 +1,6 @@
// TODO: temp file until we have a way to register from each extension
import { manifests as dataTypeTreeManifests } from './core/data-types/tree/manifests';
import { manifests as dataTypeTreeManifests } from './core/data-types/manifests';
import { manifests as extensionTreeManifests } from './core/extensions/tree/manifests';
import { manifests as languageTreeManifests } from './core/languages/tree/manifests';
import { manifests as dictionaryTreeManifests } from './translation/dictionary/tree/dictionary-tree.manifest';

View File

@@ -21,15 +21,6 @@ export const manifests: Array<ManifestWorkspace> = [
entityType: 'member-group',
},
},
{
type: 'workspace',
alias: 'Umb.Workspace.DataType',
name: 'Data Type Workspace',
loader: () => import('./core/data-types/workspace/workspace-data-type.element'),
meta: {
entityType: 'data-type',
},
},
{
type: 'workspace',
alias: 'Umb.Workspace.MediaType',