From f06567d326bbbab5df2018cc1e49c2f04322fc42 Mon Sep 17 00:00:00 2001 From: Lee Kelleher Date: Mon, 9 Sep 2024 14:59:26 +0100 Subject: [PATCH] Bugfix: Content Picker, gets dynamic root value from menu context (#2212) Content Picker: refactors gathering dynamic root current and parent uniques Uses `UmbMenuStructureWorkspaceContext.structure` to get the top-most entity workspace's unique and parent unique values. --- .../property-editor-ui-content-picker.element.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/property-editors/content-picker/property-editor-ui-content-picker.element.ts b/src/Umbraco.Web.UI.Client/src/packages/property-editors/content-picker/property-editor-ui-content-picker.element.ts index c6b35c9b2f..9062279d31 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/property-editors/content-picker/property-editor-ui-content-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/property-editors/content-picker/property-editor-ui-content-picker.element.ts @@ -6,7 +6,6 @@ import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbFormControlMixin } from '@umbraco-cms/backoffice/validation'; import { UmbPropertyValueChangeEvent } from '@umbraco-cms/backoffice/property-editor'; import { UMB_DOCUMENT_ENTITY_TYPE } from '@umbraco-cms/backoffice/document'; -import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; import { UMB_MEDIA_ENTITY_TYPE } from '@umbraco-cms/backoffice/media'; import { UMB_MEMBER_ENTITY_TYPE } from '@umbraco-cms/backoffice/member'; import type { UmbPropertyEditorConfigCollection } from '@umbraco-cms/backoffice/property-editor'; @@ -123,13 +122,11 @@ export class UmbPropertyEditorUIContentPickerElement if (this._rootUnique) return; if (!this.#dynamicRoot) return; - const workspaceContext = await this.getContext(UMB_ENTITY_WORKSPACE_CONTEXT); - const unique = workspaceContext.getUnique(); - if (!unique) return; - const menuStructureWorkspaceContext = (await this.getContext('UmbMenuStructureWorkspaceContext')) as any; - const parent = (await this.observe(menuStructureWorkspaceContext.parent, () => {})?.asPromise()) as any; - const parentUnique = parent?.unique; + const structure = (await this.observe(menuStructureWorkspaceContext.structure, () => {})?.asPromise()) as any[]; + const [parentUnique, unique] = structure?.slice(-2).map((x) => x.unique) ?? []; + + if (!unique) return; const result = await this.#dynamicRootRepository.requestRoot(this.#dynamicRoot, unique, parentUnique); if (result && result.length > 0) {