Files
klz-cables.com/.pnpm-store/v10/files/17/f3858e2f3557ca21d9ec64d5da52308fb1b9700e2fde673504cfa5dcfc50fd93865c36bf29e861b92c0f2b2e62a8a0f4acb06f59195ca6e0e30074d33784eb
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

40 lines
1.5 KiB
Plaintext

// @ts-strict-ignore
// default beforeDuplicate hook for required and unique fields
import { fieldShouldBeLocalized } from './config/types.js';
const isStringValue = (value)=>typeof value === 'string' && value.trim() !== '';
const unique = ({ value })=>isStringValue(value) ? `${value} - Copy` : undefined;
const localizedUnique = ({ req, value })=>isStringValue(value) ? `${value} - ${req?.t('general:copy') ?? 'Copy'}` : undefined;
export const setDefaultBeforeDuplicate = (field, parentIsLocalized)=>{
if (('required' in field && field.required || field.unique) && 'hooks' in field && (!field.hooks?.beforeDuplicate || Array.isArray(field.hooks.beforeDuplicate) && field.hooks.beforeDuplicate.length === 0)) {
if (field.unique) {
if ([
'email',
'number',
'point',
'relationship',
'select',
'upload'
].includes(field.type)) {
field.hooks.beforeDuplicate = [
()=>undefined
];
} else if ([
'code',
'json',
'text',
'textarea'
].includes(field.type)) {
field.hooks.beforeDuplicate = fieldShouldBeLocalized({
field,
parentIsLocalized
}) ? [
localizedUnique
] : [
unique
];
}
}
}
};
//# sourceMappingURL=setDefaultBeforeDuplicate.js.map