@ltht-react/table 1.0.42 → 1.0.43
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/lib/molecules/table-component.d.ts +20 -0
- package/lib/molecules/table-component.js +73 -0
- package/lib/molecules/table-component.js.map +1 -0
- package/lib/molecules/table-methods.d.ts +10 -2
- package/lib/molecules/table-methods.js +97 -1
- package/lib/molecules/table-methods.js.map +1 -1
- package/lib/molecules/table-styled-components.d.ts +79 -0
- package/lib/molecules/table-styled-components.js +74 -0
- package/lib/molecules/table-styled-components.js.map +1 -0
- package/lib/molecules/table.d.ts +16 -7
- package/lib/molecules/table.js +73 -60
- package/lib/molecules/table.js.map +1 -1
- package/lib/molecules/useDimensionRef.d.ts +1 -1
- package/lib/molecules/useDimensionRef.js +11 -5
- package/lib/molecules/useDimensionRef.js.map +1 -1
- package/lib/molecules/useScrollRef.d.ts +8 -0
- package/lib/molecules/useScrollRef.js +28 -0
- package/lib/molecules/useScrollRef.js.map +1 -0
- package/lib/organisms/generic-table.d.ts +9 -1
- package/lib/organisms/generic-table.js +24 -2
- package/lib/organisms/generic-table.js.map +1 -1
- package/lib/organisms/questionnaire-table.d.ts +6 -0
- package/lib/organisms/questionnaire-table.js +24 -2
- package/lib/organisms/questionnaire-table.js.map +1 -1
- package/package.json +8 -8
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Table } from '@tanstack/react-table';
|
|
3
|
+
declare const TableComponent: <T>({ table, staticColumns }: ITableHeadProps<T>) => JSX.Element;
|
|
4
|
+
declare const TableNavigationButton: ({ position, hidden, clickHandler }: ITableNavButtonProps) => JSX.Element;
|
|
5
|
+
declare const TableSpinner: ({ position, hidden }: ITableSpinnerProps) => JSX.Element;
|
|
6
|
+
interface ITableNavButtonProps {
|
|
7
|
+
position: 'bottom' | 'right';
|
|
8
|
+
hidden: boolean;
|
|
9
|
+
clickHandler: () => void;
|
|
10
|
+
}
|
|
11
|
+
interface ITableSpinnerProps {
|
|
12
|
+
position: 'bottom' | 'right';
|
|
13
|
+
hidden: boolean;
|
|
14
|
+
}
|
|
15
|
+
interface ITableHeadProps<T> {
|
|
16
|
+
table: Table<T>;
|
|
17
|
+
staticColumns: 0 | 1 | 2;
|
|
18
|
+
}
|
|
19
|
+
export default TableComponent;
|
|
20
|
+
export { TableNavigationButton, TableSpinner };
|
|
@@ -0,0 +1,73 @@
|
|
|
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
|
+
exports.TableSpinner = exports.TableNavigationButton = void 0;
|
|
18
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
|
+
var icon_1 = require("@ltht-react/icon");
|
|
20
|
+
var styles_1 = require("@ltht-react/styles");
|
|
21
|
+
var react_table_1 = require("@tanstack/react-table");
|
|
22
|
+
var react_1 = require("react");
|
|
23
|
+
var table_methods_1 = require("./table-methods");
|
|
24
|
+
var table_styled_components_1 = require("./table-styled-components");
|
|
25
|
+
var useDimensionRef_1 = __importDefault(require("./useDimensionRef"));
|
|
26
|
+
var TableComponent = function (_a) {
|
|
27
|
+
var table = _a.table, staticColumns = _a.staticColumns;
|
|
28
|
+
var firstColumn = react_1.useRef(null);
|
|
29
|
+
var secondColumn = react_1.useRef(null);
|
|
30
|
+
var tableElement = react_1.useRef(null);
|
|
31
|
+
var firstColumnWidth = useDimensionRef_1.default(firstColumn, tableElement).width;
|
|
32
|
+
var secondColumnWidth = useDimensionRef_1.default(secondColumn, tableElement).width;
|
|
33
|
+
var usingExpanderColumn = table.getHeaderGroups().some(function (x) { return x.headers.some(function (h) { return h.column.id === 'expander'; }); });
|
|
34
|
+
var totalStaticColumns = react_1.useMemo(function () { return (usingExpanderColumn ? staticColumns + 1 : staticColumns); }, [
|
|
35
|
+
usingExpanderColumn,
|
|
36
|
+
staticColumns,
|
|
37
|
+
]);
|
|
38
|
+
var getHeaderColumn = function (header, headerIndex) {
|
|
39
|
+
switch (headerIndex) {
|
|
40
|
+
case 0:
|
|
41
|
+
return getHeaderElement(header, table_methods_1.calculateStaticColumnOffset(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth), firstColumn);
|
|
42
|
+
case 1:
|
|
43
|
+
return getHeaderElement(header, table_methods_1.calculateStaticColumnOffset(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth), secondColumn);
|
|
44
|
+
default:
|
|
45
|
+
return getHeaderElement(header, table_methods_1.calculateStaticColumnOffset(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth));
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var getHeaderElement = function (header, stickyWidth, elementRef) { return (jsx_runtime_1.jsx(table_styled_components_1.StyledTableHeader, __assign({ stickyWidth: stickyWidth, colSpan: header.colSpan, ref: elementRef, role: "columnheader" }, (header.column.id !== 'expander'
|
|
49
|
+
? {
|
|
50
|
+
style: {
|
|
51
|
+
cursor: header.column.getCanSort() ? 'pointer' : '',
|
|
52
|
+
},
|
|
53
|
+
onClick: header.column.getToggleSortingHandler(),
|
|
54
|
+
}
|
|
55
|
+
: {}), { children: header.isPlaceholder ? null : react_table_1.flexRender(header.column.columnDef.header, header.getContext()) }), header.id)); };
|
|
56
|
+
return (jsx_runtime_1.jsxs(table_styled_components_1.StyledTable, __assign({ ref: tableElement }, { children: [jsx_runtime_1.jsx(table_styled_components_1.StyledTHead, { children: table.getHeaderGroups().map(function (headerGroup) { return (jsx_runtime_1.jsx("tr", __assign({ role: "row" }, { children: headerGroup.headers.map(function (header, headerIndex) { return getHeaderColumn(header, headerIndex); }) }), headerGroup.id)); }) }, void 0),
|
|
57
|
+
jsx_runtime_1.jsx("tbody", { children: table.getRowModel().rows.map(function (row) { return (jsx_runtime_1.jsx("tr", __assign({ role: "row" }, { children: row.getVisibleCells().map(function (cell, cellIdx) { return (jsx_runtime_1.jsx(table_styled_components_1.StyledTableData, __assign({ stickyWidth: table_methods_1.calculateStaticColumnOffset(cellIdx, totalStaticColumns, firstColumnWidth, secondColumnWidth), style: {
|
|
58
|
+
background: cellIdx % 2 === 1 ? styles_1.TABLE_COLOURS.STRIPE_LIGHT : styles_1.TABLE_COLOURS.STRIPE_DARK,
|
|
59
|
+
textAlign: 'center',
|
|
60
|
+
}, role: "cell" }, { children: react_table_1.flexRender(cell.column.columnDef.cell, cell.getContext()) }), cell.id)); }) }), row.id)); }) }, void 0)] }), void 0));
|
|
61
|
+
};
|
|
62
|
+
var TableNavigationButton = function (_a) {
|
|
63
|
+
var position = _a.position, hidden = _a.hidden, clickHandler = _a.clickHandler;
|
|
64
|
+
return (jsx_runtime_1.jsx(table_styled_components_1.StyledNextPageButtonContainer, __assign({ role: "button", elementPosition: position, onClick: function () { return clickHandler(); }, hidden: hidden }, { children: jsx_runtime_1.jsx(icon_1.Icon, { type: "chevron", direction: position === 'bottom' ? 'down' : 'right', size: "medium" }, void 0) }), void 0));
|
|
65
|
+
};
|
|
66
|
+
exports.TableNavigationButton = TableNavigationButton;
|
|
67
|
+
var TableSpinner = function (_a) {
|
|
68
|
+
var position = _a.position, hidden = _a.hidden;
|
|
69
|
+
return (jsx_runtime_1.jsx(table_styled_components_1.StyledSpinnerContainer, __assign({ elementPosition: position, hidden: hidden }, { children: jsx_runtime_1.jsx(icon_1.Icon, { type: "spinner", size: "medium", title: "Loading..." }, void 0) }), void 0));
|
|
70
|
+
};
|
|
71
|
+
exports.TableSpinner = TableSpinner;
|
|
72
|
+
exports.default = TableComponent;
|
|
73
|
+
//# sourceMappingURL=table-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-component.js","sourceRoot":"","sources":["../../src/molecules/table-component.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import { ColumnDef } from '@tanstack/react-table';
|
|
1
|
+
import { ColumnDef, Table } from '@tanstack/react-table';
|
|
2
|
+
import { Axis } from '@ltht-react/types';
|
|
3
|
+
import React from 'react';
|
|
2
4
|
import { TableData, DataEntity } from './table';
|
|
5
|
+
import { ScrollState } from './useScrollRef';
|
|
3
6
|
declare const createColumns: (tableData: TableData) => ColumnDef<DataEntity>[];
|
|
4
|
-
|
|
7
|
+
declare const calculateStaticColumnOffset: (cellIdx: number, staticColumns: number, firstColumnWidth: number, secondColumnWidth: number) => number | undefined;
|
|
8
|
+
declare const handleScrollEvent: (table: Table<DataEntity>, headerAxis: Axis, scrollState: ScrollState) => void;
|
|
9
|
+
declare const handleScrollEventManual: (getCanNextPage: () => boolean, nextPage: () => void, headerAxis: Axis, scrollState: ScrollState) => void;
|
|
10
|
+
declare const handleDataUpdate: (tableData: TableData, pageIndex: number, pageSize: number, headerAxis: Axis, setColumns: (value: React.SetStateAction<ColumnDef<DataEntity>[]>) => void, setData: (value: React.SetStateAction<DataEntity[]>) => void, setPageCount: (value: React.SetStateAction<number>) => void) => void;
|
|
11
|
+
declare const handleDataUpdateForManualPagination: (tableData: TableData, headerAxis: Axis, setColumns: (value: React.SetStateAction<ColumnDef<DataEntity>[]>) => void, setData: (value: React.SetStateAction<DataEntity[]>) => void) => void;
|
|
12
|
+
export { createColumns, calculateStaticColumnOffset, handleScrollEvent, handleScrollEventManual, handleDataUpdate, handleDataUpdateForManualPagination, };
|
|
@@ -10,10 +10,16 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
14
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
15
|
+
to[j] = from[i];
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
13
18
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
19
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
20
|
};
|
|
16
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.handleDataUpdateForManualPagination = exports.handleDataUpdate = exports.handleScrollEventManual = exports.handleScrollEvent = exports.calculateStaticColumnOffset = exports.createColumns = void 0;
|
|
17
23
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
18
24
|
var react_table_1 = require("@tanstack/react-table");
|
|
19
25
|
var table_cell_1 = __importDefault(require("./table-cell"));
|
|
@@ -25,6 +31,7 @@ var createColumns = function (tableData) {
|
|
|
25
31
|
}
|
|
26
32
|
return columns;
|
|
27
33
|
};
|
|
34
|
+
exports.createColumns = createColumns;
|
|
28
35
|
var createColumnsRecursively = function (headers, columnHelper) {
|
|
29
36
|
var result = headers.map(function (header) {
|
|
30
37
|
var _a, _b;
|
|
@@ -99,5 +106,94 @@ var prependColumnWithExpansionControls = function (columns, columnHelper) {
|
|
|
99
106
|
});
|
|
100
107
|
return [expanderColumn].concat(columns);
|
|
101
108
|
};
|
|
102
|
-
|
|
109
|
+
var calculateStaticColumnOffset = function (cellIdx, staticColumns, firstColumnWidth, secondColumnWidth) {
|
|
110
|
+
if (staticColumns === 0) {
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
switch (cellIdx) {
|
|
114
|
+
case 0:
|
|
115
|
+
return 0;
|
|
116
|
+
case 1:
|
|
117
|
+
return cellIdx < staticColumns ? firstColumnWidth : undefined;
|
|
118
|
+
case 2:
|
|
119
|
+
return cellIdx < staticColumns ? firstColumnWidth + secondColumnWidth : undefined;
|
|
120
|
+
default:
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
exports.calculateStaticColumnOffset = calculateStaticColumnOffset;
|
|
125
|
+
var handleScrollEvent = function (table, headerAxis, scrollState) {
|
|
126
|
+
var scrollWidth = scrollState.scrollWidth, scrollHeight = scrollState.scrollHeight, currentXScroll = scrollState.currentXScroll, currentYScroll = scrollState.currentYScroll;
|
|
127
|
+
if (headerAxis === 'x' &&
|
|
128
|
+
currentYScroll >= scrollHeight - getPercentageOfMax(5, scrollHeight) &&
|
|
129
|
+
currentYScroll <= scrollHeight &&
|
|
130
|
+
table.getCanNextPage()) {
|
|
131
|
+
table.nextPage();
|
|
132
|
+
}
|
|
133
|
+
if (headerAxis === 'y' &&
|
|
134
|
+
currentXScroll >= scrollWidth - getPercentageOfMax(5, scrollWidth) &&
|
|
135
|
+
currentXScroll <= scrollWidth &&
|
|
136
|
+
table.getCanNextPage()) {
|
|
137
|
+
table.nextPage();
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
exports.handleScrollEvent = handleScrollEvent;
|
|
141
|
+
var getPercentageOfMax = function (percentage, max) { return max * (percentage / 100); };
|
|
142
|
+
var handleScrollEventManual = function (getCanNextPage, nextPage, headerAxis, scrollState) {
|
|
143
|
+
var scrollWidth = scrollState.scrollWidth, scrollHeight = scrollState.scrollHeight, currentXScroll = scrollState.currentXScroll, currentYScroll = scrollState.currentYScroll;
|
|
144
|
+
if (headerAxis === 'x' &&
|
|
145
|
+
currentYScroll >= scrollHeight - getPercentageOfMax(5, scrollHeight) &&
|
|
146
|
+
currentYScroll <= scrollHeight &&
|
|
147
|
+
getCanNextPage()) {
|
|
148
|
+
nextPage();
|
|
149
|
+
}
|
|
150
|
+
if (headerAxis === 'y' &&
|
|
151
|
+
currentXScroll >= scrollWidth - getPercentageOfMax(5, scrollWidth) &&
|
|
152
|
+
currentXScroll <= scrollWidth &&
|
|
153
|
+
getCanNextPage()) {
|
|
154
|
+
nextPage();
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
exports.handleScrollEventManual = handleScrollEventManual;
|
|
158
|
+
var handleDataUpdate = function (tableData, pageIndex, pageSize, headerAxis, setColumns, setData, setPageCount) {
|
|
159
|
+
if (tableData && tableData.headers.length > 0) {
|
|
160
|
+
if (headerAxis === 'x') {
|
|
161
|
+
setColumns(createColumns(tableData));
|
|
162
|
+
setData(tableData.rows.slice(0, (pageIndex + 1) * pageSize));
|
|
163
|
+
setPageCount(Math.ceil(tableData.rows.length / pageSize));
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
var head = tableData.headers[0];
|
|
167
|
+
var tail = tableData.headers.slice(1, tableData.headers.length);
|
|
168
|
+
setColumns(createColumns({ headers: __spreadArray([head], tail.slice(0, (pageIndex + 1) * pageSize)), rows: tableData.rows }));
|
|
169
|
+
setData(tableData.rows);
|
|
170
|
+
setPageCount(Math.ceil(tail.length / pageSize));
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
exports.handleDataUpdate = handleDataUpdate;
|
|
175
|
+
var calculateSliceStartPoint = function (oldLength, usingExpanderColumn) {
|
|
176
|
+
if (oldLength > 0) {
|
|
177
|
+
return usingExpanderColumn ? 2 : 1;
|
|
178
|
+
}
|
|
179
|
+
return 0;
|
|
180
|
+
};
|
|
181
|
+
var handleDataUpdateForManualPagination = function (tableData, headerAxis, setColumns, setData) {
|
|
182
|
+
if (headerAxis === 'x') {
|
|
183
|
+
setData(function (old) {
|
|
184
|
+
var newData = __spreadArray(__spreadArray([], old), tableData.rows);
|
|
185
|
+
setColumns(createColumns({ headers: tableData.headers, rows: newData }));
|
|
186
|
+
return newData;
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
else if (tableData.headers.length > 0) {
|
|
190
|
+
setColumns(function (old) {
|
|
191
|
+
var newColumns = createColumns(tableData);
|
|
192
|
+
var sliceStartPoint = calculateSliceStartPoint(old.length, tableData.rows.some(function (x) { return x.subRows; }));
|
|
193
|
+
return __spreadArray(__spreadArray([], old), newColumns.slice(sliceStartPoint, newColumns.length));
|
|
194
|
+
});
|
|
195
|
+
setData(tableData.rows);
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
exports.handleDataUpdateForManualPagination = handleDataUpdateForManualPagination;
|
|
103
199
|
//# sourceMappingURL=table-methods.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-methods.js","sourceRoot":"","sources":["../../src/molecules/table-methods.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table-methods.js","sourceRoot":"","sources":["../../src/molecules/table-methods.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Axis } from '@ltht-react/types';
|
|
3
|
+
declare const ScrollableContainer: import("@emotion/styled").StyledComponent<{
|
|
4
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
5
|
+
as?: import("react").ElementType<any> | undefined;
|
|
6
|
+
} & IScrollableContainer, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
7
|
+
declare const StyledTable: import("@emotion/styled").StyledComponent<{
|
|
8
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
9
|
+
as?: import("react").ElementType<any> | undefined;
|
|
10
|
+
}, import("react").DetailedHTMLProps<import("react").TableHTMLAttributes<HTMLTableElement>, HTMLTableElement>, {}>;
|
|
11
|
+
declare const StyledTableHeader: import("@emotion/styled").StyledComponent<{
|
|
12
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
13
|
+
as?: import("react").ElementType<any> | undefined;
|
|
14
|
+
} & IStyledTableCell, import("react").DetailedHTMLProps<import("react").ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement>, {}>;
|
|
15
|
+
declare const StyledTableData: import("@emotion/styled").StyledComponent<{
|
|
16
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
17
|
+
as?: import("react").ElementType<any> | undefined;
|
|
18
|
+
} & IStyledTableCell, import("react").DetailedHTMLProps<import("react").TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {}>;
|
|
19
|
+
declare const PaginationContainer: import("@emotion/styled").StyledComponent<{
|
|
20
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
21
|
+
as?: import("react").ElementType<any> | undefined;
|
|
22
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
23
|
+
declare const StyledPaginationPageInput: import("@emotion/styled").StyledComponent<{
|
|
24
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
25
|
+
as?: import("react").ElementType<any> | undefined;
|
|
26
|
+
}, import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, {}>;
|
|
27
|
+
declare const StyledPaginationPageSelect: import("@emotion/styled").StyledComponent<{
|
|
28
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
29
|
+
as?: import("react").ElementType<any> | undefined;
|
|
30
|
+
}, import("react").DetailedHTMLProps<import("react").SelectHTMLAttributes<HTMLSelectElement>, HTMLSelectElement>, {}>;
|
|
31
|
+
declare const StyledHideOnMobile: import("@emotion/styled").StyledComponent<{
|
|
32
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
33
|
+
as?: import("react").ElementType<any> | undefined;
|
|
34
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
|
|
35
|
+
declare const StyledPaginationButtonDiv: import("@emotion/styled").StyledComponent<{
|
|
36
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
37
|
+
as?: import("react").ElementType<any> | undefined;
|
|
38
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
39
|
+
declare const StyledPageCountDiv: import("@emotion/styled").StyledComponent<{
|
|
40
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
41
|
+
as?: import("react").ElementType<any> | undefined;
|
|
42
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
43
|
+
declare const StyledStandardButton: import("@emotion/styled").StyledComponent<import("@ltht-react/icon/lib/organisms/icon-button").IconButtonProps & {
|
|
44
|
+
children?: import("react").ReactNode;
|
|
45
|
+
} & {
|
|
46
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
47
|
+
}, {}, {}>;
|
|
48
|
+
declare const StyledPaginationButton: import("@emotion/styled").StyledComponent<import("@ltht-react/icon/lib/organisms/icon-button").IconButtonProps & {
|
|
49
|
+
children?: import("react").ReactNode;
|
|
50
|
+
} & {
|
|
51
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
52
|
+
}, {}, {}>;
|
|
53
|
+
declare const StyledSpinnerIcon: import("@emotion/styled").StyledComponent<import("@ltht-react/icon").IconProps & {
|
|
54
|
+
children?: import("react").ReactNode;
|
|
55
|
+
} & {
|
|
56
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
57
|
+
}, {}, {}>;
|
|
58
|
+
declare const StyledNextPageButtonContainer: import("@emotion/styled").StyledComponent<{
|
|
59
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
60
|
+
as?: import("react").ElementType<any> | undefined;
|
|
61
|
+
} & IStyledNextPageButtonContainer, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
62
|
+
declare const StyledSpinnerContainer: import("@emotion/styled").StyledComponent<{
|
|
63
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
64
|
+
as?: import("react").ElementType<any> | undefined;
|
|
65
|
+
} & IStyledNextPageButtonContainer, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
66
|
+
declare const StyledTHead: import("@emotion/styled").StyledComponent<{
|
|
67
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
68
|
+
as?: import("react").ElementType<any> | undefined;
|
|
69
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, {}>;
|
|
70
|
+
interface IStyledTableCell {
|
|
71
|
+
stickyWidth?: number;
|
|
72
|
+
}
|
|
73
|
+
interface IStyledNextPageButtonContainer {
|
|
74
|
+
elementPosition: 'right' | 'bottom';
|
|
75
|
+
}
|
|
76
|
+
interface IScrollableContainer {
|
|
77
|
+
tableHeaderAxis: Axis;
|
|
78
|
+
}
|
|
79
|
+
export { StyledTable, StyledTableHeader, StyledTableData, PaginationContainer, StyledPaginationPageInput, StyledPaginationPageSelect, StyledHideOnMobile, StyledPaginationButton, ScrollableContainer, StyledPaginationButtonDiv, StyledPageCountDiv, StyledStandardButton, StyledSpinnerIcon, StyledNextPageButtonContainer, StyledTHead, StyledSpinnerContainer, };
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
exports.StyledSpinnerContainer = exports.StyledTHead = exports.StyledNextPageButtonContainer = exports.StyledSpinnerIcon = exports.StyledStandardButton = exports.StyledPageCountDiv = exports.StyledPaginationButtonDiv = exports.ScrollableContainer = exports.StyledPaginationButton = exports.StyledHideOnMobile = exports.StyledPaginationPageSelect = exports.StyledPaginationPageInput = exports.PaginationContainer = exports.StyledTableData = exports.StyledTableHeader = exports.StyledTable = void 0;
|
|
11
|
+
var styles_1 = require("@ltht-react/styles");
|
|
12
|
+
var styled_1 = __importDefault(require("@emotion/styled"));
|
|
13
|
+
var icon_1 = require("@ltht-react/icon");
|
|
14
|
+
var ScrollableContainer = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n background-color: white;\n display: ", ";\n max-width: 100%;\n max-height: 100%;\n border-radius: 6px;\n overflow: auto;\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 display: ", ";\n max-width: 100%;\n max-height: 100%;\n border-radius: 6px;\n overflow: auto;\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, function (_a) {
|
|
15
|
+
var tableHeaderAxis = _a.tableHeaderAxis;
|
|
16
|
+
return (tableHeaderAxis === 'y' ? 'inline-flex' : 'inline-block');
|
|
17
|
+
}, styles_1.SCROLLBAR);
|
|
18
|
+
exports.ScrollableContainer = ScrollableContainer;
|
|
19
|
+
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"])));
|
|
20
|
+
exports.StyledTable = StyledTable;
|
|
21
|
+
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 ",
|
|
22
|
+
"\n"])), styles_1.TABLE_COLOURS.HEADER, styles_1.TABLE_COLOURS.BORDER, function (_a) {
|
|
23
|
+
var stickyWidth = _a.stickyWidth;
|
|
24
|
+
return stickyWidth !== undefined &&
|
|
25
|
+
"\n position: sticky !important;\n left: " + stickyWidth + "px;\n top: 0;\n z-index: 1;";
|
|
26
|
+
});
|
|
27
|
+
exports.StyledTableHeader = StyledTableHeader;
|
|
28
|
+
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 ",
|
|
29
|
+
"\n\n &:first-of-type {\n background-color: ", " !important;\n }\n"])), styles_1.TABLE_COLOURS.BORDER, function (_a) {
|
|
30
|
+
var stickyWidth = _a.stickyWidth;
|
|
31
|
+
return stickyWidth !== undefined &&
|
|
32
|
+
"\n position: sticky !important;\n left: " + stickyWidth + "px;\n top: 0;\n z-index: 1;";
|
|
33
|
+
}, styles_1.TABLE_COLOURS.HEADER);
|
|
34
|
+
exports.StyledTableData = StyledTableData;
|
|
35
|
+
var PaginationContainer = styled_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", ";\n margin-top: 5px;\n display: block;\n"], ["\n ", ";\n margin-top: 5px;\n display: block;\n"])), styles_1.CSS_RESET);
|
|
36
|
+
exports.PaginationContainer = PaginationContainer;
|
|
37
|
+
var StyledPaginationPageInput = styled_1.default.input(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n ", ";\n width: 50px;\n border: 1px solid gray;\n"], ["\n ", ";\n width: 50px;\n border: 1px solid gray;\n"])), styles_1.CSS_RESET);
|
|
38
|
+
exports.StyledPaginationPageInput = StyledPaginationPageInput;
|
|
39
|
+
var StyledPaginationPageSelect = styled_1.default.select(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n ", ";\n width: 45px;\n display: inline-block;\n font-size: 0.9rem;\n border: 1px solid gray;\n"], ["\n ", ";\n width: 45px;\n display: inline-block;\n font-size: 0.9rem;\n border: 1px solid gray;\n"])), styles_1.CSS_RESET);
|
|
40
|
+
exports.StyledPaginationPageSelect = StyledPaginationPageSelect;
|
|
41
|
+
var StyledHideOnMobile = styled_1.default.span(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n font-size: 1.1em;\n padding: 2px;\n @media (max-width: 320px) {\n display: none;\n }\n"], ["\n font-size: 1.1em;\n padding: 2px;\n @media (max-width: 320px) {\n display: none;\n }\n"])));
|
|
42
|
+
exports.StyledHideOnMobile = StyledHideOnMobile;
|
|
43
|
+
var StyledPaginationButtonDiv = styled_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n float: right;\n display: flex;\n justify-content: space-between;\n align-items: stretch;\n"], ["\n float: right;\n display: flex;\n justify-content: space-between;\n align-items: stretch;\n"])));
|
|
44
|
+
exports.StyledPaginationButtonDiv = StyledPaginationButtonDiv;
|
|
45
|
+
var StyledPageCountDiv = styled_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n margin-right: 5px;\n margin-left: 5px;\n display: flex;\n font-size: 1.1em;\n padding: 1px;\n"], ["\n margin-right: 5px;\n margin-left: 5px;\n display: flex;\n font-size: 1.1em;\n padding: 1px;\n"])));
|
|
46
|
+
exports.StyledPageCountDiv = StyledPageCountDiv;
|
|
47
|
+
var StyledStandardButton = styled_1.default(icon_1.IconButton)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n color: ", ";\n background-color: ", ";\n padding: 2px 5px;\n border-radius: 5px;\n &:hover {\n background-color: ", ";\n }\n\n &:disabled {\n background-color: ", ";\n }\n"], ["\n color: ", ";\n background-color: ", ";\n padding: 2px 5px;\n border-radius: 5px;\n &:hover {\n background-color: ", ";\n }\n\n &:disabled {\n background-color: ", ";\n }\n"])), styles_1.BTN_COLOURS.STANDARD.TEXT, styles_1.BTN_COLOURS.STANDARD.VALUE, styles_1.BTN_COLOURS.STANDARD.HOVER, styles_1.BTN_COLOURS.STANDARD.DISABLED);
|
|
48
|
+
exports.StyledStandardButton = StyledStandardButton;
|
|
49
|
+
var StyledPaginationButton = styled_1.default(icon_1.IconButton)(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n padding: 2px 5px;\n background-color: ", ";\n color: black;\n border: 1px solid ", ";\n margin: 0 2.5px;\n border-radius: 3px;\n\n &:disabled {\n background-color: inherit;\n color: gray;\n border-color: ", ";\n pointer-events: none;\n }\n"], ["\n padding: 2px 5px;\n background-color: ", ";\n color: black;\n border: 1px solid ", ";\n margin: 0 2.5px;\n border-radius: 3px;\n\n &:disabled {\n background-color: inherit;\n color: gray;\n border-color: ", ";\n pointer-events: none;\n }\n"])), styles_1.TRANSLUCENT_BRIGHT_BLUE, styles_1.TRANSLUCENT_MID_GREY, styles_1.TRANSLUCENT_MID_GREY);
|
|
50
|
+
exports.StyledPaginationButton = StyledPaginationButton;
|
|
51
|
+
var StyledSpinnerIcon = styled_1.default(icon_1.Icon)(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n margin: 3px 0;\n font-size: 1.1em;\n padding: 1.5px;\n"], ["\n margin: 3px 0;\n font-size: 1.1em;\n padding: 1.5px;\n"])));
|
|
52
|
+
exports.StyledSpinnerIcon = StyledSpinnerIcon;
|
|
53
|
+
var StyledNextPageButtonContainer = styled_1.default.div(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n display: ", ";\n justify-content: center;\n cursor: pointer;\n align-items: center;\n\n &:hover {\n padding: 5px;\n font-size: 1.3em;\n transition: 0.15s linear;\n }\n"], ["\n display: ",
|
|
54
|
+
";\n justify-content: center;\n cursor: pointer;\n align-items: center;\n\n &:hover {\n padding: 5px;\n font-size: 1.3em;\n transition: 0.15s linear;\n }\n"])), function (_a) {
|
|
55
|
+
var hidden = _a.hidden, elementPosition = _a.elementPosition;
|
|
56
|
+
if (!hidden) {
|
|
57
|
+
return elementPosition === 'bottom' ? 'flex' : 'inline-flex';
|
|
58
|
+
}
|
|
59
|
+
return 'none';
|
|
60
|
+
});
|
|
61
|
+
exports.StyledNextPageButtonContainer = StyledNextPageButtonContainer;
|
|
62
|
+
var StyledSpinnerContainer = styled_1.default.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: ", ";\n justify-content: center;\n cursor: pointer;\n align-items: center;\n padding: 5px;\n"], ["\n display: ",
|
|
63
|
+
";\n justify-content: center;\n cursor: pointer;\n align-items: center;\n padding: 5px;\n"])), function (_a) {
|
|
64
|
+
var hidden = _a.hidden, elementPosition = _a.elementPosition;
|
|
65
|
+
if (!hidden) {
|
|
66
|
+
return elementPosition === 'bottom' ? 'flex' : 'inline-flex';
|
|
67
|
+
}
|
|
68
|
+
return 'none';
|
|
69
|
+
});
|
|
70
|
+
exports.StyledSpinnerContainer = StyledSpinnerContainer;
|
|
71
|
+
var StyledTHead = styled_1.default.thead(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n position: sticky;\n left: 0;\n top: 0;\n z-index: 2;\n"], ["\n position: sticky;\n left: 0;\n top: 0;\n z-index: 2;\n"])));
|
|
72
|
+
exports.StyledTHead = StyledTHead;
|
|
73
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16;
|
|
74
|
+
//# sourceMappingURL=table-styled-components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-styled-components.js","sourceRoot":"","sources":["../../src/molecules/table-styled-components.tsx"],"names":[],"mappings":"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"}
|
package/lib/molecules/table.d.ts
CHANGED
|
@@ -1,21 +1,30 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
+
import { Axis } from '@ltht-react/types';
|
|
2
3
|
import { CellProps } from './table-cell';
|
|
3
4
|
declare const Table: FC<IProps>;
|
|
4
|
-
|
|
5
|
+
interface IProps {
|
|
6
|
+
tableData: TableData;
|
|
7
|
+
staticColumns?: 0 | 1 | 2;
|
|
8
|
+
currentPage?: number;
|
|
9
|
+
pageSize?: number;
|
|
10
|
+
headerAxis?: Axis;
|
|
11
|
+
manualPagination?: boolean;
|
|
12
|
+
nextPage?: () => void;
|
|
13
|
+
getCanNextPage?: () => boolean;
|
|
14
|
+
isFetching?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare type DataEntity = Record<string, CellProps | DataEntity[]> & {
|
|
5
17
|
subRows?: DataEntity[];
|
|
6
18
|
};
|
|
7
|
-
|
|
19
|
+
interface Header {
|
|
8
20
|
type: 'accessor' | 'group' | 'display';
|
|
9
21
|
id: string;
|
|
10
22
|
cellProps: CellProps;
|
|
11
23
|
subHeaders?: Header[];
|
|
12
24
|
}
|
|
13
|
-
|
|
25
|
+
interface TableData {
|
|
14
26
|
headers: Header[];
|
|
15
27
|
rows: DataEntity[];
|
|
16
28
|
}
|
|
17
|
-
interface IProps {
|
|
18
|
-
tableData: TableData;
|
|
19
|
-
staticColumns?: 0 | 1 | 2;
|
|
20
|
-
}
|
|
21
29
|
export default Table;
|
|
30
|
+
export { DataEntity, Header, TableData };
|
package/lib/molecules/table.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
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
2
|
var __assign = (this && this.__assign) || function () {
|
|
7
3
|
__assign = Object.assign || function(t) {
|
|
8
4
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -14,6 +10,25 @@ var __assign = (this && this.__assign) || function () {
|
|
|
14
10
|
};
|
|
15
11
|
return __assign.apply(this, arguments);
|
|
16
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
17
32
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
33
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
34
|
};
|
|
@@ -21,66 +36,64 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
36
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
22
37
|
var react_1 = require("react");
|
|
23
38
|
var react_table_1 = require("@tanstack/react-table");
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
-
var table_methods_1 =
|
|
27
|
-
var
|
|
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);
|
|
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);
|
|
39
|
+
var table_styled_components_1 = require("./table-styled-components");
|
|
40
|
+
var useScrollRef_1 = __importDefault(require("./useScrollRef"));
|
|
41
|
+
var table_methods_1 = require("./table-methods");
|
|
42
|
+
var table_component_1 = __importStar(require("./table-component"));
|
|
42
43
|
var Table = function (_a) {
|
|
43
|
-
var tableData = _a.tableData, _b = _a.staticColumns, staticColumns = _b === void 0 ? 0 : _b;
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
44
|
+
var tableData = _a.tableData, _b = _a.staticColumns, staticColumns = _b === void 0 ? 0 : _b, _c = _a.currentPage, currentPage = _c === void 0 ? 1 : _c, _d = _a.pageSize, pageSizeParam = _d === void 0 ? 10 : _d, _e = _a.headerAxis, headerAxis = _e === void 0 ? 'x' : _e, _f = _a.manualPagination, manualPagination = _f === void 0 ? false : _f, _g = _a.getCanNextPage, getCanNextPage = _g === void 0 ? function () { return false; } : _g, _h = _a.nextPage, nextPage = _h === void 0 ? function () { return null; } : _h, _j = _a.isFetching, isFetching = _j === void 0 ? false : _j;
|
|
45
|
+
var scrollableDivElement = react_1.useRef(null);
|
|
46
|
+
var scrollState = useScrollRef_1.default(scrollableDivElement);
|
|
47
|
+
var _k = react_1.useState({}), expanded = _k[0], setExpanded = _k[1];
|
|
48
|
+
var _l = react_1.useState([]), sorting = _l[0], setSorting = _l[1];
|
|
49
|
+
var _m = react_1.useState({
|
|
50
|
+
pageIndex: currentPage - 1,
|
|
51
|
+
pageSize: pageSizeParam,
|
|
52
|
+
}), _o = _m[0], pageIndex = _o.pageIndex, pageSize = _o.pageSize, setPagination = _m[1];
|
|
53
|
+
var pagination = react_1.useMemo(function () { return ({ pageIndex: pageIndex, pageSize: pageSize }); }, [pageIndex, pageSize]);
|
|
54
|
+
var _p = react_1.useState([]), data = _p[0], setData = _p[1];
|
|
55
|
+
var _q = react_1.useState([]), columns = _q[0], setColumns = _q[1];
|
|
56
|
+
var _r = react_1.useState(-1), pageCount = _r[0], setPageCount = _r[1];
|
|
57
|
+
react_1.useEffect(function () {
|
|
58
|
+
if (!manualPagination) {
|
|
59
|
+
table_methods_1.handleDataUpdate(tableData, pageIndex, pageSize, headerAxis, setColumns, setData, setPageCount);
|
|
60
|
+
}
|
|
61
|
+
}, [pageIndex, pageSize, headerAxis, tableData, manualPagination]);
|
|
62
|
+
react_1.useEffect(function () {
|
|
63
|
+
if (manualPagination) {
|
|
64
|
+
table_methods_1.handleDataUpdateForManualPagination(tableData, headerAxis, setColumns, setData);
|
|
65
|
+
}
|
|
66
|
+
}, [headerAxis, tableData, manualPagination]);
|
|
67
|
+
var table = react_table_1.useReactTable(__assign(__assign(__assign({ data: data,
|
|
68
|
+
columns: columns }, (!manualPagination ? { pageCount: pageCount } : {})), { state: __assign({ expanded: expanded,
|
|
69
|
+
sorting: sorting }, (!manualPagination ? { pagination: pagination } : {})), manualPagination: true, onExpandedChange: setExpanded, onSortingChange: setSorting, getSubRows: function (row) { return row.subRows; }, getCoreRowModel: react_table_1.getCoreRowModel(), getExpandedRowModel: react_table_1.getExpandedRowModel(), getSortedRowModel: react_table_1.getSortedRowModel() }), (!manualPagination ? { onPaginationChange: setPagination } : {})));
|
|
70
|
+
react_1.useEffect(function () {
|
|
71
|
+
if (!scrollState) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (manualPagination && !isFetching) {
|
|
75
|
+
table_methods_1.handleScrollEventManual(getCanNextPage, nextPage, headerAxis, scrollState);
|
|
76
|
+
}
|
|
77
|
+
}, [scrollState, headerAxis, manualPagination, isFetching, getCanNextPage, nextPage]);
|
|
78
|
+
react_1.useEffect(function () {
|
|
79
|
+
if (!scrollState) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (!manualPagination) {
|
|
83
|
+
table_methods_1.handleScrollEvent(table, headerAxis, scrollState);
|
|
84
|
+
}
|
|
85
|
+
}, [scrollState, table, headerAxis, manualPagination]);
|
|
86
|
+
var getNextPage = function () {
|
|
87
|
+
if (manualPagination) {
|
|
88
|
+
nextPage();
|
|
65
89
|
}
|
|
66
|
-
|
|
67
|
-
|
|
90
|
+
else {
|
|
91
|
+
table.nextPage();
|
|
68
92
|
}
|
|
69
|
-
return undefined;
|
|
70
93
|
};
|
|
71
|
-
return (jsx_runtime_1.jsx(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
cursor: header.column.getCanSort() ? 'pointer' : '',
|
|
75
|
-
},
|
|
76
|
-
onClick: header.column.getToggleSortingHandler(),
|
|
77
|
-
}, { children: header.isPlaceholder ? null : react_table_1.flexRender(header.column.columnDef.header, header.getContext()) }), header.id));
|
|
78
|
-
}) }, headerGroup.id)); }) }, void 0),
|
|
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,
|
|
81
|
-
textAlign: 'center',
|
|
82
|
-
} }, { children: react_table_1.flexRender(cell.column.columnDef.cell, cell.getContext()) }), cell.id)); }) }, row.id)); }) }, void 0)] }, void 0) }, void 0));
|
|
94
|
+
return (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: jsx_runtime_1.jsxs(table_styled_components_1.ScrollableContainer, __assign({ ref: scrollableDivElement, tableHeaderAxis: headerAxis }, { children: [jsx_runtime_1.jsx(table_component_1.default, { table: table, staticColumns: staticColumns }, void 0),
|
|
95
|
+
manualPagination ? (jsx_runtime_1.jsx(table_component_1.TableSpinner, { position: headerAxis === 'x' ? 'bottom' : 'right', hidden: !isFetching }, void 0)) : null,
|
|
96
|
+
jsx_runtime_1.jsx(table_component_1.TableNavigationButton, { position: headerAxis === 'x' ? 'bottom' : 'right', hidden: isFetching || (manualPagination ? !getCanNextPage() : !table.getCanNextPage()), clickHandler: getNextPage }, void 0)] }), void 0) }, void 0));
|
|
83
97
|
};
|
|
84
98
|
exports.default = Table;
|
|
85
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
86
99
|
//# sourceMappingURL=table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/molecules/table.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/molecules/table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var react_1 = require("react");
|
|
4
|
-
var useDimensionsRef = function (elementRef) {
|
|
5
|
-
var _a = react_1.useState({
|
|
4
|
+
var useDimensionsRef = function (elementRef, parentElementRef) {
|
|
5
|
+
var _a = react_1.useState({
|
|
6
|
+
width: 0,
|
|
7
|
+
height: 0,
|
|
8
|
+
}), dimensions = _a[0], setDimensions = _a[1];
|
|
6
9
|
react_1.useEffect(function () {
|
|
7
10
|
var getDimensions = function () { return ({
|
|
8
11
|
width: (elementRef && elementRef.current && elementRef.current.offsetWidth) || 0,
|
|
@@ -14,11 +17,14 @@ var useDimensionsRef = function (elementRef) {
|
|
|
14
17
|
if (elementRef.current) {
|
|
15
18
|
setDimensions(getDimensions());
|
|
16
19
|
}
|
|
17
|
-
|
|
20
|
+
var parentElementResizeObserver = new ResizeObserver(function (_e) { return handleResize(); });
|
|
21
|
+
if (parentElementRef === null || parentElementRef === void 0 ? void 0 : parentElementRef.current) {
|
|
22
|
+
parentElementResizeObserver.observe(parentElementRef.current);
|
|
23
|
+
}
|
|
18
24
|
return function () {
|
|
19
|
-
|
|
25
|
+
parentElementResizeObserver === null || parentElementResizeObserver === void 0 ? void 0 : parentElementResizeObserver.disconnect();
|
|
20
26
|
};
|
|
21
|
-
}, [elementRef]);
|
|
27
|
+
}, [elementRef, parentElementRef]);
|
|
22
28
|
return dimensions;
|
|
23
29
|
};
|
|
24
30
|
exports.default = useDimensionsRef;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDimensionRef.js","sourceRoot":"","sources":["../../src/molecules/useDimensionRef.tsx"],"names":[],"mappings":";;AAAA,+BAA2C;AAE3C,IAAM,gBAAgB,GAAG,UAAC,UAAwC;
|
|
1
|
+
{"version":3,"file":"useDimensionRef.js","sourceRoot":"","sources":["../../src/molecules/useDimensionRef.tsx"],"names":[],"mappings":";;AAAA,+BAA2C;AAE3C,IAAM,gBAAgB,GAAG,UAAC,UAAwC,EAAE,gBAA8C;IAC1G,IAAA,KAA8B,gBAAQ,CAAC;QAC3C,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;KACV,CAAC,EAHK,UAAU,QAAA,EAAE,aAAa,QAG9B,CAAA;IAEF,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,IAAM,2BAA2B,GAAG,IAAI,cAAc,CAAC,UAAC,EAAyB,IAAK,OAAA,YAAY,EAAE,EAAd,CAAc,CAAC,CAAA;QAErG,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,OAAO,EAAE;YAC7B,2BAA2B,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;SAC9D;QAED,OAAO;YACL,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAE,UAAU,EAAE,CAAA;QAC3C,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAElC,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var react_1 = require("react");
|
|
4
|
+
var useScrollRef = function (elementRef) {
|
|
5
|
+
var _a = react_1.useState(), scrollState = _a[0], setScrollState = _a[1];
|
|
6
|
+
var element = elementRef.current;
|
|
7
|
+
react_1.useEffect(function () {
|
|
8
|
+
var getScrollState = function () {
|
|
9
|
+
var _a, _b, _c, _d, _e, _f;
|
|
10
|
+
return ({
|
|
11
|
+
scrollWidth: (_a = element === null || element === void 0 ? void 0 : element.scrollWidth) !== null && _a !== void 0 ? _a : 0,
|
|
12
|
+
scrollHeight: (_b = element === null || element === void 0 ? void 0 : element.scrollHeight) !== null && _b !== void 0 ? _b : 0,
|
|
13
|
+
currentXScroll: ((_c = element === null || element === void 0 ? void 0 : element.scrollLeft) !== null && _c !== void 0 ? _c : 0) + ((_d = element === null || element === void 0 ? void 0 : element.clientWidth) !== null && _d !== void 0 ? _d : 0),
|
|
14
|
+
currentYScroll: ((_e = element === null || element === void 0 ? void 0 : element.scrollTop) !== null && _e !== void 0 ? _e : 0) + ((_f = element === null || element === void 0 ? void 0 : element.clientHeight) !== null && _f !== void 0 ? _f : 0),
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
var handleScroll = function () {
|
|
18
|
+
setScrollState(getScrollState());
|
|
19
|
+
};
|
|
20
|
+
element === null || element === void 0 ? void 0 : element.addEventListener('scroll', handleScroll);
|
|
21
|
+
return function () {
|
|
22
|
+
element === null || element === void 0 ? void 0 : element.removeEventListener('scroll', handleScroll);
|
|
23
|
+
};
|
|
24
|
+
}, [element]);
|
|
25
|
+
return scrollState;
|
|
26
|
+
};
|
|
27
|
+
exports.default = useScrollRef;
|
|
28
|
+
//# sourceMappingURL=useScrollRef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollRef.js","sourceRoot":"","sources":["../../src/molecules/useScrollRef.tsx"],"names":[],"mappings":";;AAAA,+BAA2C;AAE3C,IAAM,YAAY,GAAG,UAAC,UAAwC;IACtD,IAAA,KAAgC,gBAAQ,EAAe,EAAtD,WAAW,QAAA,EAAE,cAAc,QAA2B,CAAA;IAC7D,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;IAElC,iBAAS,CAAC;QACR,IAAM,cAAc,GAAG;;YAAmB,OAAA,CAAC;gBACzC,WAAW,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,mCAAI,CAAC;gBACtC,YAAY,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,CAAC;gBACxC,cAAc,EAAE,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,mCAAI,CAAC,CAAC;gBACxE,cAAc,EAAE,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,CAAC,CAAC;aACzE,CAAC,CAAA;SAAA,CAAA;QAEF,IAAM,YAAY,GAAG;YACnB,cAAc,CAAC,cAAc,EAAE,CAAC,CAAA;QAClC,CAAC,CAAA;QAED,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QAEjD,OAAO;YACL,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QACtD,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AASD,kBAAe,YAAY,CAAA"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { Axis } from '@ltht-react/types';
|
|
2
3
|
import { TableData } from '../molecules/table';
|
|
3
|
-
declare const GenericTable: <TColumn, TRow>({ columnData, rowData, mapToTableData }: IProps<TColumn, TRow>) => JSX.Element;
|
|
4
|
+
declare const GenericTable: <TColumn, TRow>({ columnData, rowData, mapToTableData, headerAxis, pageSize, currentPage, ...props }: IProps<TColumn, TRow>) => JSX.Element;
|
|
4
5
|
interface IProps<TColumn, TRow> {
|
|
5
6
|
columnData: TColumn;
|
|
6
7
|
rowData: TRow;
|
|
7
8
|
mapToTableData: (colData: TColumn, rowData: TRow) => TableData;
|
|
9
|
+
headerAxis?: Axis;
|
|
10
|
+
currentPage?: number;
|
|
11
|
+
pageSize?: number;
|
|
12
|
+
manualPagination?: boolean;
|
|
13
|
+
nextPage?: () => void;
|
|
14
|
+
getCanNextPage?: () => boolean;
|
|
15
|
+
isFetching?: boolean;
|
|
8
16
|
}
|
|
9
17
|
export default GenericTable;
|
|
@@ -1,4 +1,26 @@
|
|
|
1
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 __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
2
24
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
25
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
26
|
};
|
|
@@ -6,9 +28,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
29
|
var table_1 = __importDefault(require("../molecules/table"));
|
|
8
30
|
var GenericTable = function (_a) {
|
|
9
|
-
var columnData = _a.columnData, rowData = _a.rowData, mapToTableData = _a.mapToTableData;
|
|
31
|
+
var columnData = _a.columnData, rowData = _a.rowData, mapToTableData = _a.mapToTableData, _b = _a.headerAxis, headerAxis = _b === void 0 ? 'x' : _b, _c = _a.pageSize, pageSize = _c === void 0 ? 10 : _c, _d = _a.currentPage, currentPage = _d === void 0 ? 1 : _d, props = __rest(_a, ["columnData", "rowData", "mapToTableData", "headerAxis", "pageSize", "currentPage"]);
|
|
10
32
|
var tableData = mapToTableData(columnData, rowData);
|
|
11
|
-
return jsx_runtime_1.jsx(table_1.default, { tableData: tableData }, void 0);
|
|
33
|
+
return (jsx_runtime_1.jsx(table_1.default, __assign({ tableData: tableData, headerAxis: headerAxis, pageSize: pageSize, currentPage: currentPage }, props), void 0));
|
|
12
34
|
};
|
|
13
35
|
exports.default = GenericTable;
|
|
14
36
|
//# sourceMappingURL=generic-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-table.js","sourceRoot":"","sources":["../../src/organisms/generic-table.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generic-table.js","sourceRoot":"","sources":["../../src/organisms/generic-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6DAAqD;AAErD,IAAM,YAAY,GAAG,UAAgB,EAQb;IAPtB,IAAA,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,cAAc,oBAAA,EACd,kBAAgB,EAAhB,UAAU,mBAAG,GAAG,KAAA,EAChB,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,mBAAe,EAAf,WAAW,mBAAG,CAAC,KAAA,EACZ,KAAK,cAP2B,oFAQpC,CADS;IAER,IAAM,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAErD,OAAO,CACL,kBAAC,eAAK,aAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,IAAM,KAAK,UAAI,CACjH,CAAA;AACH,CAAC,CAAA;AAeD,kBAAe,YAAY,CAAA"}
|
|
@@ -8,5 +8,11 @@ interface IProps {
|
|
|
8
8
|
headerAxis?: Axis;
|
|
9
9
|
adminActions?: AdminActionsForQuestionnaire[];
|
|
10
10
|
staticColumns?: 0 | 1 | 2;
|
|
11
|
+
currentPage?: number;
|
|
12
|
+
pageSize?: number;
|
|
13
|
+
manualPagination?: boolean;
|
|
14
|
+
nextPage?: () => void;
|
|
15
|
+
getCanNextPage?: () => boolean;
|
|
16
|
+
isFetching?: boolean;
|
|
11
17
|
}
|
|
12
18
|
export default QuestionnaireTable;
|
|
@@ -1,4 +1,26 @@
|
|
|
1
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 __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
2
24
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
25
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
26
|
};
|
|
@@ -9,7 +31,7 @@ var icon_1 = require("@ltht-react/icon");
|
|
|
9
31
|
var table_1 = __importDefault(require("../molecules/table"));
|
|
10
32
|
var questionnaire_table_methods_1 = __importDefault(require("./questionnaire-table-methods"));
|
|
11
33
|
var QuestionnaireTable = function (_a) {
|
|
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;
|
|
34
|
+
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, _d = _a.pageSize, pageSize = _d === void 0 ? 10 : _d, _e = _a.currentPage, currentPage = _e === void 0 ? 1 : _e, props = __rest(_a, ["definition", "records", "headerAxis", "staticColumns", "adminActions", "pageSize", "currentPage"]);
|
|
13
35
|
var tableData = react_1.useMemo(function () { return questionnaire_table_methods_1.default(definition, records, headerAxis, adminActions); }, [headerAxis, definition, records, adminActions]);
|
|
14
36
|
// TODO: Replace this fragment with a properly styled error component.
|
|
15
37
|
// Maybe this could be a re-usable atom?
|
|
@@ -17,7 +39,7 @@ var QuestionnaireTable = function (_a) {
|
|
|
17
39
|
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),
|
|
18
40
|
jsx_runtime_1.jsx("div", { children: "An error occurred whilst loading this table." }, void 0)] }, void 0));
|
|
19
41
|
}
|
|
20
|
-
return jsx_runtime_1.jsx(table_1.default, { tableData: tableData, staticColumns: staticColumns }, void 0);
|
|
42
|
+
return (jsx_runtime_1.jsx(table_1.default, __assign({ tableData: tableData, staticColumns: staticColumns, headerAxis: headerAxis, pageSize: pageSize, currentPage: currentPage }, props), void 0));
|
|
21
43
|
};
|
|
22
44
|
exports.default = QuestionnaireTable;
|
|
23
45
|
//# sourceMappingURL=questionnaire-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questionnaire-table.js","sourceRoot":"","sources":["../../src/organisms/questionnaire-table.tsx"],"names":[],"mappings":"
|
|
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,EASvC;IARC,IAAA,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,kBAAgB,EAAhB,UAAU,mBAAG,GAAG,KAAA,EAChB,qBAAiB,EAAjB,aAAa,mBAAG,CAAC,KAAA,EACjB,YAAY,kBAAA,EACZ,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,mBAAe,EAAf,WAAW,mBAAG,CAAC,KAAA,EACZ,KAAK,cAR8B,mGASvC,CADS;IAER,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,CACL,kBAAC,eAAK,aACJ,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,IACpB,KAAK,UACT,CACH,CAAA;AACH,CAAC,CAAA;AAgBD,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.43",
|
|
4
4
|
"description": "ltht-react Table component.",
|
|
5
5
|
"author": "LTHT",
|
|
6
6
|
"homepage": "",
|
|
@@ -27,17 +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/menu": "^1.0.
|
|
33
|
-
"@ltht-react/styles": "^1.3.
|
|
34
|
-
"@ltht-react/types": "^1.0.
|
|
35
|
-
"@ltht-react/utils": "^1.1.
|
|
30
|
+
"@ltht-react/button": "^1.3.168",
|
|
31
|
+
"@ltht-react/icon": "^1.3.168",
|
|
32
|
+
"@ltht-react/menu": "^1.0.10",
|
|
33
|
+
"@ltht-react/styles": "^1.3.160",
|
|
34
|
+
"@ltht-react/types": "^1.0.164",
|
|
35
|
+
"@ltht-react/utils": "^1.1.166",
|
|
36
36
|
"@tanstack/react-table": "^8.5.22",
|
|
37
37
|
"react": "^17.0.0",
|
|
38
38
|
"react-uuid": "^2.0.0"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "4bdf1eb64f4c6f0c4d77f382e34d24fa31dcd05d",
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/react-table": "^7.7.12"
|
|
43
43
|
}
|