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.
This commit is contained in:
Lee Kelleher
2024-09-09 14:59:26 +01:00
committed by GitHub
parent 57f10776ff
commit f06567d326

View File

@@ -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) {