@ltht-react/table 1.0.35 → 1.0.38
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/index.d.ts +2 -1
- package/lib/index.js.map +1 -1
- package/lib/molecules/table-cell.d.ts +2 -0
- package/lib/molecules/table-cell.js +5 -1
- package/lib/molecules/table-cell.js.map +1 -1
- package/lib/molecules/table.d.ts +1 -0
- package/lib/molecules/table.js +32 -10
- package/lib/molecules/table.js.map +1 -1
- package/lib/molecules/useDimensionRef.d.ts +5 -0
- package/lib/molecules/useDimensionRef.js +25 -0
- package/lib/molecules/useDimensionRef.js.map +1 -0
- package/lib/organisms/questionnaire-table-methods.d.ts +6 -1
- package/lib/organisms/questionnaire-table-methods.js +45 -17
- package/lib/organisms/questionnaire-table-methods.js.map +1 -1
- package/lib/organisms/questionnaire-table.d.ts +3 -0
- package/lib/organisms/questionnaire-table.js +3 -7
- package/lib/organisms/questionnaire-table.js.map +1 -1
- package/package.json +8 -7
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
|
+
```
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Table, { Header, DataEntity, TableData } from './molecules/table';
|
|
2
2
|
import GenericTable from './organisms/generic-table';
|
|
3
3
|
import QuestionnaireTable from './organisms/questionnaire-table';
|
|
4
|
+
import { AdminActionsForQuestionnaire } from './organisms/questionnaire-table-methods';
|
|
4
5
|
export default Table;
|
|
5
|
-
export { Header, TableData, DataEntity, GenericTable, QuestionnaireTable };
|
|
6
|
+
export { Header, TableData, DataEntity, GenericTable, QuestionnaireTable, AdminActionsForQuestionnaire };
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;AAAA,4DAAwE;AACxE,4EAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;AAAA,4DAAwE;AACxE,4EAAoD;AAKZ,uBALjC,uBAAY,CAKiC;AAJpD,wFAAgE;AAIV,6BAJ/C,6BAAkB,CAI+C;AADxE,kBAAe,eAAK,CAAA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { IconProps } from '@ltht-react/icon';
|
|
3
|
+
import { ActionMenuOption } from '@ltht-react/menu';
|
|
3
4
|
declare const TableCell: FC<CellProps>;
|
|
4
5
|
export interface CellProps {
|
|
6
|
+
adminActions?: ActionMenuOption[];
|
|
5
7
|
isButton?: boolean;
|
|
6
8
|
text?: string;
|
|
7
9
|
iconProps?: IconProps;
|
|
@@ -22,6 +22,7 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
22
22
|
var button_1 = require("@ltht-react/button");
|
|
23
23
|
var styled_1 = __importDefault(require("@emotion/styled"));
|
|
24
24
|
var icon_1 = require("@ltht-react/icon");
|
|
25
|
+
var menu_1 = __importDefault(require("@ltht-react/menu"));
|
|
25
26
|
var StyledText = styled_1.default.span(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-left: 0.4rem;\n"], ["\n margin-left: 0.4rem;\n"
|
|
26
27
|
// TODO: This component is still a WIP and will be re-factored soon!
|
|
27
28
|
// May be best to split it out into different components, the important part is unifying Type used by React-Table so the mapping can be simplified
|
|
@@ -33,10 +34,13 @@ var StyledText = styled_1.default.span(templateObject_1 || (templateObject_1 = _
|
|
|
33
34
|
// It will need to facilitate the Actions list capability Jonny Dyson has requested
|
|
34
35
|
// Betters ways of handling the customComponentOverride will be considered too
|
|
35
36
|
var TableCell = function (_a) {
|
|
36
|
-
var _b = _a.isButton, isButton = _b === void 0 ? false : _b, text = _a.text, iconProps = _a.iconProps, clickHandler = _a.clickHandler, customComponentOverride = _a.customComponentOverride;
|
|
37
|
+
var adminActions = _a.adminActions, _b = _a.isButton, isButton = _b === void 0 ? false : _b, text = _a.text, iconProps = _a.iconProps, clickHandler = _a.clickHandler, customComponentOverride = _a.customComponentOverride;
|
|
37
38
|
if (customComponentOverride) {
|
|
38
39
|
return customComponentOverride;
|
|
39
40
|
}
|
|
41
|
+
if (adminActions) {
|
|
42
|
+
return jsx_runtime_1.jsx(menu_1.default, { actions: adminActions }, void 0);
|
|
43
|
+
}
|
|
40
44
|
if (isButton) {
|
|
41
45
|
return jsx_runtime_1.jsx(button_1.Button, { type: "button", value: text, icon: iconProps && jsx_runtime_1.jsx(icon_1.Icon, __assign({}, iconProps), void 0), onClick: clickHandler }, void 0);
|
|
42
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-cell.js","sourceRoot":"","sources":["../../src/molecules/table-cell.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,6CAA2C;AAC3C,2DAAoC;AACpC,yCAA8D;
|
|
1
|
+
{"version":3,"file":"table-cell.js","sourceRoot":"","sources":["../../src/molecules/table-cell.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,6CAA2C;AAC3C,2DAAoC;AACpC,yCAA8D;AAC9D,0DAA+D;AAE/D,IAAM,UAAU,GAAG,gBAAM,CAAC,IAAI,+FAAA,4BAE7B;IAED,oEAAoE;IACpE,kJAAkJ;IAClJ,mFAAmF;IACnF,8EAA8E;IAL7E,CAAA;AAED,oEAAoE;AACpE,kJAAkJ;AAClJ,mFAAmF;AACnF,8EAA8E;AAC9E,IAAM,SAAS,GAAkB,UAAC,EAOjC;QANC,YAAY,kBAAA,EACZ,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,YAAY,kBAAA,EACZ,uBAAuB,6BAAA;IAEvB,IAAI,uBAAuB,EAAE;QAC3B,OAAO,uBAAuB,CAAA;KAC/B;IAED,IAAI,YAAY,EAAE;QAChB,OAAO,kBAAC,cAAU,IAAC,OAAO,EAAE,YAAY,WAAI,CAAA;KAC7C;IAED,IAAI,QAAQ,EAAE;QACZ,OAAO,kBAAC,eAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,IAAI,kBAAC,WAAI,eAAK,SAAS,UAAI,EAAE,OAAO,EAAE,YAAY,WAAI,CAAA;KAChH;IAED,IAAI,YAAY,IAAI,SAAS,EAAE;QAC7B,OAAO,kBAAC,iBAAU,IAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,WAAI,CAAA;KAC/E;IAED,IAAI,SAAS,EAAE;QACb,OAAO,CACL,wDACE,kBAAC,WAAI,eAAK,SAAS,UAAI;gBACtB,IAAI,IAAI,kBAAC,UAAU,cAAE,IAAI,WAAc,YACvC,CACJ,CAAA;KACF;IAED,IAAI,IAAI,EAAE;QACR,OAAO,qCAAM,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,WAAO,CAAA;KAC/B;IAED,OAAO,qDAAK,CAAA;AACd,CAAC,CAAA;AAWD,kBAAe,SAAS,CAAA"}
|
package/lib/molecules/table.d.ts
CHANGED
package/lib/molecules/table.js
CHANGED
|
@@ -24,14 +24,27 @@ var react_table_1 = require("@tanstack/react-table");
|
|
|
24
24
|
var styled_1 = __importDefault(require("@emotion/styled"));
|
|
25
25
|
var styles_1 = require("@ltht-react/styles");
|
|
26
26
|
var table_methods_1 = __importDefault(require("./table-methods"));
|
|
27
|
+
var useDimensionRef_1 = __importDefault(require("./useDimensionRef"));
|
|
27
28
|
var Container = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n background-color: white;\n border-radius: 6px;\n display: inline-block;\n max-width: 100%;\n max-height: 100%;\n overflow: scroll;\n &::-webkit-scrollbar {\n width: 7px;\n height: 7px;\n border: 0;\n }\n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: 10px;\n }\n"], ["\n ", ";\n background-color: white;\n border-radius: 6px;\n display: inline-block;\n max-width: 100%;\n max-height: 100%;\n overflow: scroll;\n &::-webkit-scrollbar {\n width: 7px;\n height: 7px;\n border: 0;\n }\n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: 10px;\n }\n"])), styles_1.CSS_RESET, styles_1.SCROLLBAR);
|
|
28
|
-
var StyledTable = styled_1.default.table(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: white;\n border-collapse:
|
|
29
|
-
var StyledTableHeader = styled_1.default.th(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background-color: ", ";\n border: thin solid
|
|
30
|
-
|
|
29
|
+
var StyledTable = styled_1.default.table(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: white;\n border-collapse: separate;\n border-spacing: 0px;\n border-radius: 6px;\n"], ["\n background-color: white;\n border-collapse: separate;\n border-spacing: 0px;\n border-radius: 6px;\n"])));
|
|
30
|
+
var StyledTableHeader = styled_1.default.th(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background-color: ", ";\n border: thin solid ", ";\n font-weight: bold;\n padding: 1rem;\n\n ", "\n"], ["\n background-color: ", ";\n border: thin solid ", ";\n font-weight: bold;\n padding: 1rem;\n\n ",
|
|
31
|
+
"\n"])), styles_1.TABLE_COLOURS.HEADER, styles_1.TABLE_COLOURS.BORDER, function (_a) {
|
|
32
|
+
var stickyWidth = _a.stickyWidth;
|
|
33
|
+
return stickyWidth !== undefined &&
|
|
34
|
+
"\n position: sticky !important;\n left: " + stickyWidth + "px;\n top: 0;\n z-index: 1;";
|
|
35
|
+
});
|
|
36
|
+
var StyledTableData = styled_1.default.td(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n border: thin solid ", ";\n white-space: nowrap;\n\n ", "\n\n &:first-of-type {\n background-color: ", " !important;\n }\n"], ["\n border: thin solid ", ";\n white-space: nowrap;\n\n ",
|
|
37
|
+
"\n\n &:first-of-type {\n background-color: ", " !important;\n }\n"])), styles_1.TABLE_COLOURS.BORDER, function (_a) {
|
|
38
|
+
var stickyWidth = _a.stickyWidth;
|
|
39
|
+
return stickyWidth !== undefined &&
|
|
40
|
+
"\n position: sticky !important;\n left: " + stickyWidth + "px;\n top: 0;\n z-index: 1;";
|
|
41
|
+
}, styles_1.TABLE_COLOURS.HEADER);
|
|
31
42
|
var Table = function (_a) {
|
|
32
|
-
var tableData = _a.tableData;
|
|
33
|
-
var
|
|
34
|
-
var
|
|
43
|
+
var tableData = _a.tableData, _b = _a.staticColumns, staticColumns = _b === void 0 ? 0 : _b;
|
|
44
|
+
var firstColumn = react_1.useRef(null);
|
|
45
|
+
var width = useDimensionRef_1.default(firstColumn).width;
|
|
46
|
+
var _c = react_1.useState({}), expanded = _c[0], setExpanded = _c[1];
|
|
47
|
+
var _d = react_1.useState([]), sorting = _d[0], setSorting = _d[1];
|
|
35
48
|
var table = react_table_1.useReactTable({
|
|
36
49
|
data: tableData.rows,
|
|
37
50
|
columns: table_methods_1.default(tableData),
|
|
@@ -46,16 +59,25 @@ var Table = function (_a) {
|
|
|
46
59
|
getExpandedRowModel: react_table_1.getExpandedRowModel(),
|
|
47
60
|
getSortedRowModel: react_table_1.getSortedRowModel(),
|
|
48
61
|
});
|
|
49
|
-
|
|
50
|
-
|
|
62
|
+
var calculateStaticColumnOffset = function (cellIdx, staticColumns, firstColumnWidth) {
|
|
63
|
+
if (cellIdx === 0) {
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
if (cellIdx < staticColumns) {
|
|
67
|
+
return firstColumnWidth;
|
|
68
|
+
}
|
|
69
|
+
return undefined;
|
|
70
|
+
};
|
|
71
|
+
return (jsx_runtime_1.jsx(Container, { children: jsx_runtime_1.jsxs(StyledTable, { children: [jsx_runtime_1.jsx("thead", { children: table.getHeaderGroups().map(function (headerGroup) { return (jsx_runtime_1.jsx("tr", { children: headerGroup.headers.map(function (header, headerIndex) {
|
|
72
|
+
return headerIndex === 0 ? (jsx_runtime_1.jsx(StyledTableHeader, __assign({ stickyWidth: calculateStaticColumnOffset(headerIndex, staticColumns, width), colSpan: header.colSpan, ref: firstColumn }, { children: header.isPlaceholder ? null : react_table_1.flexRender(header.column.columnDef.header, header.getContext()) }), header.id)) : (jsx_runtime_1.jsx(StyledTableHeader, __assign({ stickyWidth: calculateStaticColumnOffset(headerIndex, staticColumns, width), colSpan: header.colSpan }, {
|
|
51
73
|
style: {
|
|
52
74
|
cursor: header.column.getCanSort() ? 'pointer' : '',
|
|
53
75
|
},
|
|
54
76
|
onClick: header.column.getToggleSortingHandler(),
|
|
55
77
|
}, { children: header.isPlaceholder ? null : react_table_1.flexRender(header.column.columnDef.header, header.getContext()) }), header.id));
|
|
56
78
|
}) }, headerGroup.id)); }) }, void 0),
|
|
57
|
-
jsx_runtime_1.jsx("tbody", { children: table.getRowModel().rows.map(function (row) { return (jsx_runtime_1.jsx("tr", { children: row.getVisibleCells().map(function (cell, cellIdx) { return (jsx_runtime_1.jsx(StyledTableData, __assign({ style: {
|
|
58
|
-
background: cellIdx % 2 === 1 ?
|
|
79
|
+
jsx_runtime_1.jsx("tbody", { children: table.getRowModel().rows.map(function (row) { return (jsx_runtime_1.jsx("tr", { children: row.getVisibleCells().map(function (cell, cellIdx) { return (jsx_runtime_1.jsx(StyledTableData, __assign({ stickyWidth: calculateStaticColumnOffset(cellIdx, staticColumns, width), style: {
|
|
80
|
+
background: cellIdx % 2 === 1 ? styles_1.TABLE_COLOURS.STRIPE_LIGHT : styles_1.TABLE_COLOURS.STRIPE_DARK,
|
|
59
81
|
textAlign: 'center',
|
|
60
82
|
} }, { children: react_table_1.flexRender(cell.column.columnDef.cell, cell.getContext()) }), cell.id)); }) }, row.id)); }) }, void 0)] }, void 0) }, void 0));
|
|
61
83
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/molecules/table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/molecules/table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var react_1 = require("react");
|
|
4
|
+
var useDimensionsRef = function (elementRef) {
|
|
5
|
+
var _a = react_1.useState({ width: 0, height: 0 }), dimensions = _a[0], setDimensions = _a[1];
|
|
6
|
+
react_1.useEffect(function () {
|
|
7
|
+
var getDimensions = function () { return ({
|
|
8
|
+
width: (elementRef && elementRef.current && elementRef.current.offsetWidth) || 0,
|
|
9
|
+
height: (elementRef && elementRef.current && elementRef.current.offsetHeight) || 0,
|
|
10
|
+
}); };
|
|
11
|
+
var handleResize = function () {
|
|
12
|
+
setDimensions(getDimensions());
|
|
13
|
+
};
|
|
14
|
+
if (elementRef.current) {
|
|
15
|
+
setDimensions(getDimensions());
|
|
16
|
+
}
|
|
17
|
+
window.addEventListener('resize', handleResize);
|
|
18
|
+
return function () {
|
|
19
|
+
window.removeEventListener('resize', handleResize);
|
|
20
|
+
};
|
|
21
|
+
}, [elementRef]);
|
|
22
|
+
return dimensions;
|
|
23
|
+
};
|
|
24
|
+
exports.default = useDimensionsRef;
|
|
25
|
+
//# sourceMappingURL=useDimensionRef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDimensionRef.js","sourceRoot":"","sources":["../../src/molecules/useDimensionRef.tsx"],"names":[],"mappings":";;AAAA,+BAA2C;AAE3C,IAAM,gBAAgB,GAAG,UAAC,UAAwC;IAC1D,IAAA,KAA8B,gBAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAA9D,UAAU,QAAA,EAAE,aAAa,QAAqC,CAAA;IAErE,iBAAS,CAAC;QACR,IAAM,aAAa,GAAG,cAAM,OAAA,CAAC;YAC3B,KAAK,EAAE,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;YAChF,MAAM,EAAE,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;SACnF,CAAC,EAH0B,CAG1B,CAAA;QAEF,IAAM,YAAY,GAAG;YACnB,aAAa,CAAC,aAAa,EAAE,CAAC,CAAA;QAChC,CAAC,CAAA;QAED,IAAI,UAAU,CAAC,OAAO,EAAE;YACtB,aAAa,CAAC,aAAa,EAAE,CAAC,CAAA;SAC/B;QAED,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QAE/C,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QACpD,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import { ActionMenuOption } from '@ltht-react/menu';
|
|
1
2
|
import { Axis, Questionnaire, QuestionnaireResponse } from '@ltht-react/types';
|
|
2
3
|
import { TableData } from '../molecules/table';
|
|
3
|
-
declare const mapQuestionnaireDefinitionAndResponsesToTableData: (definition: Questionnaire, questionnaireResponses: QuestionnaireResponse[], axis: Axis) => TableData | undefined;
|
|
4
|
+
declare const mapQuestionnaireDefinitionAndResponsesToTableData: (definition: Questionnaire, questionnaireResponses: QuestionnaireResponse[], axis: Axis, adminActions?: AdminActionsForQuestionnaire[] | undefined) => TableData | undefined;
|
|
5
|
+
export interface AdminActionsForQuestionnaire {
|
|
6
|
+
questionnaire: string;
|
|
7
|
+
adminActions: ActionMenuOption[];
|
|
8
|
+
}
|
|
4
9
|
export default mapQuestionnaireDefinitionAndResponsesToTableData;
|
|
@@ -17,26 +17,36 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
|
17
17
|
};
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
var utils_1 = require("@ltht-react/utils");
|
|
20
|
-
var mapQuestionnaireDefinitionAndResponsesToTableData = function (definition, questionnaireResponses, axis) {
|
|
20
|
+
var mapQuestionnaireDefinitionAndResponsesToTableData = function (definition, questionnaireResponses, axis, adminActions) {
|
|
21
21
|
var definitionItems = utils_1.EnsureMaybeArray(utils_1.EnsureMaybe(definition.item, []));
|
|
22
22
|
if (definitionItems.length === 0) {
|
|
23
23
|
return undefined;
|
|
24
24
|
}
|
|
25
25
|
if (axis === 'y') {
|
|
26
|
-
return mapQuestionnaireObjectsToVerticalTableData(definitionItems, questionnaireResponses);
|
|
26
|
+
return mapQuestionnaireObjectsToVerticalTableData(definitionItems, questionnaireResponses, adminActions);
|
|
27
27
|
}
|
|
28
|
-
return mapQuestionnaireObjectsToHorizontalTableData(definitionItems, questionnaireResponses);
|
|
28
|
+
return mapQuestionnaireObjectsToHorizontalTableData(definitionItems, questionnaireResponses, adminActions);
|
|
29
29
|
};
|
|
30
|
-
var mapQuestionnaireObjectsToHorizontalTableData = function (definitionItems, records) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
var mapQuestionnaireObjectsToHorizontalTableData = function (definitionItems, records, adminActions) {
|
|
31
|
+
var tableData = {
|
|
32
|
+
headers: __spreadArray([
|
|
33
|
+
{
|
|
34
|
+
id: 'date',
|
|
35
|
+
type: 'accessor',
|
|
36
|
+
cellProps: { text: 'Record Date' },
|
|
37
|
+
}
|
|
38
|
+
], recursivelyMapQuestionnaireItemsIntoHeaders(definitionItems)),
|
|
39
|
+
rows: mapQuestionnaireResponsesIntoDataEntities(records, adminActions),
|
|
40
|
+
};
|
|
41
|
+
if (adminActions) {
|
|
42
|
+
tableData.headers.splice(1, 0, {
|
|
43
|
+
id: 'adminactions',
|
|
34
44
|
type: 'accessor',
|
|
35
|
-
cellProps: { text: '
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
45
|
+
cellProps: { text: 'Actions' },
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return tableData;
|
|
49
|
+
};
|
|
40
50
|
var recursivelyMapQuestionnaireItemsIntoHeaders = function (questionnaireItems) {
|
|
41
51
|
return questionnaireItems.map(function (questionnaireItem) {
|
|
42
52
|
var _a, _b, _c;
|
|
@@ -49,13 +59,19 @@ var recursivelyMapQuestionnaireItemsIntoHeaders = function (questionnaireItems)
|
|
|
49
59
|
};
|
|
50
60
|
});
|
|
51
61
|
};
|
|
52
|
-
var mapQuestionnaireResponsesIntoDataEntities = function (records) {
|
|
62
|
+
var mapQuestionnaireResponsesIntoDataEntities = function (records, adminActions) {
|
|
53
63
|
return records
|
|
54
64
|
.filter(function (record) { return !!record.item; })
|
|
55
65
|
.map(function (record) {
|
|
56
66
|
var _a;
|
|
57
67
|
var dataEntity = {};
|
|
58
68
|
dataEntity.date = { text: utils_1.partialDateTimeText(record.authored) };
|
|
69
|
+
if (adminActions) {
|
|
70
|
+
var adminActionsForThisDataEntity = adminActions.find(function (actionForForm) { return actionForForm.questionnaire === record.id; });
|
|
71
|
+
if (adminActionsForThisDataEntity) {
|
|
72
|
+
dataEntity.adminactions = { adminActions: adminActionsForThisDataEntity.adminActions };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
59
75
|
(_a = record.item) === null || _a === void 0 ? void 0 : _a.filter(function (item) { return (item === null || item === void 0 ? void 0 : item.linkId) && (item === null || item === void 0 ? void 0 : item.answer); }).forEach(function (item) {
|
|
60
76
|
var _a;
|
|
61
77
|
var linkId = utils_1.EnsureMaybe(item === null || item === void 0 ? void 0 : item.linkId);
|
|
@@ -83,7 +99,7 @@ var recursivelyMapResponseItemsOntoData = function (items, dataEntity) {
|
|
|
83
99
|
});
|
|
84
100
|
return updatedDataEntity;
|
|
85
101
|
};
|
|
86
|
-
var mapQuestionnaireObjectsToVerticalTableData = function (definitionItems, records) { return ({
|
|
102
|
+
var mapQuestionnaireObjectsToVerticalTableData = function (definitionItems, records, adminActions) { return ({
|
|
87
103
|
headers: __spreadArray([
|
|
88
104
|
{
|
|
89
105
|
id: 'property',
|
|
@@ -98,14 +114,26 @@ var mapQuestionnaireObjectsToVerticalTableData = function (definitionItems, reco
|
|
|
98
114
|
cellProps: { text: (_b = utils_1.partialDateTimeText(record.authored)) !== null && _b !== void 0 ? _b : '' },
|
|
99
115
|
});
|
|
100
116
|
})),
|
|
101
|
-
rows: buildVerticalCellRows(definitionItems, records),
|
|
117
|
+
rows: buildVerticalCellRows(definitionItems, records, adminActions),
|
|
102
118
|
}); };
|
|
103
|
-
var buildVerticalCellRows = function (definitionItems, records) {
|
|
104
|
-
|
|
119
|
+
var buildVerticalCellRows = function (definitionItems, records, adminActions) {
|
|
120
|
+
var dataEntities = definitionItems.map(function (item) {
|
|
105
121
|
var dataEntity = {};
|
|
106
122
|
dataEntity = buildVerticalCellRowsRecursive(utils_1.EnsureMaybeArray([item]), records, dataEntity);
|
|
107
123
|
return dataEntity;
|
|
108
124
|
});
|
|
125
|
+
if (adminActions) {
|
|
126
|
+
var actionsDataEntity_1 = {};
|
|
127
|
+
actionsDataEntity_1.property = { text: 'Actions' };
|
|
128
|
+
records.forEach(function (record, recordIndex) {
|
|
129
|
+
var adminActionsForThisDataEntity = adminActions.find(function (actionForForm) { return actionForForm.questionnaire === record.id; });
|
|
130
|
+
if (adminActionsForThisDataEntity) {
|
|
131
|
+
actionsDataEntity_1[recordIndex + 1] = { adminActions: adminActionsForThisDataEntity.adminActions };
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
return [actionsDataEntity_1].concat(dataEntities);
|
|
135
|
+
}
|
|
136
|
+
return dataEntities;
|
|
109
137
|
};
|
|
110
138
|
var buildVerticalCellRowsRecursive = function (definitionItems, records, dataEntity) {
|
|
111
139
|
var updatedDataEntity = __assign({}, dataEntity);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questionnaire-table-methods.js","sourceRoot":"","sources":["../../src/organisms/questionnaire-table-methods.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"questionnaire-table-methods.js","sourceRoot":"","sources":["../../src/organisms/questionnaire-table-methods.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { QuestionnaireResponse, Axis, Questionnaire } from '@ltht-react/types';
|
|
2
2
|
import { FC } from 'react';
|
|
3
|
+
import { AdminActionsForQuestionnaire } from './questionnaire-table-methods';
|
|
3
4
|
declare const QuestionnaireTable: FC<IProps>;
|
|
4
5
|
interface IProps {
|
|
5
6
|
definition: Questionnaire;
|
|
6
7
|
records: QuestionnaireResponse[];
|
|
7
8
|
headerAxis?: Axis;
|
|
9
|
+
adminActions?: AdminActionsForQuestionnaire[];
|
|
10
|
+
staticColumns?: 0 | 1 | 2;
|
|
8
11
|
}
|
|
9
12
|
export default QuestionnaireTable;
|
|
@@ -9,19 +9,15 @@ var icon_1 = require("@ltht-react/icon");
|
|
|
9
9
|
var table_1 = __importDefault(require("../molecules/table"));
|
|
10
10
|
var questionnaire_table_methods_1 = __importDefault(require("./questionnaire-table-methods"));
|
|
11
11
|
var QuestionnaireTable = function (_a) {
|
|
12
|
-
var definition = _a.definition, records = _a.records, _b = _a.headerAxis, headerAxis = _b === void 0 ? 'y' : _b;
|
|
13
|
-
var tableData = react_1.useMemo(function () { return questionnaire_table_methods_1.default(definition, records, headerAxis); }, [
|
|
14
|
-
headerAxis,
|
|
15
|
-
definition,
|
|
16
|
-
records,
|
|
17
|
-
]);
|
|
12
|
+
var definition = _a.definition, records = _a.records, _b = _a.headerAxis, headerAxis = _b === void 0 ? 'y' : _b, _c = _a.staticColumns, staticColumns = _c === void 0 ? 0 : _c, adminActions = _a.adminActions;
|
|
13
|
+
var tableData = react_1.useMemo(function () { return questionnaire_table_methods_1.default(definition, records, headerAxis, adminActions); }, [headerAxis, definition, records, adminActions]);
|
|
18
14
|
// TODO: Replace this fragment with a properly styled error component.
|
|
19
15
|
// Maybe this could be a re-usable atom?
|
|
20
16
|
if (!tableData) {
|
|
21
17
|
return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [jsx_runtime_1.jsx(icon_1.Icon, { type: "exclamation", size: "large", status: "red" }, void 0),
|
|
22
18
|
jsx_runtime_1.jsx("div", { children: "An error occurred whilst loading this table." }, void 0)] }, void 0));
|
|
23
19
|
}
|
|
24
|
-
return jsx_runtime_1.jsx(table_1.default, { tableData: tableData }, void 0);
|
|
20
|
+
return jsx_runtime_1.jsx(table_1.default, { tableData: tableData, staticColumns: staticColumns }, void 0);
|
|
25
21
|
};
|
|
26
22
|
exports.default = QuestionnaireTable;
|
|
27
23
|
//# sourceMappingURL=questionnaire-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questionnaire-table.js","sourceRoot":"","sources":["../../src/organisms/questionnaire-table.tsx"],"names":[],"mappings":";;;;;;AACA,+BAAmC;AACnC,yCAAuC;AACvC,6DAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"questionnaire-table.js","sourceRoot":"","sources":["../../src/organisms/questionnaire-table.tsx"],"names":[],"mappings":";;;;;;AACA,+BAAmC;AACnC,yCAAuC;AACvC,6DAAsC;AACtC,8FAEsC;AAEtC,IAAM,kBAAkB,GAAe,UAAC,EAA0E;QAAxE,UAAU,gBAAA,EAAE,OAAO,aAAA,EAAE,kBAAgB,EAAhB,UAAU,mBAAG,GAAG,KAAA,EAAE,qBAAiB,EAAjB,aAAa,mBAAG,CAAC,KAAA,EAAE,YAAY,kBAAA;IAC9G,IAAM,SAAS,GAAG,eAAO,CACvB,cAAM,OAAA,qCAAiD,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,EAAhG,CAAgG,EACtG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAChD,CAAA;IAED,sEAAsE;IACtE,wCAAwC;IACxC,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,CACL,wDACE,kBAAC,WAAI,IAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAC,KAAK,WAAG;gBACrD,8FAAuD,YACtD,CACJ,CAAA;KACF;IAED,OAAO,kBAAC,eAAK,IAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,WAAI,CAAA;AACtE,CAAC,CAAA;AAUD,kBAAe,kBAAkB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ltht-react/table",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.38",
|
|
4
4
|
"description": "ltht-react Table component.",
|
|
5
5
|
"author": "LTHT",
|
|
6
6
|
"homepage": "",
|
|
@@ -27,16 +27,17 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@emotion/react": "^11.0.0",
|
|
29
29
|
"@emotion/styled": "^11.0.0",
|
|
30
|
-
"@ltht-react/button": "^1.3.
|
|
31
|
-
"@ltht-react/icon": "^1.3.
|
|
32
|
-
"@ltht-react/
|
|
33
|
-
"@ltht-react/
|
|
34
|
-
"@ltht-react/
|
|
30
|
+
"@ltht-react/button": "^1.3.163",
|
|
31
|
+
"@ltht-react/icon": "^1.3.163",
|
|
32
|
+
"@ltht-react/menu": "^1.0.5",
|
|
33
|
+
"@ltht-react/styles": "^1.3.155",
|
|
34
|
+
"@ltht-react/types": "^1.0.159",
|
|
35
|
+
"@ltht-react/utils": "^1.1.161",
|
|
35
36
|
"@tanstack/react-table": "^8.5.22",
|
|
36
37
|
"react": "^17.0.0",
|
|
37
38
|
"react-uuid": "^2.0.0"
|
|
38
39
|
},
|
|
39
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "048cb438b4a02c4ee4eac7c4557a1976085023a6",
|
|
40
41
|
"devDependencies": {
|
|
41
42
|
"@types/react-table": "^7.7.12"
|
|
42
43
|
}
|