diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/components/user-document-start-node/user-document-start-node.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/components/user-document-start-node/user-document-start-node.element.ts index 316e1ecc7e..cdb7761f6e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/components/user-document-start-node/user-document-start-node.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/components/user-document-start-node/user-document-start-node.element.ts @@ -5,8 +5,18 @@ import { UmbDocumentItemRepository } from '@umbraco-cms/backoffice/document'; @customElement('umb-user-document-start-node') export class UmbUserDocumentStartNodeElement extends UmbLitElement { + #uniques: Array = []; @property({ type: Array, attribute: false }) - uniques: Array = []; + public get uniques(): Array { + return this.#uniques; + } + public set uniques(value: Array) { + this.#uniques = value; + + if (this.#uniques.length > 0) { + this.#observeItems(); + } + } @property({ type: Boolean }) readonly = false; @@ -16,10 +26,12 @@ export class UmbUserDocumentStartNodeElement extends UmbLitElement { #itemRepository = new UmbDocumentItemRepository(this); - protected async firstUpdated(): Promise { - if (this.uniques.length === 0) return; - const { data } = await this.#itemRepository.requestItems(this.uniques); - this._displayValue = data || []; + async #observeItems() { + const { asObservable } = await this.#itemRepository.requestItems(this.#uniques); + + this.observe(asObservable(), (data) => { + this._displayValue = data || []; + }); } render() {