UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

86 lines (85 loc) 10.7 kB
"use strict"; 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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