payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
86 lines (85 loc) • 10.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _react = /*#__PURE__*/ _interop_require_default(require("react"));
const _types = require("../../../../fields/config/types");
const _flattenTopLevelFields = /*#__PURE__*/ _interop_require_default(require("../../../../utilities/flattenTopLevelFields"));
const _Cell = /*#__PURE__*/ _interop_require_default(require("../../views/collections/List/Cell"));
const _SelectAll = /*#__PURE__*/ _interop_require_default(require("../../views/collections/List/SelectAll"));
const _SelectRow = /*#__PURE__*/ _interop_require_default(require("../../views/collections/List/SelectRow"));
const _SortColumn = /*#__PURE__*/ _interop_require_default(require("../SortColumn"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
const buildColumns = ({ cellProps, collection, columns })=>{
// sort the fields to the order of activeColumns
const sortedFields = (0, _flattenTopLevelFields.default)(collection.fields, true).sort((a, b)=>{
const aIndex = columns.findIndex((column)=>column.accessor === a.name);
const bIndex = columns.findIndex((column)=>column.accessor === b.name);
if (aIndex === -1 && bIndex === -1) return 0;
if (aIndex === -1) return 1;
if (bIndex === -1) return -1;
return aIndex - bIndex;
});
const firstActiveColumn = sortedFields.find((field)=>columns.find((column)=>column.accessor === field.name)?.active);
let colIndex = -1;
const cols = sortedFields.map((field)=>{
const isActive = columns.find((column)=>column.accessor === field.name)?.active || false;
const isFirstActive = firstActiveColumn?.name === field.name;
if (isActive) {
colIndex += 1;
}
const props = cellProps?.[colIndex] || {};
return {
name: field.name,
accessor: field.name,
active: isActive,
components: {
Heading: /*#__PURE__*/ _react.default.createElement(_SortColumn.default, {
disable: 'disableSort' in field && Boolean(field.disableSort) || (0, _types.fieldIsPresentationalOnly)(field) || undefined,
label: field.label || field.name,
name: field.name
}),
renderCell: (rowData, cellData)=>{
return /*#__PURE__*/ _react.default.createElement(_Cell.default, {
cellData: cellData,
colIndex: colIndex,
collection: collection,
field: field,
key: JSON.stringify(cellData),
link: isFirstActive,
rowData: rowData,
...props
});
}
},
label: field.label
};
});
if (cellProps?.[0]?.link !== false) {
cols.unshift({
name: '',
accessor: '_select',
active: true,
components: {
Heading: /*#__PURE__*/ _react.default.createElement(_SelectAll.default, null),
renderCell: (rowData)=>/*#__PURE__*/ _react.default.createElement(_SelectRow.default, {
id: rowData.id
})
},
label: null
});
}
return cols;
};
const _default = buildColumns;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1RhYmxlQ29sdW1ucy9idWlsZENvbHVtbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQcm9wcyBhcyBDZWxsUHJvcHMgfSBmcm9tICcuLi8uLi92aWV3cy9jb2xsZWN0aW9ucy9MaXN0L0NlbGwvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbHVtbiB9IGZyb20gJy4uL1RhYmxlL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IH0gZnJvbSAnLi4vLi4vLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCBmbGF0dGVuRmllbGRzIGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9mbGF0dGVuVG9wTGV2ZWxGaWVsZHMnXG5pbXBvcnQgQ2VsbCBmcm9tICcuLi8uLi92aWV3cy9jb2xsZWN0aW9ucy9MaXN0L0NlbGwnXG5pbXBvcnQgU2VsZWN0QWxsIGZyb20gJy4uLy4uL3ZpZXdzL2NvbGxlY3Rpb25zL0xpc3QvU2VsZWN0QWxsJ1xuaW1wb3J0IFNlbGVjdFJvdyBmcm9tICcuLi8uLi92aWV3cy9jb2xsZWN0aW9ucy9MaXN0L1NlbGVjdFJvdydcbmltcG9ydCBTb3J0Q29sdW1uIGZyb20gJy4uL1NvcnRDb2x1bW4nXG5cbmNvbnN0IGJ1aWxkQ29sdW1ucyA9ICh7XG4gIGNlbGxQcm9wcyxcbiAgY29sbGVjdGlvbixcbiAgY29sdW1ucyxcbn06IHtcbiAgY2VsbFByb3BzOiBQYXJ0aWFsPENlbGxQcm9wcz5bXVxuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGNvbHVtbnM6IFBpY2s8Q29sdW1uLCAnYWNjZXNzb3InIHwgJ2FjdGl2ZSc+W11cbn0pOiBDb2x1bW5bXSA9PiB7XG4gIC8vIHNvcnQgdGhlIGZpZWxkcyB0byB0aGUgb3JkZXIgb2YgYWN0aXZlQ29sdW1uc1xuICBjb25zdCBzb3J0ZWRGaWVsZHMgPSBmbGF0dGVuRmllbGRzKGNvbGxlY3Rpb24uZmllbGRzLCB0cnVlKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3QgYUluZGV4ID0gY29sdW1ucy5maW5kSW5kZXgoKGNvbHVtbikgPT4gY29sdW1uLmFjY2Vzc29yID09PSBhLm5hbWUpXG4gICAgY29uc3QgYkluZGV4ID0gY29sdW1ucy5maW5kSW5kZXgoKGNvbHVtbikgPT4gY29sdW1uLmFjY2Vzc29yID09PSBiLm5hbWUpXG4gICAgaWYgKGFJbmRleCA9PT0gLTEgJiYgYkluZGV4ID09PSAtMSkgcmV0dXJuIDBcbiAgICBpZiAoYUluZGV4ID09PSAtMSkgcmV0dXJuIDFcbiAgICBpZiAoYkluZGV4ID09PSAtMSkgcmV0dXJuIC0xXG4gICAgcmV0dXJuIGFJbmRleCAtIGJJbmRleFxuICB9KVxuXG4gIGNvbnN0IGZpcnN0QWN0aXZlQ29sdW1uID0gc29ydGVkRmllbGRzLmZpbmQoXG4gICAgKGZpZWxkKSA9PiBjb2x1bW5zLmZpbmQoKGNvbHVtbikgPT4gY29sdW1uLmFjY2Vzc29yID09PSBmaWVsZC5uYW1lKT8uYWN0aXZlLFxuICApXG5cbiAgbGV0IGNvbEluZGV4ID0gLTFcbiAgY29uc3QgY29sczogQ29sdW1uW10gPSBzb3J0ZWRGaWVsZHMubWFwKChmaWVsZCkgPT4ge1xuICAgIGNvbnN0IGlzQWN0aXZlID0gY29sdW1ucy5maW5kKChjb2x1bW4pID0+IGNvbHVtbi5hY2Nlc3NvciA9PT0gZmllbGQubmFtZSk/LmFjdGl2ZSB8fCBmYWxzZVxuICAgIGNvbnN0IGlzRmlyc3RBY3RpdmUgPSBmaXJzdEFjdGl2ZUNvbHVtbj8ubmFtZSA9PT0gZmllbGQubmFtZVxuICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgY29sSW5kZXggKz0gMVxuICAgIH1cbiAgICBjb25zdCBwcm9wcyA9IGNlbGxQcm9wcz8uW2NvbEluZGV4XSB8fCB7fVxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgYWNjZXNzb3I6IGZpZWxkLm5hbWUsXG4gICAgICBhY3RpdmU6IGlzQWN0aXZlLFxuICAgICAgY29tcG9uZW50czoge1xuICAgICAgICBIZWFkaW5nOiAoXG4gICAgICAgICAgPFNvcnRDb2x1bW5cbiAgICAgICAgICAgIGRpc2FibGU9e1xuICAgICAgICAgICAgICAoJ2Rpc2FibGVTb3J0JyBpbiBmaWVsZCAmJiBCb29sZWFuKGZpZWxkLmRpc2FibGVTb3J0KSkgfHxcbiAgICAgICAgICAgICAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seShmaWVsZCkgfHxcbiAgICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsYWJlbD17ZmllbGQubGFiZWwgfHwgZmllbGQubmFtZX1cbiAgICAgICAgICAgIG5hbWU9e2ZpZWxkLm5hbWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSxcbiAgICAgICAgcmVuZGVyQ2VsbDogKHJvd0RhdGEsIGNlbGxEYXRhKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDZWxsXG4gICAgICAgICAgICAgIGNlbGxEYXRhPXtjZWxsRGF0YX1cbiAgICAgICAgICAgICAgY29sSW5kZXg9e2NvbEluZGV4fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIGtleT17SlNPTi5zdHJpbmdpZnkoY2VsbERhdGEpfVxuICAgICAgICAgICAgICBsaW5rPXtpc0ZpcnN0QWN0aXZlfVxuICAgICAgICAgICAgICByb3dEYXRhPXtyb3dEYXRhfVxuICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIClcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBsYWJlbDogZmllbGQubGFiZWwsXG4gICAgfVxuICB9KVxuXG4gIGlmIChjZWxsUHJvcHM/LlswXT8ubGluayAhPT0gZmFsc2UpIHtcbiAgICBjb2xzLnVuc2hpZnQoe1xuICAgICAgbmFtZTogJycsXG4gICAgICBhY2Nlc3NvcjogJ19zZWxlY3QnLFxuICAgICAgYWN0aXZlOiB0cnVlLFxuICAgICAgY29tcG9uZW50czoge1xuICAgICAgICBIZWFkaW5nOiA8U2VsZWN0QWxsIC8+LFxuICAgICAgICByZW5kZXJDZWxsOiAocm93RGF0YSkgPT4gPFNlbGVjdFJvdyBpZD17cm93RGF0YS5pZH0gLz4sXG4gICAgICB9LFxuICAgICAgbGFiZWw6IG51bGwsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBjb2xzXG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkQ29sdW1uc1xuIl0sIm5hbWVzIjpbImJ1aWxkQ29sdW1ucyIsImNlbGxQcm9wcyIsImNvbGxlY3Rpb24iLCJjb2x1bW5zIiwic29ydGVkRmllbGRzIiwiZmxhdHRlbkZpZWxkcyIsImZpZWxkcyIsInNvcnQiLCJhIiwiYiIsImFJbmRleCIsImZpbmRJbmRleCIsImNvbHVtbiIsImFjY2Vzc29yIiwibmFtZSIsImJJbmRleCIsImZpcnN0QWN0aXZlQ29sdW1uIiwiZmluZCIsImZpZWxkIiwiYWN0aXZlIiwiY29sSW5kZXgiLCJjb2xzIiwibWFwIiwiaXNBY3RpdmUiLCJpc0ZpcnN0QWN0aXZlIiwicHJvcHMiLCJjb21wb25lbnRzIiwiSGVhZGluZyIsIlNvcnRDb2x1bW4iLCJkaXNhYmxlIiwiQm9vbGVhbiIsImRpc2FibGVTb3J0IiwiZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSIsInVuZGVmaW5lZCIsImxhYmVsIiwicmVuZGVyQ2VsbCIsInJvd0RhdGEiLCJjZWxsRGF0YSIsIkNlbGwiLCJrZXkiLCJKU09OIiwic3RyaW5naWZ5IiwibGluayIsInVuc2hpZnQiLCJTZWxl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