@ltht-react/table 1.0.102 → 1.0.107
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.
- package/README.md +15 -15
- package/lib/atoms/horizontal.d.ts +8 -0
- package/lib/atoms/horizontal.js +130 -0
- package/lib/atoms/horizontal.js.map +1 -0
- package/lib/atoms/table.d.ts +36 -0
- package/lib/atoms/table.js +106 -0
- package/lib/atoms/table.js.map +1 -0
- package/lib/atoms/vertical.d.ts +8 -0
- package/lib/atoms/vertical.js +89 -0
- package/lib/atoms/vertical.js.map +1 -0
- package/lib/index.d.ts +6 -6
- package/lib/index.js +12 -12
- package/lib/molecules/generic-table.d.ts +11 -0
- package/lib/molecules/generic-table.js +36 -0
- package/lib/molecules/generic-table.js.map +1 -0
- package/lib/molecules/questionnaire-table.d.ts +12 -0
- package/lib/molecules/questionnaire-table.js +131 -0
- package/lib/molecules/questionnaire-table.js.map +1 -0
- package/lib/molecules/table-cell.d.ts +16 -14
- package/lib/molecules/table-cell.js +92 -61
- package/lib/molecules/table-cell.js.map +1 -1
- package/lib/molecules/table-component.d.ts +22 -22
- package/lib/molecules/table-component.js +71 -71
- package/lib/molecules/table-component.js.map +1 -1
- package/lib/molecules/table-methods.d.ts +12 -12
- package/lib/molecules/table-methods.js +209 -198
- package/lib/molecules/table-methods.js.map +1 -1
- package/lib/molecules/table-styled-components.d.ts +86 -86
- package/lib/molecules/table-styled-components.js +105 -86
- package/lib/molecules/table-styled-components.js.map +1 -1
- package/lib/molecules/table.d.ts +37 -37
- package/lib/molecules/table.js +98 -98
- package/lib/molecules/useDimensionRef.d.ts +5 -5
- package/lib/molecules/useDimensionRef.js +30 -30
- package/lib/molecules/useScrollRef.d.ts +8 -8
- package/lib/molecules/useScrollRef.js +27 -27
- package/lib/organisms/generic-table.d.ts +11 -11
- package/lib/organisms/generic-table.js +35 -35
- package/lib/organisms/questionnaire-table-methods.d.ts +9 -9
- package/lib/organisms/questionnaire-table-methods.js +208 -208
- package/lib/organisms/questionnaire-table.d.ts +13 -13
- package/lib/organisms/questionnaire-table.js +44 -44
- package/lib/organisms/questionnaire-table.js.map +1 -1
- package/lib/types.d.ts +3 -0
- package/lib/types.js +3 -0
- package/lib/types.js.map +1 -0
- 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,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;
|