diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-app.models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-app.models.ts index 544e64021e..f4f6848d02 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-app.models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-app.models.ts @@ -2,10 +2,10 @@ import type { ManifestElement } from './models'; export interface ManifestSectionSidebarApp extends ManifestElement { type: 'sectionSidebarApp'; - meta: MetaSectionSidebarApp; + conditions: ConditionsSectionSidebarApp; } -export interface MetaSectionSidebarApp { +export interface ConditionsSectionSidebarApp { sections: Array; } @@ -13,9 +13,10 @@ export interface MetaSectionSidebarApp { export interface ManifestMenuSectionSidebarApp extends ManifestElement { type: 'menuSectionSidebarApp'; meta: MetaMenuSectionSidebarApp; + conditions: ConditionsSectionSidebarApp; } -export interface MetaMenuSectionSidebarApp extends MetaSectionSidebarApp { +export interface MetaMenuSectionSidebarApp { label: string; menu: string; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/section.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/section.manifests.ts index d8919a3689..a50e038ea8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/section.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/section.manifests.ts @@ -20,9 +20,11 @@ const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { weight: 100, meta: { label: 'Content', - sections: [sectionAlias], menu: 'Umb.Menu.Content', }, + conditions: { + sections: [sectionAlias], + }, }; export const manifests = [section, menuSectionSidebarApp]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/section.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/section.manifests.ts index 26e1ec52e2..c11cb83ab3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/section.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/section.manifests.ts @@ -39,9 +39,11 @@ const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { weight: 100, meta: { label: 'Media', - sections: [sectionAlias], menu: 'Umb.Menu.Media', }, + conditions: { + sections: [sectionAlias], + }, }; export const manifests = [section, menuSectionSidebarApp, ...dashboards]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/section.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/section.manifests.ts index c9d79effba..50b4a5b254 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/section.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/section.manifests.ts @@ -37,9 +37,11 @@ const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { weight: 100, meta: { label: 'Members', - sections: [sectionAlias], menu: 'Umb.Menu.Members', }, + conditions: { + sections: [sectionAlias], + }, }; export const manifests = [section, menuSectionSidebarApp, ...dashboards]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/manifests.ts index 345c971563..874da97023 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/manifests.ts @@ -6,7 +6,7 @@ const entityActions: Array = [ alias: 'Umb.SectionSidebarItem.LanguageSelect', name: 'App Language Select Section Sidebar Item', loader: () => import('./app-language-select.element'), - meta: { + conditions: { sections: ['Umb.Section.Content'], }, }, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/section.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/section.manifests.ts index 90b8cb4a4c..c3a5633155 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/section.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/section.manifests.ts @@ -20,9 +20,11 @@ const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { weight: 100, meta: { label: 'Settings', - sections: [sectionAlias], menu: 'Umb.Menu.Settings', }, + conditions: { + sections: [sectionAlias], + }, }; export const manifests = [section, menuSectionSidebarApp]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu/menu.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu/menu.element.ts index 6e5e62bbd6..86dffedd6f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu/menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu/menu.element.ts @@ -16,7 +16,7 @@ export class UmbMenuElement extends UmbLitElement { render() { return html` items.meta.menus.includes(this.manifest!.alias)} + .filter=${(items: ManifestMenuItem) => items.conditions.menus.includes(this.manifest!.alias)} default-element="umb-menu-item">`; } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.element.ts index 1b211a40b9..47092599fa 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.element.ts @@ -78,7 +78,9 @@ export class UmbSectionElement extends UmbLitElement { this.observe( umbExtensionsRegistry ?.extensionsOfType('menuSectionSidebarApp') - .pipe(map((manifests) => manifests.filter((manifest) => manifest.meta.sections.includes(sectionAlias)))), + .pipe( + map((manifests) => manifests.filter((manifest) => manifest.conditions.sections.includes(sectionAlias))) + ), (manifests) => { this._menus = manifests; } @@ -198,12 +200,12 @@ export class UmbSectionElement extends UmbLitElement { - items.meta.sections.includes(this._sectionAlias || '')}> + items.conditions.sections.includes(this._sectionAlias || '')}> - items.meta.sections.includes(this._sectionAlias || '')} + items.conditions.sections.includes(this._sectionAlias || '')} default-element="umb-section-sidebar-menu"> ` diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/menu.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/menu.manifests.ts index 700ff9b7be..cf14f344c1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/menu.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/templating/menu.manifests.ts @@ -16,9 +16,11 @@ const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { weight: 100, meta: { label: 'Templating', - sections: ['Umb.Section.Settings'], menu: 'Umb.Menu.Templating', }, + conditions: { + sections: ['Umb.Section.Settings'], + }, }; export const manifests = [menu, menuSectionSidebarApp]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/section.manifest.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/section.manifest.ts index 6d96223f88..59be737e0d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/section.manifest.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/section.manifest.ts @@ -20,9 +20,11 @@ const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { weight: 100, meta: { label: 'Dictionary', - sections: [sectionAlias], menu: 'Umb.Menu.Dictionary', }, + conditions: { + sections: [sectionAlias], + }, }; const dashboards: Array = [