@ltht-react/table 2.0.154 → 2.0.157
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.js +3 -3
- package/lib/molecules/table-component.js.map +1 -1
- package/lib/molecules/table-header.js +1 -1
- package/lib/molecules/table-header.js.map +1 -1
- package/lib/molecules/table-methods.d.ts +5 -2
- package/lib/molecules/table-methods.js +5 -5
- package/lib/molecules/table-methods.js.map +1 -1
- package/lib/molecules/table.d.ts +1 -0
- package/lib/molecules/table.js +14 -21
- package/lib/molecules/table.js.map +1 -1
- package/lib/molecules/useScrollRef.js +18 -16
- package/lib/molecules/useScrollRef.js.map +1 -1
- package/package.json +8 -8
- package/src/molecules/table-component.tsx +3 -3
- package/src/molecules/table-header.tsx +0 -1
- package/src/molecules/table-methods.tsx +10 -6
- package/src/molecules/table.tsx +10 -13
- package/src/molecules/useScrollRef.tsx +17 -13
|
@@ -51,11 +51,11 @@ var TableComponent = function (_a) {
|
|
|
51
51
|
};
|
|
52
52
|
switch (headerIndex) {
|
|
53
53
|
case 0:
|
|
54
|
-
return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ ref: firstColumn }, headerProps));
|
|
54
|
+
return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ ref: firstColumn }, headerProps), header.id);
|
|
55
55
|
case 1:
|
|
56
|
-
return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ ref: secondColumn }, headerProps));
|
|
56
|
+
return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ ref: secondColumn }, headerProps), header.id);
|
|
57
57
|
default:
|
|
58
|
-
return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({}, headerProps));
|
|
58
|
+
return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({}, headerProps), header.id);
|
|
59
59
|
}
|
|
60
60
|
};
|
|
61
61
|
return ((0, jsx_runtime_1.jsxs)(table_styled_components_1.StyledTable, __assign({ ref: tableElement }, rest, { children: [(0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTHead, { children: table.getHeaderGroups().map(function (headerGroup) { return ((0, jsx_runtime_1.jsx)("tr", { role: "row", children: headerGroup.headers.map(function (header, headerIndex) { return getHeaderColumn(header, headerIndex); }) }, headerGroup.id)); }) }), (0, jsx_runtime_1.jsx)("tbody", { children: table.getRowModel().rows.map(function (row) { return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTableRow, { tableHeaderAxis: headerAxis, role: "row", children: row.getVisibleCells().map(function (cell, cellIdx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-component.js","sourceRoot":"","sources":["../../src/molecules/table-component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAmC;AACnC,qDAAqF;AACrF,+BAAuD;AACvD,iDAA6D;AAC7D,qEAOkC;AAClC,sEAAgD;AAGhD,gEAAwC;AAExC,IAAM,cAAc,GAAG,UAAK,EAAqE;IAAnE,IAAA,KAAK,WAAA,EAAE,qBAAiB,EAAjB,aAAa,mBAAG,CAAC,KAAA,EAAE,UAAU,gBAAA,EAAK,IAAI,cAA/C,wCAAiD,CAAF;IACzE,IAAM,WAAW,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IAChC,IAAM,YAAY,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IACjC,IAAM,YAAY,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IACzB,IAAO,gBAAgB,GAAK,IAAA,yBAAgB,EAAC,WAAW,EAAE,YAAY,CAAC,MAAhD,CAAgD;IACvE,IAAO,iBAAiB,GAAK,IAAA,yBAAgB,EAAC,YAAY,EAAE,YAAY,CAAC,MAAjD,CAAiD;IAEjF,IAAM,mBAAmB,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU,EAA1B,CAA0B,CAAC,EAAjD,CAAiD,CAAC,CAAA;IAClH,IAAM,kBAAkB,GAAG,IAAA,eAAO,EAChC,cAAM,OAAA,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAzD,CAAyD,EAC/D,CAAC,mBAAmB,EAAE,aAAa,CAAC,CACrC,CAAA;IAED,IAAM,eAAe,GAAG,UAAgB,MAAuC,EAAE,WAAmB;QAClG,IAAM,WAAW,GAAG,IAAA,2CAA2B,EAC7C,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,CAClB,CAAA;QACD,IAAM,WAAW,GAAG;YAClB,MAAM,QAAA;YACN,WAAW,aAAA;SACZ,CAAA;QACD,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,CAAC;gBACJ,OAAO,uBAAC,sBAAW,
|
|
1
|
+
{"version":3,"file":"table-component.js","sourceRoot":"","sources":["../../src/molecules/table-component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAmC;AACnC,qDAAqF;AACrF,+BAAuD;AACvD,iDAA6D;AAC7D,qEAOkC;AAClC,sEAAgD;AAGhD,gEAAwC;AAExC,IAAM,cAAc,GAAG,UAAK,EAAqE;IAAnE,IAAA,KAAK,WAAA,EAAE,qBAAiB,EAAjB,aAAa,mBAAG,CAAC,KAAA,EAAE,UAAU,gBAAA,EAAK,IAAI,cAA/C,wCAAiD,CAAF;IACzE,IAAM,WAAW,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IAChC,IAAM,YAAY,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IACjC,IAAM,YAAY,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IACzB,IAAO,gBAAgB,GAAK,IAAA,yBAAgB,EAAC,WAAW,EAAE,YAAY,CAAC,MAAhD,CAAgD;IACvE,IAAO,iBAAiB,GAAK,IAAA,yBAAgB,EAAC,YAAY,EAAE,YAAY,CAAC,MAAjD,CAAiD;IAEjF,IAAM,mBAAmB,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU,EAA1B,CAA0B,CAAC,EAAjD,CAAiD,CAAC,CAAA;IAClH,IAAM,kBAAkB,GAAG,IAAA,eAAO,EAChC,cAAM,OAAA,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAzD,CAAyD,EAC/D,CAAC,mBAAmB,EAAE,aAAa,CAAC,CACrC,CAAA;IAED,IAAM,eAAe,GAAG,UAAgB,MAAuC,EAAE,WAAmB;QAClG,IAAM,WAAW,GAAG,IAAA,2CAA2B,EAC7C,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,CAClB,CAAA;QACD,IAAM,WAAW,GAAG;YAClB,MAAM,QAAA;YACN,WAAW,aAAA;SACZ,CAAA;QACD,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,CAAC;gBACJ,OAAO,uBAAC,sBAAW,aAAiB,GAAG,EAAE,WAAW,IAAM,WAAW,GAA5C,MAAM,CAAC,EAAE,CAAuC,CAAA;YAC3E,KAAK,CAAC;gBACJ,OAAO,uBAAC,sBAAW,aAAiB,GAAG,EAAE,YAAY,IAAM,WAAW,GAA7C,MAAM,CAAC,EAAE,CAAwC,CAAA;YAC5E;gBACE,OAAO,uBAAC,sBAAW,eAAqB,WAAW,GAA1B,MAAM,CAAC,EAAE,CAAqB,CAAA;QAC3D,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,wBAAC,qCAAW,aAAC,GAAG,EAAE,YAAY,IAAM,IAAI,eACtC,uBAAC,qCAAW,cACT,KAAK,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,UAAC,WAAW,IAAK,OAAA,CAC5C,+BAAyB,IAAI,EAAC,KAAK,YAChC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,WAAW,IAAK,OAAA,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,EAApC,CAAoC,CAAC,IADhF,WAAW,CAAC,EAAE,CAElB,CACN,EAJ6C,CAI7C,CAAC,GACU,EACd,4CACG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CACrC,uBAAC,wCAAc,IAAC,eAAe,EAAE,UAAU,EAAe,IAAI,EAAC,KAAK,YACjE,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,OAAO;;wBAAK,OAAA,CAC5C,uBAAC,yCAAe,IACd,eAAe,EAAE,UAAU,EAC3B,WAAW,EAAE,IAAA,2CAA2B,EACtC,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,CAClB,EAED,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,MAAC,IAAI,CAAC,QAAQ,EAAgB,0CAAE,WAAW,YAEjD,IAAA,wBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAJrD,IAAI,CAAC,EAAE,CAKI,CACnB,CAAA;qBAAA,CAAC,IAhB8C,GAAG,CAAC,EAAE,CAiBvC,CAClB,EAnBsC,CAmBtC,CAAC,GACI,KACI,CACf,CAAA;AACH,CAAC,CAAA;AAED,IAAM,qBAAqB,GAAG,UAAC,EAAwD;QAAtD,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;IAA6B,OAAA,CAC1F,uBAAC,uDAA6B,IAC5B,IAAI,EAAC,QAAQ,EACb,eAAe,EAAE,QAAQ,EACzB,OAAO,EAAE,cAAM,OAAA,YAAY,EAAE,EAAd,CAAc,EAC7B,MAAM,EAAE,MAAM,YAEd,uBAAC,cAAI,IAAC,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAC,QAAQ,GAAG,GAC5D,CACjC;AAT2F,CAS3F,CAAA;AAwBQ,sDAAqB;AAtB9B,IAAM,YAAY,GAAG,UAAC,EAAwC;QAAtC,QAAQ,cAAA,EAAE,MAAM,YAAA;IAA2B,OAAA,CACjE,uBAAC,gDAAsB,IAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAC/D,uBAAC,cAAI,IAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,YAAY,GAAG,GACjC,CAC1B;AAJkE,CAIlE,CAAA;AAkB+B,oCAAY;AAD5C,kBAAe,cAAc,CAAA"}
|
|
@@ -25,7 +25,7 @@ var Wrapper = function (_a, ref) {
|
|
|
25
25
|
},
|
|
26
26
|
onClick: header.column.getToggleSortingHandler(),
|
|
27
27
|
}
|
|
28
|
-
: {}), { children: header.isPlaceholder ? null : (0, react_table_1.flexRender)(header.column.columnDef.header, header.getContext()) })
|
|
28
|
+
: {}), { children: header.isPlaceholder ? null : (0, react_table_1.flexRender)(header.column.columnDef.header, header.getContext()) })));
|
|
29
29
|
};
|
|
30
30
|
exports.Wrapper = Wrapper;
|
|
31
31
|
var TableHeader = (0, react_1.forwardRef)(exports.Wrapper);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-header.js","sourceRoot":"","sources":["../../src/molecules/table-header.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAAuC;AACvC,qDAA8E;AAC9E,qEAA6D;AAOtD,IAAM,OAAO,GAAG,UACrB,EAAwD,EACxD,GAA+B;QAD7B,MAAM,YAAA,EAAE,WAAW,iBAAA;IAElB,OAAA,CACH,uBAAC,2CAAiB,aAChB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"table-header.js","sourceRoot":"","sources":["../../src/molecules/table-header.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAAuC;AACvC,qDAA8E;AAC9E,qEAA6D;AAOtD,IAAM,OAAO,GAAG,UACrB,EAAwD,EACxD,GAA+B;QAD7B,MAAM,YAAA,EAAE,WAAW,iBAAA;IAElB,OAAA,CACH,uBAAC,2CAAiB,aAChB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,IAAI,EAAC,cAAc,IACf,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU;QAClC,CAAC,CAAC;YACE,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;aACpD;YACD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE;SACjD;QACH,CAAC,CAAC,EAAE,CAAC,cAEN,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,IAC5E,CACrB;AAjBI,CAiBJ,CAAA;AApBY,QAAA,OAAO,WAoBnB;AAED,IAAM,WAAW,GAAG,IAAA,kBAAU,EAAC,eAAO,CAEP,CAAA;AAE/B,kBAAe,WAAW,CAAA"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { ColumnDef
|
|
1
|
+
import { ColumnDef } from '@tanstack/react-table';
|
|
2
2
|
import { Axis } from '@ltht-react/types';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { TableData, DataEntity } from './table';
|
|
5
5
|
import { ScrollState } from './useScrollRef';
|
|
6
6
|
declare const createColumns: (tableData: TableData, headerAxis: Axis) => ColumnDef<DataEntity>[];
|
|
7
7
|
declare const calculateStaticColumnOffset: (cellIdx: number, staticColumns: number, firstColumnWidth: number, secondColumnWidth: number) => number | undefined;
|
|
8
|
-
declare const handleScrollEvent: (
|
|
8
|
+
declare const handleScrollEvent: (pagination: {
|
|
9
|
+
getCanNextPage: () => boolean;
|
|
10
|
+
nextPage: VoidFunction;
|
|
11
|
+
}, headerAxis: Axis, scrollState: ScrollState) => void;
|
|
9
12
|
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;
|
|
10
13
|
declare const handleDataUpdateForManualPagination: (tableData: TableData, headerAxis: Axis, keepPreviousData: boolean, setColumns: (value: React.SetStateAction<ColumnDef<DataEntity>[]>) => void, setData: (value: React.SetStateAction<DataEntity[]>) => void) => void;
|
|
11
14
|
export { createColumns, calculateStaticColumnOffset, handleScrollEvent, handleDataUpdate, handleDataUpdateForManualPagination, };
|
|
@@ -137,19 +137,19 @@ var calculateStaticColumnOffset = function (cellIdx, staticColumns, firstColumnW
|
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
139
|
exports.calculateStaticColumnOffset = calculateStaticColumnOffset;
|
|
140
|
-
var handleScrollEvent = function (
|
|
140
|
+
var handleScrollEvent = function (pagination, headerAxis, scrollState) {
|
|
141
141
|
var scrollWidth = scrollState.scrollWidth, scrollHeight = scrollState.scrollHeight, currentXScroll = scrollState.currentXScroll, currentYScroll = scrollState.currentYScroll;
|
|
142
142
|
if (headerAxis === 'x' &&
|
|
143
143
|
currentYScroll >= scrollHeight - getPercentageOfMax(5, scrollHeight) &&
|
|
144
144
|
currentYScroll <= scrollHeight &&
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
pagination.getCanNextPage()) {
|
|
146
|
+
pagination.nextPage();
|
|
147
147
|
}
|
|
148
148
|
if (headerAxis === 'y' &&
|
|
149
149
|
currentXScroll >= scrollWidth - getPercentageOfMax(5, scrollWidth) &&
|
|
150
150
|
currentXScroll <= scrollWidth &&
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
pagination.getCanNextPage()) {
|
|
152
|
+
pagination.nextPage();
|
|
153
153
|
}
|
|
154
154
|
};
|
|
155
155
|
exports.handleScrollEvent = handleScrollEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-methods.js","sourceRoot":"","sources":["../../src/molecules/table-methods.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"table-methods.js","sourceRoot":"","sources":["../../src/molecules/table-methods.tsx"],"names":[],"mappings":"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"}
|
package/lib/molecules/table.d.ts
CHANGED
package/lib/molecules/table.js
CHANGED
|
@@ -56,19 +56,19 @@ var useScrollRef_1 = __importDefault(require("./useScrollRef"));
|
|
|
56
56
|
var table_methods_1 = require("./table-methods");
|
|
57
57
|
var table_component_1 = __importStar(require("./table-component"));
|
|
58
58
|
var Table = function (_a) {
|
|
59
|
-
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 =
|
|
59
|
+
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.infiniteScrollEnabled, infiniteScrollEnabled = _g === void 0 ? false : _g, _h = _a.getCanNextPage, getCanNextPage = _h === void 0 ? function () { return false; } : _h, _j = _a.nextPage, nextPage = _j === void 0 ? function () { return null; } : _j, _k = _a.isFetching, isFetching = _k === void 0 ? false : _k, _l = _a.keepPreviousData, keepPreviousData = _l === void 0 ? false : _l, maxHeight = _a.maxHeight, maxWidth = _a.maxWidth, _m = _a.isFlex, isFlex = _m === void 0 ? false : _m, _o = _a.enableSorting, enableSorting = _o === void 0 ? true : _o, _p = _a.sortingFunctions, sortingFunctions = _p === void 0 ? undefined : _p, rest = __rest(_a, ["tableData", "staticColumns", "currentPage", "pageSize", "headerAxis", "manualPagination", "infiniteScrollEnabled", "getCanNextPage", "nextPage", "isFetching", "keepPreviousData", "maxHeight", "maxWidth", "isFlex", "enableSorting", "sortingFunctions"]);
|
|
60
60
|
var scrollableDivElement = (0, react_1.useRef)(null);
|
|
61
61
|
var scrollState = (0, useScrollRef_1.default)(scrollableDivElement);
|
|
62
|
-
var
|
|
63
|
-
var
|
|
64
|
-
var
|
|
62
|
+
var _q = (0, react_1.useState)({}), expanded = _q[0], setExpanded = _q[1];
|
|
63
|
+
var _r = (0, react_1.useState)([]), sorting = _r[0], setSorting = _r[1];
|
|
64
|
+
var _s = (0, react_1.useState)({
|
|
65
65
|
pageIndex: currentPage - 1,
|
|
66
66
|
pageSize: pageSizeParam,
|
|
67
|
-
}),
|
|
67
|
+
}), _t = _s[0], pageIndex = _t.pageIndex, pageSize = _t.pageSize, setPagination = _s[1];
|
|
68
68
|
var pagination = (0, react_1.useMemo)(function () { return ({ pageIndex: pageIndex, pageSize: pageSize }); }, [pageIndex, pageSize]);
|
|
69
|
-
var
|
|
70
|
-
var
|
|
71
|
-
var
|
|
69
|
+
var _u = (0, react_1.useState)([]), data = _u[0], setData = _u[1];
|
|
70
|
+
var _v = (0, react_1.useState)([]), columns = _v[0], setColumns = _v[1];
|
|
71
|
+
var _w = (0, react_1.useState)(-1), pageCount = _w[0], setPageCount = _w[1];
|
|
72
72
|
(0, react_1.useEffect)(function () {
|
|
73
73
|
if (!manualPagination) {
|
|
74
74
|
(0, table_methods_1.handleDataUpdate)(tableData, pageIndex, pageSize, headerAxis, setColumns, setData, setPageCount);
|
|
@@ -80,22 +80,15 @@ var Table = function (_a) {
|
|
|
80
80
|
}
|
|
81
81
|
}, [headerAxis, tableData, manualPagination, keepPreviousData]);
|
|
82
82
|
var table = (0, react_table_1.useReactTable)(__assign(__assign(__assign({ data: data, columns: columns }, (!manualPagination ? { pageCount: pageCount } : {})), { state: __assign({ expanded: expanded, sorting: sorting }, (!manualPagination ? { pagination: pagination } : {})), manualPagination: true, onExpandedChange: setExpanded, onSortingChange: setSorting, enableSorting: enableSorting, sortingFns: sortingFunctions, getSubRows: function (row) { return row.subRows; }, getCoreRowModel: (0, react_table_1.getCoreRowModel)(), getExpandedRowModel: (0, react_table_1.getExpandedRowModel)(), getSortedRowModel: (0, react_table_1.getSortedRowModel)() }), (!manualPagination ? { onPaginationChange: setPagination } : {})));
|
|
83
|
+
var getNextPage = function () { return (manualPagination ? nextPage() : table.nextPage()); };
|
|
84
|
+
var hasNextPage = function () { return (manualPagination ? getCanNextPage() : table.getCanNextPage()); };
|
|
83
85
|
(0, react_1.useEffect)(function () {
|
|
84
|
-
if (!scrollState) {
|
|
86
|
+
if (!scrollState || !infiniteScrollEnabled || isFetching) {
|
|
85
87
|
return;
|
|
86
88
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}, [scrollState, table, headerAxis, manualPagination]);
|
|
91
|
-
var getNextPage = function () {
|
|
92
|
-
if (manualPagination) {
|
|
93
|
-
nextPage();
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
table.nextPage();
|
|
97
|
-
}
|
|
98
|
-
};
|
|
89
|
+
(0, table_methods_1.handleScrollEvent)({ getCanNextPage: hasNextPage, nextPage: getNextPage }, headerAxis, scrollState);
|
|
90
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
91
|
+
}, [scrollState]);
|
|
99
92
|
return ((0, jsx_runtime_1.jsxs)(table_styled_components_1.ScrollableContainer, { ref: scrollableDivElement, tableHeaderAxis: headerAxis, maxHeight: maxHeight, maxWidth: maxWidth, isFlex: isFlex, children: [(0, jsx_runtime_1.jsx)(table_component_1.default, __assign({ table: table, staticColumns: staticColumns, headerAxis: headerAxis }, rest)), manualPagination ? ((0, jsx_runtime_1.jsx)(table_component_1.TableSpinner, { position: headerAxis === 'x' ? 'bottom' : 'right', hidden: !isFetching })) : null, (0, jsx_runtime_1.jsx)(table_component_1.TableNavigationButton, { position: headerAxis === 'x' ? 'bottom' : 'right', hidden: isFetching || (manualPagination ? !getCanNextPage() : !table.getCanNextPage()), clickHandler: getNextPage })] }));
|
|
100
93
|
};
|
|
101
94
|
exports.default = Table;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/molecules/table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAgF;AAChF,qDAU8B;AAE9B,qEAA+D;AAC/D,gEAAyC;AACzC,iDAA0G;AAC1G,mEAAuF;AAGvF,IAAM,KAAK,GAAe,UAAC,
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/molecules/table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,25 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var react_1 = require("react");
|
|
4
4
|
var useScrollRef = function (elementRef) {
|
|
5
5
|
var _a = (0, react_1.useState)(), scrollState = _a[0], setScrollState = _a[1];
|
|
6
|
-
var
|
|
6
|
+
var handleScroll = function (e) {
|
|
7
|
+
var _a, _b, _c, _d, _e, _f;
|
|
8
|
+
if (!e)
|
|
9
|
+
return;
|
|
10
|
+
setScrollState({
|
|
11
|
+
scrollWidth: (_a = e.scrollWidth) !== null && _a !== void 0 ? _a : 0,
|
|
12
|
+
scrollHeight: (_b = e.scrollHeight) !== null && _b !== void 0 ? _b : 0,
|
|
13
|
+
currentXScroll: ((_c = e.scrollLeft) !== null && _c !== void 0 ? _c : 0) + ((_d = e.clientWidth) !== null && _d !== void 0 ? _d : 0),
|
|
14
|
+
currentYScroll: ((_e = e.scrollTop) !== null && _e !== void 0 ? _e : 0) + ((_f = e.clientHeight) !== null && _f !== void 0 ? _f : 0),
|
|
15
|
+
});
|
|
16
|
+
};
|
|
7
17
|
(0, react_1.useEffect)(function () {
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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);
|
|
18
|
+
var element = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
|
|
19
|
+
if (element) {
|
|
20
|
+
handleScroll(element); // Set initial scroll state
|
|
21
|
+
element.addEventListener('scroll', function () { return handleScroll(element); });
|
|
22
|
+
}
|
|
21
23
|
return function () {
|
|
22
|
-
element === null || element === void 0 ? void 0 : element.removeEventListener('scroll', handleScroll);
|
|
24
|
+
element === null || element === void 0 ? void 0 : element.removeEventListener('scroll', function () { return handleScroll(element); });
|
|
23
25
|
};
|
|
24
|
-
}, [
|
|
26
|
+
}, [elementRef]);
|
|
25
27
|
return scrollState;
|
|
26
28
|
};
|
|
27
29
|
exports.default = useScrollRef;
|
|
@@ -1 +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,IAAA,gBAAQ,GAAe,EAAtD,WAAW,QAAA,EAAE,cAAc,QAA2B,CAAA;
|
|
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,IAAA,gBAAQ,GAAe,EAAtD,WAAW,QAAA,EAAE,cAAc,QAA2B,CAAA;IAE7D,IAAM,YAAY,GAAG,UAAC,CAAc;;QAClC,IAAI,CAAC,CAAC;YAAE,OAAM;QAEd,cAAc,CAAC;YACb,WAAW,EAAE,MAAA,CAAC,CAAC,WAAW,mCAAI,CAAC;YAC/B,YAAY,EAAE,MAAA,CAAC,CAAC,YAAY,mCAAI,CAAC;YACjC,cAAc,EAAE,CAAC,MAAA,CAAC,CAAC,UAAU,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,WAAW,mCAAI,CAAC,CAAC;YAC1D,cAAc,EAAE,CAAC,MAAA,CAAC,CAAC,SAAS,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,YAAY,mCAAI,CAAC,CAAC;SAC3D,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC;QACR,IAAM,OAAO,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA;QAEnC,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,OAAO,CAAC,CAAA,CAAC,2BAA2B;YACjD,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAM,OAAA,YAAY,CAAC,OAAO,CAAC,EAArB,CAAqB,CAAC,CAAA;QACjE,CAAC;QAED,OAAO;YACL,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,QAAQ,EAAE,cAAM,OAAA,YAAY,CAAC,OAAO,CAAC,EAArB,CAAqB,CAAC,CAAA;QACrE,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AASD,kBAAe,YAAY,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ltht-react/table",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.157",
|
|
4
4
|
"description": "ltht-react Table component.",
|
|
5
5
|
"author": "LTHT",
|
|
6
6
|
"homepage": "",
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@emotion/react": "^11.0.0",
|
|
30
30
|
"@emotion/styled": "^11.0.0",
|
|
31
|
-
"@ltht-react/button": "^2.0.
|
|
32
|
-
"@ltht-react/icon": "^2.0.
|
|
33
|
-
"@ltht-react/menu": "^2.0.
|
|
34
|
-
"@ltht-react/styles": "^2.0.
|
|
35
|
-
"@ltht-react/types": "^2.0.
|
|
36
|
-
"@ltht-react/utils": "^2.0.
|
|
31
|
+
"@ltht-react/button": "^2.0.157",
|
|
32
|
+
"@ltht-react/icon": "^2.0.157",
|
|
33
|
+
"@ltht-react/menu": "^2.0.157",
|
|
34
|
+
"@ltht-react/styles": "^2.0.157",
|
|
35
|
+
"@ltht-react/types": "^2.0.157",
|
|
36
|
+
"@ltht-react/utils": "^2.0.157",
|
|
37
37
|
"@tanstack/react-table": "^8.10.7",
|
|
38
38
|
"react": "^18.2.0",
|
|
39
39
|
"react-uuid": "^2.0.0"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "21869e098a2ce54845ba38dc840a398aab38d122"
|
|
42
42
|
}
|
|
@@ -41,11 +41,11 @@ const TableComponent = <T,>({ table, staticColumns = 0, headerAxis, ...rest }: I
|
|
|
41
41
|
}
|
|
42
42
|
switch (headerIndex) {
|
|
43
43
|
case 0:
|
|
44
|
-
return <TableHeader ref={firstColumn} {...headerProps} />
|
|
44
|
+
return <TableHeader key={header.id} ref={firstColumn} {...headerProps} />
|
|
45
45
|
case 1:
|
|
46
|
-
return <TableHeader ref={secondColumn} {...headerProps} />
|
|
46
|
+
return <TableHeader key={header.id} ref={secondColumn} {...headerProps} />
|
|
47
47
|
default:
|
|
48
|
-
return <TableHeader {...headerProps} />
|
|
48
|
+
return <TableHeader key={header.id} {...headerProps} />
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ColumnDef, ColumnHelper, createColumnHelper, HeaderContext
|
|
1
|
+
import { ColumnDef, ColumnHelper, createColumnHelper, HeaderContext } from '@tanstack/react-table'
|
|
2
2
|
import { IconProps } from '@ltht-react/icon'
|
|
3
3
|
import { Axis } from '@ltht-react/types'
|
|
4
4
|
import React from 'react'
|
|
@@ -138,24 +138,28 @@ const calculateStaticColumnOffset = (
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
const handleScrollEvent = (
|
|
141
|
+
const handleScrollEvent = (
|
|
142
|
+
pagination: { getCanNextPage: () => boolean; nextPage: VoidFunction },
|
|
143
|
+
headerAxis: Axis,
|
|
144
|
+
scrollState: ScrollState
|
|
145
|
+
) => {
|
|
142
146
|
const { scrollWidth, scrollHeight, currentXScroll, currentYScroll } = scrollState
|
|
143
147
|
if (
|
|
144
148
|
headerAxis === 'x' &&
|
|
145
149
|
currentYScroll >= scrollHeight - getPercentageOfMax(5, scrollHeight) &&
|
|
146
150
|
currentYScroll <= scrollHeight &&
|
|
147
|
-
|
|
151
|
+
pagination.getCanNextPage()
|
|
148
152
|
) {
|
|
149
|
-
|
|
153
|
+
pagination.nextPage()
|
|
150
154
|
}
|
|
151
155
|
|
|
152
156
|
if (
|
|
153
157
|
headerAxis === 'y' &&
|
|
154
158
|
currentXScroll >= scrollWidth - getPercentageOfMax(5, scrollWidth) &&
|
|
155
159
|
currentXScroll <= scrollWidth &&
|
|
156
|
-
|
|
160
|
+
pagination.getCanNextPage()
|
|
157
161
|
) {
|
|
158
|
-
|
|
162
|
+
pagination.nextPage()
|
|
159
163
|
}
|
|
160
164
|
}
|
|
161
165
|
|
package/src/molecules/table.tsx
CHANGED
|
@@ -24,6 +24,7 @@ const Table: FC<IProps> = ({
|
|
|
24
24
|
pageSize: pageSizeParam = 10,
|
|
25
25
|
headerAxis = 'x',
|
|
26
26
|
manualPagination = false,
|
|
27
|
+
infiniteScrollEnabled = false,
|
|
27
28
|
getCanNextPage = () => false,
|
|
28
29
|
nextPage = () => null,
|
|
29
30
|
isFetching = false,
|
|
@@ -35,7 +36,7 @@ const Table: FC<IProps> = ({
|
|
|
35
36
|
sortingFunctions = undefined,
|
|
36
37
|
...rest
|
|
37
38
|
}) => {
|
|
38
|
-
const scrollableDivElement = useRef(null)
|
|
39
|
+
const scrollableDivElement = useRef<HTMLDivElement>(null)
|
|
39
40
|
const scrollState = useScrollRef(scrollableDivElement)
|
|
40
41
|
|
|
41
42
|
const [expanded, setExpanded] = useState<ExpandedState>({})
|
|
@@ -83,23 +84,18 @@ const Table: FC<IProps> = ({
|
|
|
83
84
|
...(!manualPagination ? { onPaginationChange: setPagination } : {}),
|
|
84
85
|
})
|
|
85
86
|
|
|
87
|
+
const getNextPage = () => (manualPagination ? nextPage() : table.nextPage())
|
|
88
|
+
const hasNextPage = () => (manualPagination ? getCanNextPage() : table.getCanNextPage())
|
|
89
|
+
|
|
86
90
|
useEffect(() => {
|
|
87
|
-
if (!scrollState) {
|
|
91
|
+
if (!scrollState || !infiniteScrollEnabled || isFetching) {
|
|
88
92
|
return
|
|
89
93
|
}
|
|
90
94
|
|
|
91
|
-
|
|
92
|
-
handleScrollEvent(table, headerAxis, scrollState)
|
|
93
|
-
}
|
|
94
|
-
}, [scrollState, table, headerAxis, manualPagination])
|
|
95
|
+
handleScrollEvent({ getCanNextPage: hasNextPage, nextPage: getNextPage }, headerAxis, scrollState)
|
|
95
96
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
nextPage()
|
|
99
|
-
} else {
|
|
100
|
-
table.nextPage()
|
|
101
|
-
}
|
|
102
|
-
}
|
|
97
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
98
|
+
}, [scrollState])
|
|
103
99
|
|
|
104
100
|
return (
|
|
105
101
|
<ScrollableContainer
|
|
@@ -137,6 +133,7 @@ export interface IPaginationProps {
|
|
|
137
133
|
currentPage?: number
|
|
138
134
|
pageSize?: number
|
|
139
135
|
manualPagination?: boolean
|
|
136
|
+
infiniteScrollEnabled?: boolean
|
|
140
137
|
nextPage?: () => void
|
|
141
138
|
getCanNextPage?: () => boolean
|
|
142
139
|
isFetching?: boolean
|
|
@@ -2,26 +2,30 @@ import { useEffect, useState } from 'react'
|
|
|
2
2
|
|
|
3
3
|
const useScrollRef = (elementRef: React.RefObject<HTMLElement>) => {
|
|
4
4
|
const [scrollState, setScrollState] = useState<ScrollState>()
|
|
5
|
-
const element = elementRef.current
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
const handleScroll = (e: HTMLElement) => {
|
|
7
|
+
if (!e) return
|
|
8
|
+
|
|
9
|
+
setScrollState({
|
|
10
|
+
scrollWidth: e.scrollWidth ?? 0,
|
|
11
|
+
scrollHeight: e.scrollHeight ?? 0,
|
|
12
|
+
currentXScroll: (e.scrollLeft ?? 0) + (e.clientWidth ?? 0),
|
|
13
|
+
currentYScroll: (e.scrollTop ?? 0) + (e.clientHeight ?? 0),
|
|
13
14
|
})
|
|
15
|
+
}
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const element = elementRef?.current
|
|
18
19
|
|
|
19
|
-
element
|
|
20
|
+
if (element) {
|
|
21
|
+
handleScroll(element) // Set initial scroll state
|
|
22
|
+
element.addEventListener('scroll', () => handleScroll(element))
|
|
23
|
+
}
|
|
20
24
|
|
|
21
25
|
return () => {
|
|
22
|
-
element?.removeEventListener('scroll', handleScroll)
|
|
26
|
+
element?.removeEventListener('scroll', () => handleScroll(element))
|
|
23
27
|
}
|
|
24
|
-
}, [
|
|
28
|
+
}, [elementRef])
|
|
25
29
|
|
|
26
30
|
return scrollState
|
|
27
31
|
}
|