UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

57 lines (56 loc) 6.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { Table: function() { return Table; }, default: function() { return _default; } }); const _react = /*#__PURE__*/ _interop_require_default(require("react")); const _TableColumns = require("../TableColumns"); require("./index.scss"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const baseClass = 'table'; const Table = ({ columns: columnsFromProps, data })=>{ const { columns: columnsFromContext } = (0, _TableColumns.useTableColumns)(); const columns = columnsFromProps || columnsFromContext; const activeColumns = columns?.filter((col)=>col.active); if (!activeColumns || activeColumns.length === 0) { return /*#__PURE__*/ _react.default.createElement("div", null, "No columns selected"); } return /*#__PURE__*/ _react.default.createElement("div", { className: baseClass }, /*#__PURE__*/ _react.default.createElement("table", { cellPadding: "0", cellSpacing: "0" }, /*#__PURE__*/ _react.default.createElement("thead", null, /*#__PURE__*/ _react.default.createElement("tr", null, activeColumns.map((col, i)=>/*#__PURE__*/ _react.default.createElement("th", { id: `heading-${col.accessor}`, key: i }, col.components.Heading)))), /*#__PURE__*/ _react.default.createElement("tbody", null, data && data.map((row, rowIndex)=>/*#__PURE__*/ _react.default.createElement("tr", { className: `row-${rowIndex + 1}`, key: rowIndex }, columns.map((col, colIndex)=>{ const { active } = col; if (!active) return null; return /*#__PURE__*/ _react.default.createElement("td", { className: `cell-${col.accessor}`, key: colIndex }, col.components.renderCell(row, row[col.accessor])); })))))); }; const _default = Table; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1RhYmxlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VUYWJsZUNvbHVtbnMgfSBmcm9tICcuLi9UYWJsZUNvbHVtbnMnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ3RhYmxlJ1xuXG5leHBvcnQgY29uc3QgVGFibGU6IFJlYWN0LkZDPFByb3BzPiA9ICh7IGNvbHVtbnM6IGNvbHVtbnNGcm9tUHJvcHMsIGRhdGEgfSkgPT4ge1xuICBjb25zdCB7IGNvbHVtbnM6IGNvbHVtbnNGcm9tQ29udGV4dCB9ID0gdXNlVGFibGVDb2x1bW5zKClcblxuICBjb25zdCBjb2x1bW5zID0gY29sdW1uc0Zyb21Qcm9wcyB8fCBjb2x1bW5zRnJvbUNvbnRleHRcbiAgY29uc3QgYWN0aXZlQ29sdW1ucyA9IGNvbHVtbnM/LmZpbHRlcigoY29sKSA9PiBjb2wuYWN0aXZlKVxuXG4gIGlmICghYWN0aXZlQ29sdW1ucyB8fCBhY3RpdmVDb2x1bW5zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiA8ZGl2Pk5vIGNvbHVtbnMgc2VsZWN0ZWQ8L2Rpdj5cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICA8dGFibGUgY2VsbFBhZGRpbmc9XCIwXCIgY2VsbFNwYWNpbmc9XCIwXCI+XG4gICAgICAgIDx0aGVhZD5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICB7YWN0aXZlQ29sdW1ucy5tYXAoKGNvbCwgaSkgPT4gKFxuICAgICAgICAgICAgICA8dGggaWQ9e2BoZWFkaW5nLSR7Y29sLmFjY2Vzc29yfWB9IGtleT17aX0+XG4gICAgICAgICAgICAgICAge2NvbC5jb21wb25lbnRzLkhlYWRpbmd9XG4gICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAge2RhdGEgJiZcbiAgICAgICAgICAgIGRhdGEubWFwKChyb3csIHJvd0luZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDx0ciBjbGFzc05hbWU9e2Byb3ctJHtyb3dJbmRleCArIDF9YH0ga2V5PXtyb3dJbmRleH0+XG4gICAgICAgICAgICAgICAge2NvbHVtbnMubWFwKChjb2wsIGNvbEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB7IGFjdGl2ZSB9ID0gY29sXG5cbiAgICAgICAgICAgICAgICAgIGlmICghYWN0aXZlKSByZXR1cm4gbnVsbFxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPXtgY2VsbC0ke2NvbC5hY2Nlc3Nvcn1gfSBrZXk9e2NvbEluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICB7Y29sLmNvbXBvbmVudHMucmVuZGVyQ2VsbChyb3csIHJvd1tjb2wuYWNjZXNzb3JdKX1cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBUYWJsZVxuIl0sIm5hbWVzIjpbIlRhYmxlIiwiYmFzZUNsYXNzIiwiY29sdW1ucyIsImNvbHVtbnNGcm9tUHJvcHMiLCJkYXRhIiwiY29sdW1uc0Zyb21Db250ZXh0IiwidXNlVGFibGVDb2x1bW5zIiwiYWN0aXZlQ29sdW1ucyIsImZpbHRlciIsImNvbCIsImFjdGl2ZSIsImxlbmd0aCIsImRpdiIsImNsYXNzTmFtZSIsInRhYmxlIiwiY2VsbFBhZGRpbmciLCJjZWxsU3BhY2luZyIsInRoZWFkIiwidHIiLCJtYXAiLCJpIiwidGgiLCJpZCIsImFjY2Vzc29yIiwia2V5IiwiY29tcG9uZW50cyIsIkhlYWRpbmciLCJ0Ym9keSIsInJvdyIsInJvd0luZGV4IiwiY29sSW5kZXgiLCJ0ZCIsInJlbmRlckNlbGwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBU2FBLEtBQUs7ZUFBTEE7O0lBNkNiLE9BQW9CO2VBQXBCOzs7OERBdERrQjs4QkFJYztRQUN6Qjs7Ozs7O0FBRVAsTUFBTUMsWUFBWTtBQUVYLE1BQU1ELFFBQXlCLENBQUMsRUFBRUUsU0FBU0MsZ0JBQWdCLEVBQUVDLElBQUksRUFBRTtJQUN4RSxNQUFNLEVBQUVGLFNBQVNHLGtCQUFrQixFQUFFLEdBQUdDLElBQUFBLDZCQUFlO0lBRXZELE1BQU1KLFVBQVVDLG9CQUFvQkU7SUFDcEMsTUFBTUUsZ0JBQWdCTCxTQUFTTSxPQUFPLENBQUNDLE1BQVFBLElBQUlDLE1BQU07SUFFekQsSUFBSSxDQUFDSCxpQkFBaUJBLGNBQWNJLE1BQU0sS0FBSyxHQUFHO1FBQ2hELHFCQUFPLDZCQUFDQyxhQUFJO0lBQ2Q7SUFFQSxxQkFDRSw2QkFBQ0E7UUFBSUMsV0FBV1o7cUJBQ2QsNkJBQUNhO1FBQU1DLGFBQVk7UUFBSUMsYUFBWTtxQkFDakMsNkJBQUNDLDZCQUNDLDZCQUFDQyxZQUNFWCxjQUFjWSxHQUFHLENBQUMsQ0FBQ1YsS0FBS1csa0JBQ3ZCLDZCQUFDQztZQUFHQyxJQUFJLENBQUMsUUFBUSxFQUFFYixJQUFJYyxRQUFRLENBQUMsQ0FBQztZQUFFQyxLQUFLSjtXQUNyQ1gsSUFBSWdCLFVBQVUsQ0FBQ0MsT0FBTyxvQkFLL0IsNkJBQUNDLGVBQ0V2QixRQUNDQSxLQUFLZSxHQUFHLENBQUMsQ0FBQ1MsS0FBS0MseUJBQ2IsNkJBQUNYO1lBQUdMLFdBQVcsQ0FBQyxJQUFJLEVBQUVnQixXQUFXLEVBQUUsQ0FBQztZQUFFTCxLQUFLSztXQUN4QzNCLFFBQVFpQixHQUFHLENBQUMsQ0FBQ1YsS0FBS3FCO1lBQ2pCLE1BQU0sRUFBRXBCLE1BQU0sRUFBRSxHQUFHRDtZQUVuQixJQUFJLENBQUNDLFFBQVEsT0FBTztZQUVwQixxQkFDRSw2QkFBQ3FCO2dCQUFHbEIsV0FBVyxDQUFDLEtBQUssRUFBRUosSUFBSWMsUUFBUSxDQUFDLENBQUM7Z0JBQUVDLEtBQUtNO2VBQ3pDckIsSUFBSWdCLFVBQVUsQ0FBQ08sVUFBVSxDQUFDSixLQUFLQSxHQUFHLENBQUNuQixJQUFJYyxRQUFRLENBQUM7UUFHdkQ7QUFPaEI7TUFFQSxXQUFldkIifQ==