From 9799728f149cfe54a80bf7b237f2f3aa8628b764 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 14 Mar 2024 22:05:52 +0100 Subject: [PATCH] add label fallback to default culture --- .../tree-item/document-tree-item.element.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.element.ts index fd2f5dc4b0..b1c5d99cba 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.element.ts @@ -24,19 +24,30 @@ export class UmbDocumentTreeItemElement extends UmbTreeItemElementBase { this.#appLanguageContext = instance; this.#observeAppCulture(); + this.#observeDefaultCulture(); }); } #observeAppCulture() { this.observe(this.#appLanguageContext!.appLanguageCulture, (value) => { this._currentCulture = value; - this._variant = this.item?.variants.find((x) => x.culture === value); + this._variant = this.#getVariant(value); }); } + #observeDefaultCulture() { + this.observe(this.#appLanguageContext!.appDefaultLanguage, (value) => { + this._defaultCulture = value?.unique; + }); + } + + #getVariant(culture: string | undefined) { + return this.item?.variants.find((x) => x.culture === culture); + } + #getLabel() { - // TODO: get the name from the default language if the current culture is not available - return this._variant?.name ?? 'Untitled'; + const fallbackName = this.#getVariant(this._defaultCulture)?.name ?? this._item?.variants[0].name ?? 'Unknown'; + return this._variant?.name ?? `(${fallbackName})`; } // TODO: implement correct status symbol