Files
klz-cables.com/.pnpm-store/v10/files/30/1caec0a53c8c7ba67e17a432d7aa10f2fe3101f47e0a2c4ada382ec3ef0b588399f3cadac9a7af4f79973b87bcba9ed107252468fb4c63b63f030aff6139ae
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

52 lines
1.9 KiB
Plaintext

import { getTranslation } from '@payloadcms/translations';
import { formatDate } from './formatDateTitle.js';
import { formatLexicalDocTitle, isSerializedLexicalEditor } from './formatLexicalDocTitle.js';
import { formatRelationshipTitle } from './formatRelationshipTitle.js';
export const formatDocTitle = ({
collectionConfig,
data,
dateFormat: dateFormatFromConfig,
fallback,
globalConfig,
i18n
}) => {
let title;
if (collectionConfig) {
const useAsTitle = collectionConfig?.admin?.useAsTitle;
if (useAsTitle) {
title = data?.[useAsTitle];
if (title) {
const fieldConfig = collectionConfig.fields.find(f => 'name' in f && f.name === useAsTitle);
const isDate = fieldConfig?.type === 'date';
const isRelationship = fieldConfig?.type === 'relationship';
if (isDate) {
const dateFormat = 'date' in fieldConfig.admin && fieldConfig?.admin?.date?.displayFormat || dateFormatFromConfig;
title = formatDate({
date: title,
i18n,
pattern: dateFormat
}) || title;
}
if (isRelationship) {
const formattedRelationshipTitle = formatRelationshipTitle(data[useAsTitle]);
title = formattedRelationshipTitle;
}
}
}
}
if (globalConfig) {
title = getTranslation(globalConfig?.label, i18n) || globalConfig?.slug;
}
// richtext lexical case. We convert the first child of root to plain text
if (title && isSerializedLexicalEditor(title)) {
title = formatLexicalDocTitle(title.root.children?.[0]?.children || [], '');
}
if (!title && isSerializedLexicalEditor(fallback)) {
title = formatLexicalDocTitle(fallback.root.children?.[0]?.children || [], '');
}
if (!title) {
title = typeof fallback === 'string' ? fallback : `[${i18n.t('general:untitled')}]`;
}
return title;
};
//# sourceMappingURL=index.js.map