payload
Version:
Node, React, Headless CMS and Application Framework built on Next.js
74 lines (73 loc) • 2.08 kB
JavaScript
// @ts-strict-ignore
import { versionSnapshotField } from './baseFields.js';
export const buildVersionCollectionFields = (config, collection, flatten)=>{
const fields = [
{
name: 'parent',
type: 'relationship',
index: true,
relationTo: collection.slug
},
{
name: 'version',
type: 'group',
fields: collection.fields.filter((field)=>!('name' in field) || field.name !== 'id'),
...flatten && {
flattenedFields: collection.flattenedFields.filter((each)=>each.name !== 'id')
}
},
{
name: 'createdAt',
type: 'date',
admin: {
disabled: true
},
index: true
},
{
name: 'updatedAt',
type: 'date',
admin: {
disabled: true
},
index: true
}
];
if (collection?.versions?.drafts) {
if (config.localization) {
fields.push(versionSnapshotField);
fields.push({
name: 'publishedLocale',
type: 'select',
admin: {
disableBulkEdit: true,
disabled: true
},
index: true,
options: config.localization.locales.map((locale)=>{
if (typeof locale === 'string') {
return locale;
}
return locale.code;
})
});
}
fields.push({
name: 'latest',
type: 'checkbox',
admin: {
disabled: true
},
index: true
});
if (collection?.versions?.drafts?.autosave) {
fields.push({
name: 'autosave',
type: 'checkbox',
index: true
});
}
}
return fields;
};
//# sourceMappingURL=buildCollectionFields.js.map