@ltht-react/table 2.0.153 → 2.0.155

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.
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
2
1
  import { Table } from '@tanstack/react-table';
2
+ import { HTMLAttributes } from 'react';
3
3
  import { ITableConfig } from './table';
4
- declare const TableComponent: <T>({ table, staticColumns, headerAxis }: ITableHeadProps<T>) => JSX.Element;
4
+ declare const TableComponent: <T>({ table, staticColumns, headerAxis, ...rest }: ITableHeadProps<T>) => JSX.Element;
5
5
  declare const TableNavigationButton: ({ position, hidden, clickHandler }: ITableNavButtonProps) => import("react/jsx-runtime").JSX.Element;
6
6
  declare const TableSpinner: ({ position, hidden }: ITableSpinnerProps) => import("react/jsx-runtime").JSX.Element;
7
7
  interface ITableNavButtonProps {
@@ -13,7 +13,7 @@ interface ITableSpinnerProps {
13
13
  position: 'bottom' | 'right';
14
14
  hidden: boolean;
15
15
  }
16
- interface ITableHeadProps<T> extends ITableConfig {
16
+ interface ITableHeadProps<T> extends ITableConfig, HTMLAttributes<HTMLTableElement> {
17
17
  table: Table<T>;
18
18
  }
19
19
  export default TableComponent;
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -22,8 +33,9 @@ var react_1 = require("react");
22
33
  var table_methods_1 = require("./table-methods");
23
34
  var table_styled_components_1 = require("./table-styled-components");
24
35
  var useDimensionRef_1 = __importDefault(require("./useDimensionRef"));
36
+ var table_header_1 = __importDefault(require("./table-header"));
25
37
  var TableComponent = function (_a) {
26
- var table = _a.table, _b = _a.staticColumns, staticColumns = _b === void 0 ? 0 : _b, headerAxis = _a.headerAxis;
38
+ var table = _a.table, _b = _a.staticColumns, staticColumns = _b === void 0 ? 0 : _b, headerAxis = _a.headerAxis, rest = __rest(_a, ["table", "staticColumns", "headerAxis"]);
27
39
  var firstColumn = (0, react_1.useRef)(null);
28
40
  var secondColumn = (0, react_1.useRef)(null);
29
41
  var tableElement = (0, react_1.useRef)(null);
@@ -32,27 +44,24 @@ var TableComponent = function (_a) {
32
44
  var usingExpanderColumn = table.getHeaderGroups().some(function (x) { return x.headers.some(function (h) { return h.column.id === 'expander'; }); });
33
45
  var totalStaticColumns = (0, react_1.useMemo)(function () { return (usingExpanderColumn ? staticColumns + 1 : staticColumns); }, [usingExpanderColumn, staticColumns]);
34
46
  var getHeaderColumn = function (header, headerIndex) {
47
+ var stickyWidth = (0, table_methods_1.calculateStaticColumnOffset)(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth);
48
+ var headerProps = {
49
+ header: header,
50
+ stickyWidth: stickyWidth,
51
+ };
35
52
  switch (headerIndex) {
36
53
  case 0:
37
- return getHeaderElement(header, (0, table_methods_1.calculateStaticColumnOffset)(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth), firstColumn);
54
+ return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ ref: firstColumn }, headerProps));
38
55
  case 1:
39
- return getHeaderElement(header, (0, table_methods_1.calculateStaticColumnOffset)(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth), secondColumn);
56
+ return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ ref: secondColumn }, headerProps));
40
57
  default:
41
- return getHeaderElement(header, (0, table_methods_1.calculateStaticColumnOffset)(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth));
58
+ return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({}, headerProps));
42
59
  }
43
60
  };
44
- var getHeaderElement = function (header, stickyWidth, elementRef) { return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTableHeader, __assign({ stickyWidth: stickyWidth, colSpan: header.colSpan, ref: elementRef, role: "columnheader" }, (header.column.id !== 'expander'
45
- ? {
46
- style: {
47
- cursor: header.column.getCanSort() ? 'pointer' : '',
48
- },
49
- onClick: header.column.getToggleSortingHandler(),
50
- }
51
- : {}), { children: header.isPlaceholder ? null : (0, react_table_1.flexRender)(header.column.columnDef.header, header.getContext()) }), header.id)); };
52
- return ((0, jsx_runtime_1.jsxs)(table_styled_components_1.StyledTable, { ref: tableElement, 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) {
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) {
53
62
  var _a;
54
63
  return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTableData, { tableHeaderAxis: headerAxis, stickyWidth: (0, table_methods_1.calculateStaticColumnOffset)(cellIdx, totalStaticColumns, firstColumnWidth, secondColumnWidth), role: "cell", style: (_a = cell.getValue()) === null || _a === void 0 ? void 0 : _a.parentStyle, children: (0, react_table_1.flexRender)(cell.column.columnDef.cell, cell.getContext()) }, cell.id));
55
- }) }, row.id)); }) })] }));
64
+ }) }, row.id)); }) })] })));
56
65
  };
57
66
  var TableNavigationButton = function (_a) {
58
67
  var position = _a.position, hidden = _a.hidden, clickHandler = _a.clickHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"table-component.js","sourceRoot":"","sources":["../../src/molecules/table-component.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-component.js","sourceRoot":"","sources":["../../src/molecules/table-component.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Ref } from 'react';
2
+ import { Header as ReactTableHeader } from '@tanstack/react-table';
3
+ interface TableHeaderProps<TData, TValue> {
4
+ header: ReactTableHeader<TData, TValue>;
5
+ stickyWidth?: number;
6
+ }
7
+ export declare const Wrapper: <TData, TValue>({ header, stickyWidth }: TableHeaderProps<TData, TValue>, ref?: Ref<HTMLTableCellElement>) => import("react/jsx-runtime").JSX.Element;
8
+ declare const TableHeader: <TData, TValue>(props: TableHeaderProps<TData, TValue> & {
9
+ ref?: Ref<HTMLTableCellElement> | undefined;
10
+ }) => ReturnType<typeof Wrapper>;
11
+ export default TableHeader;
@@ -0,0 +1,33 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.Wrapper = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var react_1 = require("react");
17
+ var react_table_1 = require("@tanstack/react-table");
18
+ var table_styled_components_1 = require("./table-styled-components");
19
+ var Wrapper = function (_a, ref) {
20
+ var header = _a.header, stickyWidth = _a.stickyWidth;
21
+ return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTableHeader, __assign({ ref: ref, stickyWidth: stickyWidth, colSpan: header.colSpan, role: "columnheader" }, (header.column.id !== 'expander'
22
+ ? {
23
+ style: {
24
+ cursor: header.column.getCanSort() ? 'pointer' : '',
25
+ },
26
+ onClick: header.column.getToggleSortingHandler(),
27
+ }
28
+ : {}), { children: header.isPlaceholder ? null : (0, react_table_1.flexRender)(header.column.columnDef.header, header.getContext()) }), header.id));
29
+ };
30
+ exports.Wrapper = Wrapper;
31
+ var TableHeader = (0, react_1.forwardRef)(exports.Wrapper);
32
+ exports.default = TableHeader;
33
+ //# sourceMappingURL=table-header.js.map
@@ -0,0 +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,EAExB,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,KAZzF,MAAM,CAAC,EAAE,CAaI,CACrB;AAlBI,CAkBJ,CAAA;AArBY,QAAA,OAAO,WAqBnB;AAED,IAAM,WAAW,GAAG,IAAA,kBAAU,EAAC,eAAO,CAEP,CAAA;AAE/B,kBAAe,WAAW,CAAA"}
@@ -1,11 +1,14 @@
1
- import { ColumnDef, Table } from '@tanstack/react-table';
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: (table: Table<DataEntity>, headerAxis: Axis, scrollState: ScrollState) => void;
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 (table, headerAxis, scrollState) {
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
- table.getCanNextPage()) {
146
- table.nextPage();
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
- table.getCanNextPage()) {
152
- table.nextPage();
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":"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"}
1
+ {"version":3,"file":"table-methods.js","sourceRoot":"","sources":["../../src/molecules/table-methods.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { FC } from 'react';
1
+ import { FC, HTMLAttributes } from 'react';
2
2
  import { SortingFn } from '@tanstack/react-table';
3
3
  import { Axis } from '@ltht-react/types';
4
4
  import { CellProps } from './table-cell';
5
5
  declare const Table: FC<IProps>;
6
- interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps {
6
+ interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps, HTMLAttributes<HTMLTableElement> {
7
7
  tableData: TableData;
8
8
  }
9
9
  export interface ITableConfig {
@@ -16,6 +16,7 @@ export interface IPaginationProps {
16
16
  currentPage?: number;
17
17
  pageSize?: number;
18
18
  manualPagination?: boolean;
19
+ infiniteScrollEnabled?: boolean;
19
20
  nextPage?: () => void;
20
21
  getCanNextPage?: () => boolean;
21
22
  isFetching?: boolean;
@@ -33,6 +33,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
33
  __setModuleDefault(result, mod);
34
34
  return result;
35
35
  };
36
+ var __rest = (this && this.__rest) || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
+ t[p] = s[p];
40
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
+ t[p[i]] = s[p[i]];
44
+ }
45
+ return t;
46
+ };
36
47
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
48
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
49
  };
@@ -45,19 +56,19 @@ var useScrollRef_1 = __importDefault(require("./useScrollRef"));
45
56
  var table_methods_1 = require("./table-methods");
46
57
  var table_component_1 = __importStar(require("./table-component"));
47
58
  var Table = function (_a) {
48
- 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, _k = _a.keepPreviousData, keepPreviousData = _k === void 0 ? false : _k, maxHeight = _a.maxHeight, maxWidth = _a.maxWidth, _l = _a.isFlex, isFlex = _l === void 0 ? false : _l, _m = _a.enableSorting, enableSorting = _m === void 0 ? true : _m, _o = _a.sortingFunctions, sortingFunctions = _o === void 0 ? undefined : _o;
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"]);
49
60
  var scrollableDivElement = (0, react_1.useRef)(null);
50
61
  var scrollState = (0, useScrollRef_1.default)(scrollableDivElement);
51
- var _p = (0, react_1.useState)({}), expanded = _p[0], setExpanded = _p[1];
52
- var _q = (0, react_1.useState)([]), sorting = _q[0], setSorting = _q[1];
53
- var _r = (0, react_1.useState)({
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)({
54
65
  pageIndex: currentPage - 1,
55
66
  pageSize: pageSizeParam,
56
- }), _s = _r[0], pageIndex = _s.pageIndex, pageSize = _s.pageSize, setPagination = _r[1];
67
+ }), _t = _s[0], pageIndex = _t.pageIndex, pageSize = _t.pageSize, setPagination = _s[1];
57
68
  var pagination = (0, react_1.useMemo)(function () { return ({ pageIndex: pageIndex, pageSize: pageSize }); }, [pageIndex, pageSize]);
58
- var _t = (0, react_1.useState)([]), data = _t[0], setData = _t[1];
59
- var _u = (0, react_1.useState)([]), columns = _u[0], setColumns = _u[1];
60
- var _v = (0, react_1.useState)(-1), pageCount = _v[0], setPageCount = _v[1];
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];
61
72
  (0, react_1.useEffect)(function () {
62
73
  if (!manualPagination) {
63
74
  (0, table_methods_1.handleDataUpdate)(tableData, pageIndex, pageSize, headerAxis, setColumns, setData, setPageCount);
@@ -69,23 +80,16 @@ var Table = function (_a) {
69
80
  }
70
81
  }, [headerAxis, tableData, manualPagination, keepPreviousData]);
71
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()); };
72
85
  (0, react_1.useEffect)(function () {
73
- if (!scrollState) {
86
+ if (!scrollState || !infiniteScrollEnabled || isFetching) {
74
87
  return;
75
88
  }
76
- if (!manualPagination) {
77
- (0, table_methods_1.handleScrollEvent)(table, headerAxis, scrollState);
78
- }
79
- }, [scrollState, table, headerAxis, manualPagination]);
80
- var getNextPage = function () {
81
- if (manualPagination) {
82
- nextPage();
83
- }
84
- else {
85
- table.nextPage();
86
- }
87
- };
88
- 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, { table: table, staticColumns: staticColumns, headerAxis: headerAxis }), 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 })] }));
89
+ (0, table_methods_1.handleScrollEvent)({ getCanNextPage: hasNextPage, nextPage: getNextPage }, headerAxis, scrollState);
90
+ // eslint-disable-next-line react-hooks/exhaustive-deps
91
+ }, [scrollState]);
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 })] }));
89
93
  };
90
94
  exports.default = Table;
91
95
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/molecules/table.tsx"],"names":[],"mappings":"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"}
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 element = elementRef.current;
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 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);
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
- }, [element]);
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;IAC7D,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;IAElC,IAAA,iBAAS,EAAC;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
+ {"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"}
@@ -1,6 +1,7 @@
1
1
  import { IPaginationProps, ITableDimensionProps, ITableConfig, TableData } from '../molecules/table';
2
2
  declare const GenericTable: <TColumn, TRow>({ columnData, rowData, mapToTableData, headerAxis, pageSize, currentPage, keepPreviousData, ...props }: IProps<TColumn, TRow>) => import("react/jsx-runtime").JSX.Element;
3
3
  interface IProps<TColumn, TRow> extends ITableConfig, IPaginationProps, ITableDimensionProps {
4
+ id?: string;
4
5
  columnData: TColumn;
5
6
  rowData: TRow;
6
7
  mapToTableData: (colData: TColumn, rowData: TRow) => TableData;
@@ -1 +1 @@
1
- {"version":3,"file":"generic-table.js","sourceRoot":"","sources":["../../src/organisms/generic-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA2G;AAE3G,IAAM,YAAY,GAAG,UAAgB,EASb;IARtB,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,EACf,wBAAuB,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EACpB,KAAK,cAR2B,wGASpC,CADS;IAER,IAAM,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAErD,OAAO,CACL,uBAAC,eAAK,aACJ,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,IAC9B,KAAK,EACT,CACH,CAAA;AACH,CAAC,CAAA;AAQD,kBAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"generic-table.js","sourceRoot":"","sources":["../../src/organisms/generic-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA2G;AAE3G,IAAM,YAAY,GAAG,UAAgB,EASb;IARtB,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,EACf,wBAAuB,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EACpB,KAAK,cAR2B,wGASpC,CADS;IAER,IAAM,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAErD,OAAO,CACL,uBAAC,eAAK,aACJ,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,IAC9B,KAAK,EACT,CACH,CAAA;AACH,CAAC,CAAA;AASD,kBAAe,YAAY,CAAA"}
@@ -4,6 +4,7 @@ import { IPaginationProps, ITableDimensionProps, ITableConfig } from '../molecul
4
4
  import { AdminActionsForQuestionnaire } from './questionnaire-table-methods';
5
5
  declare const QuestionnaireTable: FC<IProps>;
6
6
  interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps {
7
+ id?: string;
7
8
  definition: Questionnaire;
8
9
  records: QuestionnaireResponse[];
9
10
  adminActions?: AdminActionsForQuestionnaire[];
@@ -1 +1 @@
1
- {"version":3,"file":"questionnaire-table.js","sourceRoot":"","sources":["../../src/organisms/questionnaire-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAAmC;AACnC,0DAAmC;AACnC,6DAAgG;AAChG,8FAEsC;AAEtC,IAAM,kBAAkB,GAAe,UAAC,EAUvC;IATC,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,EACf,wBAAuB,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EACpB,KAAK,cAT8B,uHAUvC,CADS;IAER,IAAM,SAAS,GAAG,IAAA,eAAO,EACvB,cAAM,OAAA,IAAA,qCAAiD,EAAC,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,CAAC;QACf,OAAO,CACL,6DACE,uBAAC,cAAI,IAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,GAAG,EACpD,2FAAuD,IACtD,CACJ,CAAA;IACH,CAAC;IAED,OAAO,CACL,uBAAC,eAAK,aACJ,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,IAC9B,KAAK,EACT,CACH,CAAA;AACH,CAAC,CAAA;AAQD,kBAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"questionnaire-table.js","sourceRoot":"","sources":["../../src/organisms/questionnaire-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAAmC;AACnC,0DAAmC;AACnC,6DAAgG;AAChG,8FAEsC;AAEtC,IAAM,kBAAkB,GAAe,UAAC,EAUvC;IATC,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,EACf,wBAAuB,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EACpB,KAAK,cAT8B,uHAUvC,CADS;IAER,IAAM,SAAS,GAAG,IAAA,eAAO,EACvB,cAAM,OAAA,IAAA,qCAAiD,EAAC,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,CAAC;QACf,OAAO,CACL,6DACE,uBAAC,cAAI,IAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,GAAG,EACpD,2FAAuD,IACtD,CACJ,CAAA;IACH,CAAC;IAED,OAAO,CACL,uBAAC,eAAK,aACJ,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,IAC9B,KAAK,EACT,CACH,CAAA;AACH,CAAC,CAAA;AASD,kBAAe,kBAAkB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ltht-react/table",
3
- "version": "2.0.153",
3
+ "version": "2.0.155",
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.153",
32
- "@ltht-react/icon": "^2.0.153",
33
- "@ltht-react/menu": "^2.0.153",
34
- "@ltht-react/styles": "^2.0.153",
35
- "@ltht-react/types": "^2.0.153",
36
- "@ltht-react/utils": "^2.0.153",
31
+ "@ltht-react/button": "^2.0.155",
32
+ "@ltht-react/icon": "^2.0.155",
33
+ "@ltht-react/menu": "^2.0.155",
34
+ "@ltht-react/styles": "^2.0.155",
35
+ "@ltht-react/types": "^2.0.155",
36
+ "@ltht-react/utils": "^2.0.155",
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": "0fccbe30f17265e6dbad3d9e3770d77052657aac"
41
+ "gitHead": "0b2be4f69fef44231fbe32aaf89f93e3f88c589e"
42
42
  }
@@ -1,6 +1,6 @@
1
1
  import Icon from '@ltht-react/icon'
2
2
  import { flexRender, Header as ReactTableHeader, Table } from '@tanstack/react-table'
3
- import React, { useMemo, useRef } from 'react'
3
+ import { HTMLAttributes, useMemo, useRef } from 'react'
4
4
  import { calculateStaticColumnOffset } from './table-methods'
5
5
  import {
6
6
  StyledNextPageButtonContainer,
@@ -8,14 +8,14 @@ import {
8
8
  StyledTable,
9
9
  StyledTableRow,
10
10
  StyledTableData,
11
- StyledTableHeader,
12
11
  StyledTHead,
13
12
  } from './table-styled-components'
14
13
  import useDimensionsRef from './useDimensionRef'
15
14
  import { CellProps } from './table-cell'
16
15
  import { ITableConfig } from './table'
16
+ import TableHeader from './table-header'
17
17
 
18
- const TableComponent = <T,>({ table, staticColumns = 0, headerAxis }: ITableHeadProps<T>): JSX.Element => {
18
+ const TableComponent = <T,>({ table, staticColumns = 0, headerAxis, ...rest }: ITableHeadProps<T>): JSX.Element => {
19
19
  const firstColumn = useRef(null)
20
20
  const secondColumn = useRef(null)
21
21
  const tableElement = useRef(null)
@@ -29,54 +29,28 @@ const TableComponent = <T,>({ table, staticColumns = 0, headerAxis }: ITableHead
29
29
  )
30
30
 
31
31
  const getHeaderColumn = <TData, TValue>(header: ReactTableHeader<TData, TValue>, headerIndex: number) => {
32
+ const stickyWidth = calculateStaticColumnOffset(
33
+ headerIndex,
34
+ totalStaticColumns,
35
+ firstColumnWidth,
36
+ secondColumnWidth
37
+ )
38
+ const headerProps = {
39
+ header,
40
+ stickyWidth,
41
+ }
32
42
  switch (headerIndex) {
33
43
  case 0:
34
- return getHeaderElement(
35
- header,
36
- calculateStaticColumnOffset(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth),
37
- firstColumn
38
- )
44
+ return <TableHeader ref={firstColumn} {...headerProps} />
39
45
  case 1:
40
- return getHeaderElement(
41
- header,
42
- calculateStaticColumnOffset(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth),
43
- secondColumn
44
- )
45
-
46
+ return <TableHeader ref={secondColumn} {...headerProps} />
46
47
  default:
47
- return getHeaderElement(
48
- header,
49
- calculateStaticColumnOffset(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth)
50
- )
48
+ return <TableHeader {...headerProps} />
51
49
  }
52
50
  }
53
51
 
54
- const getHeaderElement = <TData, TValue>(
55
- header: ReactTableHeader<TData, TValue>,
56
- stickyWidth?: number,
57
- elementRef?: React.MutableRefObject<null>
58
- ) => (
59
- <StyledTableHeader
60
- stickyWidth={stickyWidth}
61
- key={header.id}
62
- colSpan={header.colSpan}
63
- ref={elementRef}
64
- role="columnheader"
65
- {...(header.column.id !== 'expander'
66
- ? {
67
- style: {
68
- cursor: header.column.getCanSort() ? 'pointer' : '',
69
- },
70
- onClick: header.column.getToggleSortingHandler(),
71
- }
72
- : {})}
73
- >
74
- {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}
75
- </StyledTableHeader>
76
- )
77
-
78
52
  return (
79
- <StyledTable ref={tableElement}>
53
+ <StyledTable ref={tableElement} {...rest}>
80
54
  <StyledTHead>
81
55
  {table.getHeaderGroups().map((headerGroup) => (
82
56
  <tr key={headerGroup.id} role="row">
@@ -138,7 +112,7 @@ interface ITableSpinnerProps {
138
112
  hidden: boolean
139
113
  }
140
114
 
141
- interface ITableHeadProps<T> extends ITableConfig {
115
+ interface ITableHeadProps<T> extends ITableConfig, HTMLAttributes<HTMLTableElement> {
142
116
  table: Table<T>
143
117
  }
144
118
 
@@ -0,0 +1,37 @@
1
+ import { forwardRef, Ref } from 'react'
2
+ import { flexRender, Header as ReactTableHeader } from '@tanstack/react-table'
3
+ import { StyledTableHeader } from './table-styled-components'
4
+
5
+ interface TableHeaderProps<TData, TValue> {
6
+ header: ReactTableHeader<TData, TValue>
7
+ stickyWidth?: number
8
+ }
9
+
10
+ export const Wrapper = <TData, TValue>(
11
+ { header, stickyWidth }: TableHeaderProps<TData, TValue>,
12
+ ref?: Ref<HTMLTableCellElement>
13
+ ) => (
14
+ <StyledTableHeader
15
+ ref={ref}
16
+ stickyWidth={stickyWidth}
17
+ key={header.id}
18
+ colSpan={header.colSpan}
19
+ role="columnheader"
20
+ {...(header.column.id !== 'expander'
21
+ ? {
22
+ style: {
23
+ cursor: header.column.getCanSort() ? 'pointer' : '',
24
+ },
25
+ onClick: header.column.getToggleSortingHandler(),
26
+ }
27
+ : {})}
28
+ >
29
+ {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}
30
+ </StyledTableHeader>
31
+ )
32
+
33
+ const TableHeader = forwardRef(Wrapper) as <TData, TValue>(
34
+ props: TableHeaderProps<TData, TValue> & { ref?: Ref<HTMLTableCellElement> }
35
+ ) => ReturnType<typeof Wrapper>
36
+
37
+ export default TableHeader
@@ -1,4 +1,4 @@
1
- import { ColumnDef, ColumnHelper, createColumnHelper, HeaderContext, Table } from '@tanstack/react-table'
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 = (table: Table<DataEntity>, headerAxis: Axis, scrollState: ScrollState) => {
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
- table.getCanNextPage()
151
+ pagination.getCanNextPage()
148
152
  ) {
149
- table.nextPage()
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
- table.getCanNextPage()
160
+ pagination.getCanNextPage()
157
161
  ) {
158
- table.nextPage()
162
+ pagination.nextPage()
159
163
  }
160
164
  }
161
165
 
@@ -1,4 +1,4 @@
1
- import { FC, useEffect, useMemo, useRef, useState } from 'react'
1
+ import { FC, HTMLAttributes, useEffect, useMemo, useRef, useState } from 'react'
2
2
  import {
3
3
  getCoreRowModel,
4
4
  useReactTable,
@@ -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,
@@ -33,8 +34,9 @@ const Table: FC<IProps> = ({
33
34
  isFlex = false,
34
35
  enableSorting = true,
35
36
  sortingFunctions = undefined,
37
+ ...rest
36
38
  }) => {
37
- const scrollableDivElement = useRef(null)
39
+ const scrollableDivElement = useRef<HTMLDivElement>(null)
38
40
  const scrollState = useScrollRef(scrollableDivElement)
39
41
 
40
42
  const [expanded, setExpanded] = useState<ExpandedState>({})
@@ -82,23 +84,18 @@ const Table: FC<IProps> = ({
82
84
  ...(!manualPagination ? { onPaginationChange: setPagination } : {}),
83
85
  })
84
86
 
87
+ const getNextPage = () => (manualPagination ? nextPage() : table.nextPage())
88
+ const hasNextPage = () => (manualPagination ? getCanNextPage() : table.getCanNextPage())
89
+
85
90
  useEffect(() => {
86
- if (!scrollState) {
91
+ if (!scrollState || !infiniteScrollEnabled || isFetching) {
87
92
  return
88
93
  }
89
94
 
90
- if (!manualPagination) {
91
- handleScrollEvent(table, headerAxis, scrollState)
92
- }
93
- }, [scrollState, table, headerAxis, manualPagination])
95
+ handleScrollEvent({ getCanNextPage: hasNextPage, nextPage: getNextPage }, headerAxis, scrollState)
94
96
 
95
- const getNextPage = () => {
96
- if (manualPagination) {
97
- nextPage()
98
- } else {
99
- table.nextPage()
100
- }
101
- }
97
+ // eslint-disable-next-line react-hooks/exhaustive-deps
98
+ }, [scrollState])
102
99
 
103
100
  return (
104
101
  <ScrollableContainer
@@ -107,7 +104,7 @@ const Table: FC<IProps> = ({
107
104
  {...{ maxHeight, maxWidth }}
108
105
  isFlex={isFlex}
109
106
  >
110
- <TableComponent table={table} staticColumns={staticColumns} headerAxis={headerAxis} />
107
+ <TableComponent table={table} staticColumns={staticColumns} headerAxis={headerAxis} {...rest} />
111
108
  {manualPagination ? (
112
109
  <TableSpinner position={headerAxis === 'x' ? 'bottom' : 'right'} hidden={!isFetching} />
113
110
  ) : null}
@@ -120,7 +117,7 @@ const Table: FC<IProps> = ({
120
117
  )
121
118
  }
122
119
 
123
- interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps {
120
+ interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps, HTMLAttributes<HTMLTableElement> {
124
121
  tableData: TableData
125
122
  }
126
123
 
@@ -136,6 +133,7 @@ export interface IPaginationProps {
136
133
  currentPage?: number
137
134
  pageSize?: number
138
135
  manualPagination?: boolean
136
+ infiniteScrollEnabled?: boolean
139
137
  nextPage?: () => void
140
138
  getCanNextPage?: () => boolean
141
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
- useEffect(() => {
8
- const getScrollState = (): ScrollState => ({
9
- scrollWidth: element?.scrollWidth ?? 0,
10
- scrollHeight: element?.scrollHeight ?? 0,
11
- currentXScroll: (element?.scrollLeft ?? 0) + (element?.clientWidth ?? 0),
12
- currentYScroll: (element?.scrollTop ?? 0) + (element?.clientHeight ?? 0),
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
- const handleScroll = () => {
16
- setScrollState(getScrollState())
17
- }
17
+ useEffect(() => {
18
+ const element = elementRef?.current
18
19
 
19
- element?.addEventListener('scroll', handleScroll)
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
- }, [element])
28
+ }, [elementRef])
25
29
 
26
30
  return scrollState
27
31
  }
@@ -25,6 +25,7 @@ const GenericTable = <TColumn, TRow>({
25
25
  }
26
26
 
27
27
  interface IProps<TColumn, TRow> extends ITableConfig, IPaginationProps, ITableDimensionProps {
28
+ id?: string
28
29
  columnData: TColumn
29
30
  rowData: TRow
30
31
  mapToTableData: (colData: TColumn, rowData: TRow) => TableData
@@ -47,6 +47,7 @@ const QuestionnaireTable: FC<IProps> = ({
47
47
  }
48
48
 
49
49
  interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps {
50
+ id?: string
50
51
  definition: Questionnaire
51
52
  records: QuestionnaireResponse[]
52
53
  adminActions?: AdminActionsForQuestionnaire[]