@ltht-react/table 1.0.110 → 1.0.112

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +15 -15
  2. package/lib/atoms/horizontal.d.ts +8 -0
  3. package/lib/atoms/horizontal.js +130 -0
  4. package/lib/atoms/horizontal.js.map +1 -0
  5. package/lib/atoms/questionnaire-withdrawn-table-cell.d.ts +6 -0
  6. package/lib/atoms/questionnaire-withdrawn-table-cell.js +19 -0
  7. package/lib/atoms/questionnaire-withdrawn-table-cell.js.map +1 -0
  8. package/lib/atoms/table.d.ts +36 -0
  9. package/lib/atoms/table.js +106 -0
  10. package/lib/atoms/table.js.map +1 -0
  11. package/lib/atoms/vertical.d.ts +8 -0
  12. package/lib/atoms/vertical.js +89 -0
  13. package/lib/atoms/vertical.js.map +1 -0
  14. package/lib/index.d.ts +6 -6
  15. package/lib/index.js +12 -12
  16. package/lib/molecules/generic-table.d.ts +11 -0
  17. package/lib/molecules/generic-table.js +36 -0
  18. package/lib/molecules/generic-table.js.map +1 -0
  19. package/lib/molecules/questionnaire-table.d.ts +12 -0
  20. package/lib/molecules/questionnaire-table.js +131 -0
  21. package/lib/molecules/questionnaire-table.js.map +1 -0
  22. package/lib/molecules/table-cell.d.ts +16 -16
  23. package/lib/molecules/table-cell.js +95 -92
  24. package/lib/molecules/table-cell.js.map +1 -1
  25. package/lib/molecules/table-component.d.ts +22 -22
  26. package/lib/molecules/table-component.js +71 -71
  27. package/lib/molecules/table-methods.d.ts +12 -12
  28. package/lib/molecules/table-methods.js +209 -209
  29. package/lib/molecules/table-styled-components.d.ts +86 -86
  30. package/lib/molecules/table-styled-components.js +105 -105
  31. package/lib/molecules/table.d.ts +37 -37
  32. package/lib/molecules/table.js +98 -98
  33. package/lib/molecules/useDimensionRef.d.ts +5 -5
  34. package/lib/molecules/useDimensionRef.js +30 -30
  35. package/lib/molecules/useScrollRef.d.ts +8 -8
  36. package/lib/molecules/useScrollRef.js +27 -27
  37. package/lib/organisms/generic-table.d.ts +11 -11
  38. package/lib/organisms/generic-table.js +35 -35
  39. package/lib/organisms/questionnaire-table-methods.d.ts +9 -9
  40. package/lib/organisms/questionnaire-table-methods.js +231 -208
  41. package/lib/organisms/questionnaire-table-methods.js.map +1 -1
  42. package/lib/organisms/questionnaire-table.d.ts +13 -13
  43. package/lib/organisms/questionnaire-table.js +44 -44
  44. package/lib/types.d.ts +3 -0
  45. package/lib/types.js +3 -0
  46. package/lib/types.js.map +1 -0
  47. package/package.json +8 -8
package/README.md CHANGED
@@ -1,15 +1,15 @@
1
- # Select
2
-
3
- <!-- STORY -->
4
-
5
- ### Import
6
-
7
- ```js
8
- import Select from '@ltht-react/table'
9
- ```
10
-
11
- ### Usage
12
-
13
- ```jsx
14
- <Table />
15
- ```
1
+ # Select
2
+
3
+ <!-- STORY -->
4
+
5
+ ### Import
6
+
7
+ ```js
8
+ import Select from '@ltht-react/table'
9
+ ```
10
+
11
+ ### Usage
12
+
13
+ ```jsx
14
+ <Table />
15
+ ```
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { Maybe, QuestionnaireItem, QuestionnaireResponse } from '@ltht-react/types';
3
+ declare const HorizontalTable: FC<IProps>;
4
+ interface IProps {
5
+ definitionItems: Array<Maybe<QuestionnaireItem>>;
6
+ records: QuestionnaireResponse[];
7
+ }
8
+ export default HorizontalTable;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
18
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
19
+ to[j] = from[i];
20
+ return to;
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ var jsx_runtime_1 = require("react/jsx-runtime");
27
+ var react_table_1 = require("react-table");
28
+ var utils_1 = require("@ltht-react/utils");
29
+ var styles_1 = require("@ltht-react/styles");
30
+ var CssBaseline_1 = __importDefault(require("@material-ui/core/CssBaseline"));
31
+ var Table_1 = __importDefault(require("@material-ui/core/Table"));
32
+ var TableBody_1 = __importDefault(require("@material-ui/core/TableBody"));
33
+ var TableCell_1 = __importDefault(require("@material-ui/core/TableCell"));
34
+ var TableHead_1 = __importDefault(require("@material-ui/core/TableHead"));
35
+ var TableRow_1 = __importDefault(require("@material-ui/core/TableRow"));
36
+ var styled_1 = __importDefault(require("@emotion/styled"));
37
+ var Container = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: white;\n"], ["\n background-color: white;\n"])));
38
+ var StyledTableCell = styled_1.default(TableCell_1.default)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n text-align: center !important;\n background-color: ", ";\n}\n"], ["\n text-align: center !important;\n background-color: ",
39
+ ";\n}\n"])), function (props) {
40
+ return props.rowIndex % 2 === 1 ? styles_1.TRANSLUCENT_GREY_TABLE : styles_1.TRANSLUCENT_BRIGHT_BLUE_TABLE;
41
+ });
42
+ var StyledTableHeader = styled_1.default.th(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n border: 1px solid rgba(200, 200, 200, 1);\n"], ["\n border: 1px solid rgba(200, 200, 200, 1);\n"])));
43
+ var processColumnItems = function (items) {
44
+ return items.map(function (item) {
45
+ var _a, _b, _c, _d, _e;
46
+ if (((_a = item === null || item === void 0 ? void 0 : item.item) === null || _a === void 0 ? void 0 : _a.length) && ((_b = item === null || item === void 0 ? void 0 : item.item) === null || _b === void 0 ? void 0 : _b.length) > 0) {
47
+ return {
48
+ Header: (_c = item === null || item === void 0 ? void 0 : item.text) !== null && _c !== void 0 ? _c : '',
49
+ columns: processColumnItems(item === null || item === void 0 ? void 0 : item.item),
50
+ };
51
+ }
52
+ return {
53
+ Header: (_d = item === null || item === void 0 ? void 0 : item.text) !== null && _d !== void 0 ? _d : '',
54
+ accessor: (_e = item === null || item === void 0 ? void 0 : item.linkId) !== null && _e !== void 0 ? _e : '',
55
+ };
56
+ });
57
+ };
58
+ var processResponse = function (records) {
59
+ var result = [];
60
+ records.forEach(function (record) {
61
+ var _a, _b, _c, _d, _e;
62
+ if (record === null || record === void 0 ? void 0 : record.item) {
63
+ var obj_1 = {
64
+ date: utils_1.partialDateTimeText(record.authored),
65
+ };
66
+ for (var index = 0; index < record.item.length; index++) {
67
+ var prop = (_a = record.item[index]) === null || _a === void 0 ? void 0 : _a.linkId;
68
+ var value = (_b = record.item[index]) === null || _b === void 0 ? void 0 : _b.answer;
69
+ if (prop && value) {
70
+ if ((_c = value[0]) === null || _c === void 0 ? void 0 : _c.item) {
71
+ var items = processResponseItems((_d = value[0]) === null || _d === void 0 ? void 0 : _d.item);
72
+ items.forEach(function (x) {
73
+ obj_1[x.key] = x.value;
74
+ });
75
+ }
76
+ obj_1[prop] = (_e = utils_1.answerText(value[0])) !== null && _e !== void 0 ? _e : '';
77
+ }
78
+ }
79
+ result.push(obj_1);
80
+ }
81
+ });
82
+ return result;
83
+ };
84
+ var processResponseItems = function (items) {
85
+ var result = [];
86
+ items.forEach(function (item) {
87
+ var _a, _b, _c;
88
+ var obj = {
89
+ key: '',
90
+ value: '',
91
+ };
92
+ if (item) {
93
+ var prop = item.linkId;
94
+ var value = item.answer;
95
+ if (prop && value) {
96
+ if ((_a = value[0]) === null || _a === void 0 ? void 0 : _a.item) {
97
+ var items_1 = processResponseItems((_b = value[0]) === null || _b === void 0 ? void 0 : _b.item);
98
+ items_1.forEach(function (x) { return result.push(x); });
99
+ }
100
+ obj.key = prop;
101
+ obj.value = (_c = utils_1.answerText(value[0])) !== null && _c !== void 0 ? _c : '';
102
+ }
103
+ }
104
+ result.push(obj);
105
+ });
106
+ return result;
107
+ };
108
+ var HorizontalTable = function (_a) {
109
+ var definitionItems = _a.definitionItems, records = _a.records;
110
+ var columns = __spreadArray([
111
+ {
112
+ Header: 'Record Date',
113
+ accessor: 'date',
114
+ }
115
+ ], processColumnItems(definitionItems));
116
+ var data = processResponse(records);
117
+ var _b = react_table_1.useTable({
118
+ columns: columns,
119
+ data: data,
120
+ }), getTableProps = _b.getTableProps, getTableBodyProps = _b.getTableBodyProps, headerGroups = _b.headerGroups, rows = _b.rows, prepareRow = _b.prepareRow;
121
+ return (jsx_runtime_1.jsxs(Container, { children: [jsx_runtime_1.jsx(CssBaseline_1.default, {}, void 0),
122
+ jsx_runtime_1.jsxs(Table_1.default, __assign({}, getTableProps(), { children: [jsx_runtime_1.jsx(TableHead_1.default, { children: headerGroups.map(function (headerGroup) { return (jsx_runtime_1.jsx("tr", __assign({}, headerGroup.getHeaderGroupProps(), { children: headerGroup.headers.map(function (column) { return (jsx_runtime_1.jsx(StyledTableHeader, __assign({}, column.getHeaderProps(), { children: column.render('Header') }), void 0)); }) }), void 0)); }) }, void 0),
123
+ jsx_runtime_1.jsx(TableBody_1.default, __assign({}, getTableBodyProps(), { children: rows.map(function (row, rowIdx) {
124
+ prepareRow(row);
125
+ return (jsx_runtime_1.jsx(TableRow_1.default, __assign({}, row.getRowProps(), { children: row.cells.map(function (cell) { return (jsx_runtime_1.jsx(StyledTableCell, __assign({ rowIndex: rowIdx }, cell.getCellProps(), { children: cell.render('Cell') }), void 0)); }) }), void 0));
126
+ }) }), void 0)] }), void 0)] }, void 0));
127
+ };
128
+ exports.default = HorizontalTable;
129
+ var templateObject_1, templateObject_2, templateObject_3;
130
+ //# sourceMappingURL=horizontal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizontal.js","sourceRoot":"","sources":["../../src/atoms/horizontal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ declare const QuestionnaireWithdrawnTableCell: FC<WithdrawnCellProps>;
3
+ export interface WithdrawnCellProps {
4
+ text?: string;
5
+ }
6
+ export default QuestionnaireWithdrawnTableCell;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ var jsx_runtime_1 = require("react/jsx-runtime");
11
+ var styled_1 = __importDefault(require("@emotion/styled"));
12
+ var StyledText = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n text-decoration: line-through;\n color: gray;\n"], ["\n text-decoration: line-through;\n color: gray;\n"])));
13
+ var QuestionnaireWithdrawnTableCell = function (_a) {
14
+ var text = _a.text;
15
+ return jsx_runtime_1.jsx(StyledText, { children: text !== null && text !== void 0 ? text : '' }, void 0);
16
+ };
17
+ exports.default = QuestionnaireWithdrawnTableCell;
18
+ var templateObject_1;
19
+ //# sourceMappingURL=questionnaire-withdrawn-table-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questionnaire-withdrawn-table-cell.js","sourceRoot":"","sources":["../../src/atoms/questionnaire-withdrawn-table-cell.tsx"],"names":[],"mappings":";;;;;;;;;;AACA,2DAAoC;AAEpC,IAAM,UAAU,GAAG,gBAAM,CAAC,GAAG,yHAAA,sDAG5B,IAAA,CAAA;AAED,IAAM,+BAA+B,GAA2B,UAAC,EAAQ;QAAN,IAAI,UAAA;IAAO,OAAA,kBAAC,UAAU,cAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,WAAc;AAArC,CAAqC,CAAA;AAMnH,kBAAe,+BAA+B,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { FC } from 'react';
2
+ export default function Table<TColumn, TRow>({ tableData, columnData, rowData, mapToTableData, }: IProps<TColumn, TRow>): JSX.Element;
3
+ interface IProps<TColumn, TRow> {
4
+ tableData?: TableData;
5
+ columnData?: TColumn;
6
+ rowData?: TRow;
7
+ mapToTableData?: (colItems: TColumn, rowItems: TRow) => TableData;
8
+ }
9
+ export interface ICellProps {
10
+ value: string;
11
+ row: Record<string, ReactTableCell>;
12
+ columnId: string;
13
+ }
14
+ export interface Header {
15
+ id?: string;
16
+ header: string | JSX.Element;
17
+ accessor: string;
18
+ subheaders?: Header[];
19
+ cell?: FC<ICellProps>;
20
+ }
21
+ export interface Cell {
22
+ key: string;
23
+ value: string;
24
+ render?: FC<ICellProps>;
25
+ }
26
+ export interface CellRow {
27
+ id?: string;
28
+ cells: Cell[];
29
+ render?: FC<ICellProps>;
30
+ }
31
+ export interface TableData {
32
+ headers: Header[];
33
+ rows: CellRow[];
34
+ }
35
+ export declare type ReactTableCell = string | FC<ICellProps> | Record<string, FC<ICellProps>>;
36
+ export {};
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ var jsx_runtime_1 = require("react/jsx-runtime");
22
+ var react_table_1 = require("react-table");
23
+ var CssBaseline_1 = __importDefault(require("@material-ui/core/CssBaseline"));
24
+ var Table_1 = __importDefault(require("@material-ui/core/Table"));
25
+ var TableBody_1 = __importDefault(require("@material-ui/core/TableBody"));
26
+ var TableCell_1 = __importDefault(require("@material-ui/core/TableCell"));
27
+ var TableHead_1 = __importDefault(require("@material-ui/core/TableHead"));
28
+ var TableRow_1 = __importDefault(require("@material-ui/core/TableRow"));
29
+ var styled_1 = __importDefault(require("@emotion/styled"));
30
+ var styles_1 = require("@ltht-react/styles");
31
+ var react_1 = require("react");
32
+ var Container = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: white;\n"], ["\n background-color: white;\n"])));
33
+ var StyledTableHeader = styled_1.default.th(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border: 1px solid rgba(200, 200, 200, 1);\n"], ["\n border: 1px solid rgba(200, 200, 200, 1);\n"])));
34
+ var generateColumnsFromHeadersRecursively = function (headers) {
35
+ return (headers !== null && headers !== void 0 ? headers : []).map(function (header) { return ({
36
+ id: header.id,
37
+ Header: header.header,
38
+ accessor: header.subheaders ? '' : header.accessor,
39
+ columns: header.subheaders ? generateColumnsFromHeadersRecursively(header.subheaders) : undefined,
40
+ sortType: 'basic',
41
+ // TODO: Figure out why sorting headers with subheaders causes an error and fix
42
+ disableSortBy: !!header.subheaders,
43
+ Cell: function (props) {
44
+ var _a, _b, _c, _d, _e;
45
+ return (header === null || header === void 0 ? void 0 : header.cell)
46
+ ? (_d = header === null || header === void 0 ? void 0 : header.cell({
47
+ value: props === null || props === void 0 ? void 0 : props.value,
48
+ row: (_a = props === null || props === void 0 ? void 0 : props.row) === null || _a === void 0 ? void 0 : _a.original,
49
+ columnId: (_c = (_b = props === null || props === void 0 ? void 0 : props.column) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : '',
50
+ })) !== null && _d !== void 0 ? _d : ''
51
+ : (_e = props === null || props === void 0 ? void 0 : props.value) !== null && _e !== void 0 ? _e : '';
52
+ },
53
+ }); });
54
+ };
55
+ var generateRowsFromCellRows = function (cellRows) {
56
+ return cellRows.map(function (cellRow) {
57
+ var _a;
58
+ var mappedCell = {};
59
+ var mappedCellRender = {};
60
+ cellRow.cells.forEach(function (cell) {
61
+ mappedCell[cell.key] = cell.value;
62
+ if (cell.render) {
63
+ mappedCellRender[cell.key] = cell.render;
64
+ }
65
+ });
66
+ return __assign(__assign({}, mappedCell), {
67
+ rowId: (_a = cellRow.id) !== null && _a !== void 0 ? _a : '',
68
+ render: cellRow.render ? cellRow.render : function (props) { return jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: props.value }, void 0); },
69
+ renderCells: mappedCellRender,
70
+ });
71
+ });
72
+ };
73
+ function Table(_a) {
74
+ var tableData = _a.tableData, columnData = _a.columnData, rowData = _a.rowData, mapToTableData = _a.mapToTableData;
75
+ var _b = react_1.useState([]), columns = _b[0], setColumns = _b[1];
76
+ var _c = react_1.useState([]), data = _c[0], setData = _c[1];
77
+ react_1.useEffect(function () {
78
+ var mappedTableData = columnData && rowData && mapToTableData
79
+ ? mapToTableData(columnData, rowData)
80
+ : tableData !== null && tableData !== void 0 ? tableData : { headers: [], rows: [] };
81
+ setColumns(generateColumnsFromHeadersRecursively(mappedTableData.headers));
82
+ setData(generateRowsFromCellRows(mappedTableData.rows));
83
+ }, [tableData, columnData, rowData, mapToTableData]);
84
+ var _d = react_table_1.useTable({
85
+ columns: columns,
86
+ data: data,
87
+ }, react_table_1.useSortBy), getTableProps = _d.getTableProps, getTableBodyProps = _d.getTableBodyProps, headerGroups = _d.headerGroups, rows = _d.rows, prepareRow = _d.prepareRow;
88
+ var sortIcon = function (column) {
89
+ if (column.isSorted) {
90
+ return jsx_runtime_1.jsx("span", { children: column.isSortedDesc ? ' 🔽' : ' 🔼' }, void 0);
91
+ }
92
+ return '';
93
+ };
94
+ return (jsx_runtime_1.jsxs(Container, { children: [jsx_runtime_1.jsx(CssBaseline_1.default, {}, void 0),
95
+ jsx_runtime_1.jsxs(Table_1.default, __assign({}, getTableProps(), { children: [jsx_runtime_1.jsx(TableHead_1.default, { children: headerGroups.map(function (headerGroup) { return (jsx_runtime_1.jsx("tr", __assign({}, headerGroup.getHeaderGroupProps(), { children: headerGroup.headers.map(function (column) { return (jsx_runtime_1.jsxs(StyledTableHeader, __assign({}, column.getHeaderProps(column.getSortByToggleProps()), { children: [column.render('Header'), sortIcon(column)] }), void 0)); }) }), void 0)); }) }, void 0),
96
+ jsx_runtime_1.jsx(TableBody_1.default, __assign({}, getTableBodyProps(), { children: rows.map(function (row) {
97
+ prepareRow(row);
98
+ return (jsx_runtime_1.jsx(TableRow_1.default, __assign({}, row.getRowProps(), { children: row.cells.map(function (cell, cellIdx) { return (jsx_runtime_1.jsx(TableCell_1.default, __assign({ style: {
99
+ background: cellIdx % 2 === 1 ? styles_1.TRANSLUCENT_GREY_TABLE : styles_1.TRANSLUCENT_BRIGHT_BLUE_TABLE,
100
+ textAlign: 'center',
101
+ } }, cell.getCellProps(), { children: cell.render('Cell') }), void 0)); }) }), void 0));
102
+ }) }), void 0)] }), void 0)] }, void 0));
103
+ }
104
+ exports.default = Table;
105
+ var templateObject_1, templateObject_2;
106
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/atoms/table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { Maybe, QuestionnaireItem, QuestionnaireResponse } from '@ltht-react/types';
3
+ declare const VerticalTable: FC<IProps>;
4
+ interface IProps {
5
+ definitionItems: Array<Maybe<QuestionnaireItem>>;
6
+ records: QuestionnaireResponse[];
7
+ }
8
+ export default VerticalTable;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
18
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
19
+ to[j] = from[i];
20
+ return to;
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ var jsx_runtime_1 = require("react/jsx-runtime");
27
+ var react_table_1 = require("react-table");
28
+ var CssBaseline_1 = __importDefault(require("@material-ui/core/CssBaseline"));
29
+ var Table_1 = __importDefault(require("@material-ui/core/Table"));
30
+ var TableBody_1 = __importDefault(require("@material-ui/core/TableBody"));
31
+ var TableCell_1 = __importDefault(require("@material-ui/core/TableCell"));
32
+ var TableHead_1 = __importDefault(require("@material-ui/core/TableHead"));
33
+ var TableRow_1 = __importDefault(require("@material-ui/core/TableRow"));
34
+ var styled_1 = __importDefault(require("@emotion/styled"));
35
+ var utils_1 = require("@ltht-react/utils");
36
+ var styles_1 = require("@ltht-react/styles");
37
+ var Container = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: white;\n"], ["\n background-color: white;\n"])));
38
+ var StyledTableCell = styled_1.default(TableCell_1.default)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n text-align: center !important;\n background-color: ", ";\n"], ["\n text-align: center !important;\n background-color: ",
39
+ ";\n"])), function (props) {
40
+ return props.cellIndex % 2 === 1 ? styles_1.TRANSLUCENT_GREY_TABLE : styles_1.TRANSLUCENT_BRIGHT_BLUE_TABLE;
41
+ });
42
+ var StyledTableHeader = styled_1.default.th(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n border: 1px solid rgba(200, 200, 200, 1);\n"], ["\n border: 1px solid rgba(200, 200, 200, 1);\n"])));
43
+ var VerticalTable = function (_a) {
44
+ var definitionItems = _a.definitionItems, records = _a.records;
45
+ var columns = __spreadArray([
46
+ {
47
+ Header: '',
48
+ accessor: 'property',
49
+ }
50
+ ], records.map(function (record) {
51
+ var _a, _b;
52
+ return ({
53
+ Header: (_a = utils_1.partialDateTimeText(record.authored)) !== null && _a !== void 0 ? _a : '',
54
+ accessor: (_b = record === null || record === void 0 ? void 0 : record.id) !== null && _b !== void 0 ? _b : '',
55
+ });
56
+ }));
57
+ var data = definitionItems.map(function (def) {
58
+ var _a, _b;
59
+ var obj = {};
60
+ obj.property = (_a = def === null || def === void 0 ? void 0 : def.text) !== null && _a !== void 0 ? _a : '';
61
+ obj.linkId = (_b = def === null || def === void 0 ? void 0 : def.linkId) !== null && _b !== void 0 ? _b : '';
62
+ return obj;
63
+ });
64
+ data = data.map(function (_item) {
65
+ var item = __assign({}, _item);
66
+ records.forEach(function (record) {
67
+ var _a, _b;
68
+ var find = (_a = record.item) === null || _a === void 0 ? void 0 : _a.find(function (x) { return (x === null || x === void 0 ? void 0 : x.linkId) === item.linkId; });
69
+ if (find && find.answer) {
70
+ var answer = find.answer[0];
71
+ item[record.id] = (_b = utils_1.answerText(answer)) !== null && _b !== void 0 ? _b : '';
72
+ }
73
+ });
74
+ return item;
75
+ });
76
+ var _b = react_table_1.useTable({
77
+ columns: columns,
78
+ data: data,
79
+ }), getTableProps = _b.getTableProps, getTableBodyProps = _b.getTableBodyProps, headerGroups = _b.headerGroups, rows = _b.rows, prepareRow = _b.prepareRow;
80
+ return (jsx_runtime_1.jsxs(Container, { children: [jsx_runtime_1.jsx(CssBaseline_1.default, {}, void 0),
81
+ jsx_runtime_1.jsxs(Table_1.default, __assign({}, getTableProps(), { children: [jsx_runtime_1.jsx(TableHead_1.default, { children: headerGroups.map(function (headerGroup) { return (jsx_runtime_1.jsx("tr", __assign({}, headerGroup.getHeaderGroupProps(), { children: headerGroup.headers.map(function (column) { return (jsx_runtime_1.jsx(StyledTableHeader, __assign({}, column.getHeaderProps(), { children: column.render('Header') }), void 0)); }) }), void 0)); }) }, void 0),
82
+ jsx_runtime_1.jsx(TableBody_1.default, __assign({}, getTableBodyProps(), { children: rows.map(function (row) {
83
+ prepareRow(row);
84
+ return (jsx_runtime_1.jsx(TableRow_1.default, __assign({}, row.getRowProps(), { children: row.cells.map(function (cell, cellIdx) { return (jsx_runtime_1.jsx(StyledTableCell, __assign({ cellIndex: cellIdx }, cell.getCellProps(), { children: cell.render('Cell') }), void 0)); }) }), void 0));
85
+ }) }), void 0)] }), void 0)] }, void 0));
86
+ };
87
+ exports.default = VerticalTable;
88
+ var templateObject_1, templateObject_2, templateObject_3;
89
+ //# sourceMappingURL=vertical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertical.js","sourceRoot":"","sources":["../../src/atoms/vertical.tsx"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import Table, { Header, DataEntity, TableData, CellProps } from './molecules/table';
2
- import GenericTable from './organisms/generic-table';
3
- import QuestionnaireTable from './organisms/questionnaire-table';
4
- import { AdminActionsForQuestionnaire } from './organisms/questionnaire-table-methods';
5
- export default Table;
6
- export { Header, TableData, DataEntity, CellProps, GenericTable, QuestionnaireTable, AdminActionsForQuestionnaire };
1
+ import Table, { Header, DataEntity, TableData, CellProps } from './molecules/table';
2
+ import GenericTable from './organisms/generic-table';
3
+ import QuestionnaireTable from './organisms/questionnaire-table';
4
+ import { AdminActionsForQuestionnaire } from './organisms/questionnaire-table-methods';
5
+ export default Table;
6
+ export { Header, TableData, DataEntity, CellProps, GenericTable, QuestionnaireTable, AdminActionsForQuestionnaire };
package/lib/index.js CHANGED
@@ -1,13 +1,13 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.QuestionnaireTable = exports.GenericTable = void 0;
7
- var table_1 = __importDefault(require("./molecules/table"));
8
- var generic_table_1 = __importDefault(require("./organisms/generic-table"));
9
- exports.GenericTable = generic_table_1.default;
10
- var questionnaire_table_1 = __importDefault(require("./organisms/questionnaire-table"));
11
- exports.QuestionnaireTable = questionnaire_table_1.default;
12
- exports.default = table_1.default;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.QuestionnaireTable = exports.GenericTable = void 0;
7
+ var table_1 = __importDefault(require("./molecules/table"));
8
+ var generic_table_1 = __importDefault(require("./organisms/generic-table"));
9
+ exports.GenericTable = generic_table_1.default;
10
+ var questionnaire_table_1 = __importDefault(require("./organisms/questionnaire-table"));
11
+ exports.QuestionnaireTable = questionnaire_table_1.default;
12
+ exports.default = table_1.default;
13
13
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { SummaryTableViewType } from '@ltht-react/types';
3
+ import { TableData } from '../atoms/table';
4
+ declare const GenericTable: <TColumn, TRow>({ columnData, rowData, orientation, mapToTableData }: IProps<TColumn, TRow>) => JSX.Element;
5
+ interface IProps<TColumn, TRow> {
6
+ orientation: SummaryTableViewType;
7
+ columnData: TColumn;
8
+ rowData: TRow;
9
+ mapToTableData: (colData: TColumn, rowData: TRow) => TableData;
10
+ }
11
+ export default GenericTable;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var jsx_runtime_1 = require("react/jsx-runtime");
18
+ var table_1 = __importDefault(require("../atoms/table"));
19
+ var prepareTableDataForCellCustomisation = function (tableData) {
20
+ var data = tableData;
21
+ data.headers = tableData.headers.map(function (header) { return (__assign(__assign({}, header), { cell: function (props) {
22
+ if (props.columnId !== '') {
23
+ var columnCellRender = props.row.renderCells[props.columnId];
24
+ return columnCellRender ? columnCellRender(props) : props.row.render(props);
25
+ }
26
+ return props.row.render(props);
27
+ } })); });
28
+ return data;
29
+ };
30
+ var GenericTable = function (_a) {
31
+ var columnData = _a.columnData, rowData = _a.rowData, orientation = _a.orientation, mapToTableData = _a.mapToTableData;
32
+ var tableData = mapToTableData(columnData, rowData);
33
+ return orientation === 'VERTICAL' ? (jsx_runtime_1.jsx(table_1.default, { tableData: prepareTableDataForCellCustomisation(tableData) }, void 0)) : (jsx_runtime_1.jsx(table_1.default, { tableData: tableData }, void 0));
34
+ };
35
+ exports.default = GenericTable;
36
+ //# sourceMappingURL=generic-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-table.js","sourceRoot":"","sources":["../../src/molecules/generic-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,yDAA6D;AAE7D,IAAM,oCAAoC,GAAG,UAAC,SAAoB;IAChE,IAAM,IAAI,GAAG,SAAS,CAAA;IACtB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,uBAC5C,MAAM,KACT,IAAI,EAAE,UAAC,KAAiB;YACtB,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,EAAE;gBACzB,IAAM,gBAAgB,GAAI,KAAK,CAAC,GAAG,CAAC,WAA8C,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAClG,OAAO,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,GAAG,CAAC,MAAyB,CAAC,KAAK,CAAC,CAAA;aAChG;YAED,OAAQ,KAAK,CAAC,GAAG,CAAC,MAAyB,CAAC,KAAK,CAAC,CAAA;QACpD,CAAC,IACD,EAV+C,CAU/C,CAAC,CAAA;IAEH,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,IAAM,YAAY,GAAG,UAAgB,EAA2E;QAAzE,UAAU,gBAAA,EAAE,OAAO,aAAA,EAAE,WAAW,iBAAA,EAAE,cAAc,oBAAA;IACrF,IAAM,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAErD,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,CAClC,kBAAC,eAAK,IAAC,SAAS,EAAE,oCAAoC,CAAC,SAAS,CAAC,WAAI,CACtE,CAAC,CAAC,CAAC,CACF,kBAAC,eAAK,IAAC,SAAS,EAAE,SAAS,WAAI,CAChC,CAAA;AACH,CAAC,CAAA;AAQD,kBAAe,YAAY,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { QuestionnaireItem, QuestionnaireResponse, SummaryTableViewType } from '@ltht-react/types';
2
+ import { FC } from 'react';
3
+ import { TableData } from '../atoms/table';
4
+ export declare const mapQuestionnaireObjectsToVerticalTableData: (definitionItems: Array<QuestionnaireItem>, records: QuestionnaireResponse[]) => TableData;
5
+ export declare const mapQuestionnaireObjectsToHorizontalTableData: (definitionItems: Array<QuestionnaireItem>, records: QuestionnaireResponse[]) => TableData;
6
+ declare const QuestionnaireTable: FC<IProps>;
7
+ interface IProps {
8
+ orientation: SummaryTableViewType;
9
+ definitionItems: QuestionnaireItem[];
10
+ records: QuestionnaireResponse[];
11
+ }
12
+ export default QuestionnaireTable;