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 <leekelleher@gmail.com>
This commit is contained in:
@@ -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(', ');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user