From 51cb5629a21a5be9534d2434dfe49e840c53fa4b Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 23 Dec 2022 18:19:20 +0100 Subject: [PATCH] register media section from media domain --- .../src/backoffice/core/backoffice.element.ts | 1 + .../backoffice/core/dashboards/manifests.ts | 30 +++++++++++++ .../content-section.manifest.ts | 43 ------------------- .../documents/content-section/manifests.ts | 16 +++++++ .../src/backoffice/documents/index.ts | 3 +- .../src/backoffice/media/index.ts | 12 ++++++ .../media/media-section/manifests.ts | 2 +- .../src/backoffice/sections.manifest.ts | 11 +---- 8 files changed, 63 insertions(+), 55 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/core/dashboards/manifests.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/documents/content-section/content-section.manifest.ts create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/documents/content-section/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/media/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/core/backoffice.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/core/backoffice.element.ts index cd0cb09d19..a28c3381fb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/core/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/core/backoffice.element.ts @@ -54,6 +54,7 @@ import type { ManifestTypes } from '@umbraco-cms/models'; // Domains import '../documents'; +import '../media'; import '../translation'; @defineElement('umb-backoffice') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/core/dashboards/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/core/dashboards/manifests.ts new file mode 100644 index 0000000000..ae60f2a171 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/core/dashboards/manifests.ts @@ -0,0 +1,30 @@ +import type { ManifestDashboard } from '@umbraco-cms/models'; + +const dashboards: Array = [ + { + type: 'dashboard', + alias: 'Umb.Dashboard.Welcome', + name: 'Welcome Dashboard', + loader: () => import('./welcome/dashboard-welcome.element'), + weight: 20, + meta: { + label: 'Welcome', + sections: ['Umb.Section.Content'], + pathname: 'welcome', + }, + }, + { + type: 'dashboard', + alias: 'Umb.Dashboard.RedirectManagement', + name: 'Redirect Management Dashboard', + loader: () => import('./redirect-management/dashboard-redirect-management.element'), + weight: 10, + meta: { + label: 'Redirect Management', + sections: ['Umb.Section.Content'], + pathname: 'redirect-management', + }, + }, +]; + +export const manifests = [...dashboards]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/content-section/content-section.manifest.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/content-section/content-section.manifest.ts deleted file mode 100644 index f676ca38c7..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/content-section/content-section.manifest.ts +++ /dev/null @@ -1,43 +0,0 @@ -import type { ManifestDashboard, ManifestSection } from '@umbraco-cms/models'; - -const sectionAlias = 'Umb.Section.Content'; - -const section: ManifestSection = { - type: 'section', - alias: sectionAlias, - name: 'Content Section', - weight: 600, - meta: { - label: 'Content', - pathname: 'content', - }, -}; - -const dashboards: Array = [ - { - type: 'dashboard', - alias: 'Umb.Dashboard.Welcome', - name: 'Welcome Dashboard', - loader: () => import('../../core/dashboards/welcome/dashboard-welcome.element'), - weight: 20, - meta: { - label: 'Welcome', - sections: [sectionAlias], - pathname: 'welcome', - }, - }, - { - type: 'dashboard', - alias: 'Umb.Dashboard.RedirectManagement', - name: 'Redirect Management Dashboard', - loader: () => import('../../core/dashboards/redirect-management/dashboard-redirect-management.element'), - weight: 10, - meta: { - label: 'Redirect Management', - sections: [sectionAlias], - pathname: 'redirect-management', - }, - }, -]; - -export const manifests = [section, ...dashboards]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/content-section/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/content-section/manifests.ts new file mode 100644 index 0000000000..790571c8f5 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/content-section/manifests.ts @@ -0,0 +1,16 @@ +import type { ManifestSection } from '@umbraco-cms/models'; + +const sectionAlias = 'Umb.Section.Content'; + +const section: ManifestSection = { + type: 'section', + alias: sectionAlias, + name: 'Content Section', + weight: 600, + meta: { + label: 'Content', + pathname: 'content', + }, +}; + +export const manifests = [section]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/index.ts index d65d3302e4..cb86cf3372 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/index.ts @@ -1,3 +1,4 @@ +import { manifests as contentSectionManifests } from './content-section/manifests'; import { manifests as documentBlueprintManifests } from './document-blueprints/manifests'; import { manifests as documentTypeManifests } from './document-types/manifests'; @@ -10,4 +11,4 @@ const registerExtensions = (manifests: Array | Array | Array) => { + manifests.forEach((manifest) => { + if (umbExtensionsRegistry.isRegistered(manifest.alias)) return; + umbExtensionsRegistry.register(manifest); + }); +}; + +registerExtensions([...mediaSectionManifests]); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-section/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-section/manifests.ts index 681aa137f6..46ccb96ac5 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-section/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-section/manifests.ts @@ -24,7 +24,7 @@ const dashboards: Array = [ sections: [sectionAlias], pathname: 'media-management', entityType: 'media', - storeAlias: 'umbMediaStore' + storeAlias: 'umbMediaStore', }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/sections.manifest.ts b/src/Umbraco.Web.UI.Client/src/backoffice/sections.manifest.ts index 6ee85efb3e..2db5f42c98 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/sections.manifest.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/sections.manifest.ts @@ -1,8 +1,6 @@ // TODO: temp file until we have a way to register from each extension import { manifests as userSectionManifests } from '../auth/users-section/manifests'; -import { manifests as contentSectionManifests } from './documents/content-section/content-section.manifest'; -import { manifests as mediaSectionManifests } from './media/media-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'; @@ -15,11 +13,4 @@ import type { } from '@umbraco-cms/models'; export const manifests: Array = - [ - ...contentSectionManifests, - ...mediaSectionManifests, - ...memberSectionManifests, - ...packageSectionManifests, - ...settingsSectionManifests, - ...userSectionManifests, - ]; + [...memberSectionManifests, ...packageSectionManifests, ...settingsSectionManifests, ...userSectionManifests];