diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-tree-structure-workspace-context-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-tree-structure-workspace-context-base.ts index cf97cd2c10..3620337ec7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-tree-structure-workspace-context-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-tree-structure-workspace-context-base.ts @@ -3,7 +3,7 @@ import type { UmbTreeRepository, UmbUniqueTreeItemModel, UmbUniqueTreeRootModel import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry'; import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; -import { UmbArrayState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbArrayState, UmbObjectState } from '@umbraco-cms/backoffice/observable-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; interface UmbMenuTreeStructureWorkspaceContextBaseArgs { @@ -17,6 +17,9 @@ export abstract class UmbMenuTreeStructureWorkspaceContextBase extends UmbContex #structure = new UmbArrayState([], (x) => x.unique); public readonly structure = this.#structure.asObservable(); + #parent = new UmbObjectState(undefined); + public readonly parent = this.#parent.asObservable(); + constructor(host: UmbControllerHost, args: UmbMenuTreeStructureWorkspaceContextBaseArgs) { // TODO: set up context token super(host, 'UmbMenuStructureWorkspaceContext'); @@ -70,9 +73,12 @@ export abstract class UmbMenuTreeStructureWorkspaceContextBase extends UmbContex isFolder: treeItem.isFolder, }; }); + structureItems.push(...ancestorItems); } + const parent = structureItems[structureItems.length - 2]; + this.#parent.setValue(parent); this.#structure.setValue(structureItems); } }