Files
payload/src/client/components/elements/ColumnSelector/getInitialState.js
2020-07-09 19:56:17 -04:00

32 lines
758 B
JavaScript

const getInitialColumnState = (fields, useAsTitle, defaultColumns) => {
let initialColumns = [];
const hasThumbnail = fields.find((field) => field.type === 'thumbnail');
if (Array.isArray(defaultColumns) && defaultColumns.length >= 1) {
return {
columns: defaultColumns,
};
}
if (hasThumbnail) {
initialColumns.push('thumbnail');
}
if (useAsTitle) {
initialColumns.push(useAsTitle);
}
const remainingColumns = fields.filter((field) => field.name !== useAsTitle && field.type !== 'thumbnail')
.slice(0, 3 - initialColumns.length).map((field) => field.name);
initialColumns = initialColumns.concat(remainingColumns);
return {
columns: initialColumns,
};
};
module.exports = getInitialColumnState;