diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/models.ts index 262d61e978..b8fa1d57d1 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/models.ts @@ -12,7 +12,7 @@ import type { ManifestPropertyEditorUI, ManifestPropertyEditorModel } from './pr import type { ManifestSection } from './section.models'; import type { ManifestSectionView } from './section-view.models'; import type { ManifestSectionSidebarApp } from './section-sidebar-item.models'; -import type { ManifestSectionSidebarMenu } from './section-sidebar-menu.models'; +import type { ManifestMenuSectionSidebarApp } from './section-sidebar-menu.models'; import type { ManifestMenu } from './menu.models'; import type { ManifestMenuItem } from './menu-item.models'; import type { ManifestTheme } from './theme.models'; @@ -72,7 +72,7 @@ export type ManifestTypes = | ManifestSection | ManifestSectionSidebarApp | ManifestSectionView - | ManifestSectionSidebarMenu + | ManifestMenuSectionSidebarApp | ManifestMenu | ManifestMenuItem | ManifestTheme diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-menu.models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-menu.models.ts index 996031e4d5..bf08d33c24 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-menu.models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-menu.models.ts @@ -1,11 +1,11 @@ import type { ManifestElement } from './models'; -export interface ManifestSectionSidebarMenu extends ManifestElement { - type: 'sectionSidebarMenu'; - meta: MetaSectionSidebarMenu; +export interface ManifestMenuSectionSidebarApp extends ManifestElement { + type: 'menuSectionSidebarApp'; + meta: MetaMenuSectionSidebarApp; } -export interface MetaSectionSidebarMenu { +export interface MetaMenuSectionSidebarApp { label: string; sections: Array; 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 c3f218b315..d8919a3689 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 @@ -1,4 +1,4 @@ -import type { ManifestSection, ManifestSectionSidebarMenu } from '@umbraco-cms/models'; +import type { ManifestSection, ManifestMenuSectionSidebarApp } from '@umbraco-cms/models'; const sectionAlias = 'Umb.Section.Content'; @@ -13,8 +13,8 @@ const section: ManifestSection = { }, }; -const sectionSidebarMenu: ManifestSectionSidebarMenu = { - type: 'sectionSidebarMenu', +const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { + type: 'menuSectionSidebarApp', alias: 'Umb.SidebarMenu.Content', name: 'Content Sidebar Menu', weight: 100, @@ -25,4 +25,4 @@ const sectionSidebarMenu: ManifestSectionSidebarMenu = { }, }; -export const manifests = [section, sectionSidebarMenu]; +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 aea51e5969..e7f137f2b8 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 @@ -1,4 +1,4 @@ -import type { ManifestDashboardCollection, ManifestSection, ManifestSectionSidebarMenu } from '@umbraco-cms/models'; +import type { ManifestDashboardCollection, ManifestSection, ManifestMenuSectionSidebarApp } from '@umbraco-cms/models'; const sectionAlias = 'Umb.Section.Media'; @@ -29,8 +29,8 @@ const dashboards: Array = [ }, ]; -const sectionSidebarMenu: ManifestSectionSidebarMenu = { - type: 'sectionSidebarMenu', +const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { + type: 'menuSectionSidebarApp', alias: 'Umb.SectionSidebarMenu.Media', name: 'Media Section Sidebar Menu', weight: 100, @@ -41,4 +41,4 @@ const sectionSidebarMenu: ManifestSectionSidebarMenu = { }, }; -export const manifests = [section, sectionSidebarMenu, ...dashboards]; +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 7cf1af267e..bfc8719566 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 @@ -1,4 +1,4 @@ -import type { ManifestDashboard, ManifestSection, ManifestSectionSidebarMenu } from '@umbraco-cms/models'; +import type { ManifestDashboard, ManifestSection, ManifestMenuSectionSidebarApp } from '@umbraco-cms/models'; const sectionAlias = 'Umb.Section.Members'; @@ -28,8 +28,8 @@ const dashboards: Array = [ }, ]; -const sectionSidebarMenu: ManifestSectionSidebarMenu = { - type: 'sectionSidebarMenu', +const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { + type: 'menuSectionSidebarApp', alias: 'Umb.SectionSidebarMenu.Members', name: 'Members Section Sidebar Menu', weight: 100, @@ -40,4 +40,4 @@ const sectionSidebarMenu: ManifestSectionSidebarMenu = { }, }; -export const manifests = [section, sectionSidebarMenu, ...dashboards]; +export const manifests = [section, menuSectionSidebarApp, ...dashboards]; 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 f133ccb5ea..90b8cb4a4c 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 @@ -1,4 +1,4 @@ -import type { ManifestSection, ManifestSectionSidebarMenu } from '@umbraco-cms/models'; +import type { ManifestSection, ManifestMenuSectionSidebarApp } from '@umbraco-cms/models'; const sectionAlias = 'Umb.Section.Settings'; @@ -13,8 +13,8 @@ const section: ManifestSection = { }, }; -const sectionSidebarMenu: ManifestSectionSidebarMenu = { - type: 'sectionSidebarMenu', +const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { + type: 'menuSectionSidebarApp', alias: 'Umb.SectionSidebarMenu.Settings', name: 'Settings Section Sidebar Menu', weight: 100, @@ -25,4 +25,4 @@ const sectionSidebarMenu: ManifestSectionSidebarMenu = { }, }; -export const manifests = [section, sectionSidebarMenu]; +export const manifests = [section, menuSectionSidebarApp]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-menu/section-sidebar-menu.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-menu/section-sidebar-menu.element.ts index b85a182390..a3d5197748 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-menu/section-sidebar-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-menu/section-sidebar-menu.element.ts @@ -1,7 +1,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement, property } from 'lit/decorators.js'; -import { ManifestMenu, ManifestSectionSidebarMenu } from '@umbraco-cms/extensions-registry'; +import { ManifestMenu, ManifestMenuSectionSidebarApp } from '@umbraco-cms/extensions-registry'; import { UmbLitElement } from '@umbraco-cms/element'; import '../../menu/menu.element'; @@ -18,7 +18,7 @@ export class UmbSectionSidebarMenuElement extends UmbLitElement { ]; @property() - manifest?: ManifestSectionSidebarMenu; + manifest?: ManifestMenuSectionSidebarApp; render() { // TODO: link to dashboards when clicking on the menu item header 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 3ec37dba60..a144c9666c 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 @@ -5,7 +5,7 @@ import { map } from 'rxjs'; import { IRoutingInfo } from 'router-slot'; import type { UmbWorkspaceEntityElement } from '../workspace/workspace-entity-element.interface'; import { UmbSectionContext, UMB_SECTION_CONTEXT_TOKEN } from './section.context'; -import type { ManifestSectionView, ManifestWorkspace, ManifestSectionSidebarMenu } from '@umbraco-cms/models'; +import type { ManifestSectionView, ManifestWorkspace, ManifestMenuSectionSidebarApp } from '@umbraco-cms/models'; import { umbExtensionsRegistry, createExtensionElement } from '@umbraco-cms/extensions-api'; import { UmbLitElement } from '@umbraco-cms/element'; @@ -40,7 +40,7 @@ export class UmbSectionElement extends UmbLitElement { private _routes: Array = []; @state() - private _menus?: Array; + private _menus?: Array; @state() private _views?: Array; @@ -84,7 +84,7 @@ export class UmbSectionElement extends UmbLitElement { if (sectionAlias) { this.observe( umbExtensionsRegistry - ?.extensionsOfType('sectionSidebarMenu') + ?.extensionsOfType('menuSectionSidebarApp') .pipe(map((manifests) => manifests.filter((manifest) => manifest.meta.sections.includes(sectionAlias)))), (manifests) => { this._menus = manifests; @@ -203,12 +203,13 @@ export class UmbSectionElement extends UmbLitElement { + .filter=${(items: ManifestMenuSectionSidebarApp) => items.meta.sections.includes(this._sectionAlias || '')}> items.meta.sections.includes(this._sectionAlias || '')} + type="menuSectionSidebarApp" + .filter=${(items: ManifestMenuSectionSidebarApp) => + items.meta.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 7063ab943b..700ff9b7be 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 @@ -1,4 +1,4 @@ -import { ManifestSectionSidebarMenu, ManifestMenu } from '@umbraco-cms/extensions-registry'; +import { ManifestMenuSectionSidebarApp, ManifestMenu } from '@umbraco-cms/extensions-registry'; const menu: ManifestMenu = { type: 'menu', @@ -9,8 +9,8 @@ const menu: ManifestMenu = { }, }; -const sectionSidebarMenu: ManifestSectionSidebarMenu = { - type: 'sectionSidebarMenu', +const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { + type: 'menuSectionSidebarApp', alias: 'Umb.SectionSidebarMenu.Templating', name: 'Templating Section Sidebar Menu', weight: 100, @@ -21,4 +21,4 @@ const sectionSidebarMenu: ManifestSectionSidebarMenu = { }, }; -export const manifests = [menu, sectionSidebarMenu]; +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 63bc12218f..aeaee59e29 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 @@ -1,4 +1,4 @@ -import type { ManifestDashboard, ManifestSection, ManifestSectionSidebarMenu } from '@umbraco-cms/models'; +import type { ManifestDashboard, ManifestSection, ManifestMenuSectionSidebarApp } from '@umbraco-cms/models'; const sectionAlias = 'Umb.Section.Translation'; @@ -13,8 +13,8 @@ const section: ManifestSection = { }, }; -const sectionSidebarMenu: ManifestSectionSidebarMenu = { - type: 'sectionSidebarMenu', +const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { + type: 'menuSectionSidebarApp', alias: 'Umb.SidebarMenu.Dictionary', name: 'Dictionary Sidebar Menu', weight: 100, @@ -40,4 +40,4 @@ const dashboards: Array = [ }, ]; -export const manifests = [section, sectionSidebarMenu, ...dashboards]; +export const manifests = [section, menuSectionSidebarApp, ...dashboards];