From 3d90fffccdf1d47305e99290bb1115ccf76002d1 Mon Sep 17 00:00:00 2001 From: Engiber Lozada <89547469+engijlr@users.noreply.github.com> Date: Mon, 24 Nov 2025 17:23:35 +0100 Subject: [PATCH] UFM: Update contentName component to respect current backoffice culture. (#20927) * Updated the content-name element to use the DocumentItemDataResolver. * Import sorting * Defaults the entity-type to "document" --------- Co-authored-by: leekelleher --- .../content-name/content-name.element.ts | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.element.ts b/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.element.ts index a0bed34e9b..17a6ec7a8f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.element.ts @@ -1,10 +1,15 @@ import { UmbUfmElementBase } from '../ufm-element-base.js'; import { UMB_UFM_RENDER_CONTEXT } from '../ufm-render/ufm-render.context.js'; import { customElement, property } from '@umbraco-cms/backoffice/external/lit'; -import { UmbDocumentItemRepository, UMB_DOCUMENT_ENTITY_TYPE } from '@umbraco-cms/backoffice/document'; +import { + UmbDocumentItemDataResolver, + UmbDocumentItemRepository, + UMB_DOCUMENT_ENTITY_TYPE, +} from '@umbraco-cms/backoffice/document'; import { UmbId } from '@umbraco-cms/backoffice/id'; import { UmbMediaItemRepository, UMB_MEDIA_ENTITY_TYPE } from '@umbraco-cms/backoffice/media'; import { UmbMemberItemRepository, UMB_MEMBER_ENTITY_TYPE } from '@umbraco-cms/backoffice/member'; +import type { UmbDocumentItemModel } from '@umbraco-cms/backoffice/document'; @customElement('ufm-content-name') export class UmbUfmContentNameElement extends UmbUfmElementBase { @@ -46,7 +51,7 @@ export class UmbUfmContentNameElement extends UmbUfmElementBase { if (item.mediaKey) return UMB_MEDIA_ENTITY_TYPE; } - return null; + return UMB_DOCUMENT_ENTITY_TYPE; } #getUniques(value: unknown) { @@ -64,7 +69,17 @@ export class UmbUfmContentNameElement extends UmbUfmElementBase { const { data } = await repository.requestItems(uniques); if (Array.isArray(data) && data.length > 0) { - // TODO: [v17] Review usage of `item.variants[0].name` as this needs to be implemented properly! [LK] + if (entityType === UMB_DOCUMENT_ENTITY_TYPE) { + const namePromises = data.map(async (item) => { + const resolver = new UmbDocumentItemDataResolver(this); + resolver.setData(item as UmbDocumentItemModel); + return await resolver.getName(); + }); + const names = await Promise.all(namePromises); + return names.join(', '); + } + + // TODO: Review usage of `item.variants[0].name` as this needs to be implemented properly for media/member items [LK] return data.map((item) => item.variants[0].name).join(', '); } }