payload
Version:
Node, React, Headless CMS and Application Framework built on Next.js
66 lines (65 loc) • 1.69 kB
JavaScript
// @ts-strict-ignore
export const statuses = [
{
label: ({ t })=>t('version:draft'),
value: 'draft'
},
{
label: ({ t })=>t('version:published'),
value: 'published'
}
];
export const baseVersionFields = [
{
name: '_status',
type: 'select',
admin: {
components: {
Field: false
},
disableBulkEdit: true
},
defaultValue: 'draft',
index: true,
label: ({ t })=>t('version:status'),
options: statuses
}
];
// When publishing a specific locale,
// we need to create a new draft which acts as a
// "snapshot" to retain all existing draft data.
// This field will be used to exclude any snapshot versions
// from the admin Versions list
export const versionSnapshotField = {
name: 'snapshot',
type: 'checkbox',
admin: {
disableBulkEdit: true,
disabled: true
},
index: true
};
export function buildLocaleStatusField(config) {
if (!config.localization || !config.localization.locales) {
return [];
}
return config.localization.locales.map((locale)=>{
const code = typeof locale === 'string' ? locale : locale.code;
return {
name: code,
type: 'select',
index: true,
options: [
{
label: ({ t })=>t('version:draft'),
value: 'draft'
},
{
label: ({ t })=>t('version:published'),
value: 'published'
}
]
};
});
}
//# sourceMappingURL=baseFields.js.map