@ackplus/react-tanstack-data-table 1.0.35 → 1.1.1

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.
Files changed (272) hide show
  1. package/LICENSE +21 -0
  2. package/{src → dist}/index.d.ts +21 -4
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +63 -0
  5. package/{src → dist}/lib/components/droupdown/menu-dropdown.d.ts +2 -1
  6. package/dist/lib/components/droupdown/menu-dropdown.d.ts.map +1 -0
  7. package/{src → dist}/lib/components/droupdown/menu-dropdown.js +38 -7
  8. package/{src → dist}/lib/components/filters/filter-value-input.d.ts +3 -1
  9. package/dist/lib/components/filters/filter-value-input.d.ts.map +1 -0
  10. package/dist/lib/components/filters/filter-value-input.js +83 -0
  11. package/{src → dist}/lib/components/filters/index.d.ts +1 -0
  12. package/dist/lib/components/filters/index.d.ts.map +1 -0
  13. package/dist/lib/components/filters/index.js +142 -0
  14. package/{src → dist}/lib/components/headers/draggable-header.d.ts +2 -2
  15. package/dist/lib/components/headers/draggable-header.d.ts.map +1 -0
  16. package/{src → dist}/lib/components/headers/draggable-header.js +81 -17
  17. package/dist/lib/components/headers/index.d.ts +6 -0
  18. package/dist/lib/components/headers/index.d.ts.map +1 -0
  19. package/dist/lib/components/headers/index.js +21 -0
  20. package/{src → dist}/lib/components/headers/table-header.d.ts +15 -1
  21. package/dist/lib/components/headers/table-header.d.ts.map +1 -0
  22. package/{src → dist}/lib/components/headers/table-header.js +50 -17
  23. package/{src → dist}/lib/components/index.d.ts +6 -1
  24. package/dist/lib/components/index.d.ts.map +1 -0
  25. package/dist/lib/components/index.js +32 -0
  26. package/{src → dist}/lib/components/pagination/data-table-pagination.d.ts +2 -1
  27. package/dist/lib/components/pagination/data-table-pagination.d.ts.map +1 -0
  28. package/{src → dist}/lib/components/pagination/data-table-pagination.js +20 -6
  29. package/dist/lib/components/pagination/index.d.ts +5 -0
  30. package/dist/lib/components/pagination/index.d.ts.map +1 -0
  31. package/dist/lib/components/pagination/index.js +20 -0
  32. package/{src → dist}/lib/components/rows/data-table-row.d.ts +15 -2
  33. package/dist/lib/components/rows/data-table-row.d.ts.map +1 -0
  34. package/{src → dist}/lib/components/rows/data-table-row.js +58 -25
  35. package/{src → dist}/lib/components/rows/empty-data-row.d.ts +3 -3
  36. package/dist/lib/components/rows/empty-data-row.d.ts.map +1 -0
  37. package/{src → dist}/lib/components/rows/empty-data-row.js +12 -4
  38. package/dist/lib/components/rows/index.d.ts +7 -0
  39. package/dist/lib/components/rows/index.d.ts.map +1 -0
  40. package/dist/lib/components/rows/index.js +22 -0
  41. package/{src → dist}/lib/components/rows/loading-rows.d.ts +3 -1
  42. package/dist/lib/components/rows/loading-rows.d.ts.map +1 -0
  43. package/{src → dist}/lib/components/rows/loading-rows.js +27 -19
  44. package/{src → dist}/lib/components/toolbar/bulk-actions-toolbar.d.ts +4 -3
  45. package/dist/lib/components/toolbar/bulk-actions-toolbar.d.ts.map +1 -0
  46. package/dist/lib/components/toolbar/bulk-actions-toolbar.js +49 -0
  47. package/{src → dist}/lib/components/toolbar/column-filter-control.d.ts +3 -1
  48. package/dist/lib/components/toolbar/column-filter-control.d.ts.map +1 -0
  49. package/{src → dist}/lib/components/toolbar/column-filter-control.js +73 -4
  50. package/{src → dist}/lib/components/toolbar/column-pinning-control.d.ts +2 -1
  51. package/dist/lib/components/toolbar/column-pinning-control.d.ts.map +1 -0
  52. package/{src → dist}/lib/components/toolbar/column-pinning-control.js +70 -6
  53. package/{src → dist}/lib/components/toolbar/column-reset-control.d.ts +3 -1
  54. package/dist/lib/components/toolbar/column-reset-control.d.ts.map +1 -0
  55. package/{src → dist}/lib/components/toolbar/column-reset-control.js +9 -2
  56. package/{src → dist}/lib/components/toolbar/column-visibility-control.d.ts +2 -1
  57. package/dist/lib/components/toolbar/column-visibility-control.d.ts.map +1 -0
  58. package/dist/lib/components/toolbar/column-visibility-control.js +77 -0
  59. package/{src → dist}/lib/components/toolbar/data-table-toolbar.d.ts +3 -2
  60. package/dist/lib/components/toolbar/data-table-toolbar.d.ts.map +1 -0
  61. package/{src → dist}/lib/components/toolbar/data-table-toolbar.js +17 -4
  62. package/{src → dist}/lib/components/toolbar/index.d.ts +4 -0
  63. package/dist/lib/components/toolbar/index.d.ts.map +1 -0
  64. package/{src → dist}/lib/components/toolbar/index.js +6 -0
  65. package/dist/lib/components/toolbar/table-export-control.d.ts +12 -0
  66. package/dist/lib/components/toolbar/table-export-control.d.ts.map +1 -0
  67. package/dist/lib/components/toolbar/table-export-control.js +67 -0
  68. package/{src → dist}/lib/components/toolbar/table-search-control.d.ts +3 -1
  69. package/dist/lib/components/toolbar/table-search-control.d.ts.map +1 -0
  70. package/{src → dist}/lib/components/toolbar/table-search-control.js +45 -2
  71. package/{src → dist}/lib/components/toolbar/table-size-control.d.ts +3 -1
  72. package/dist/lib/components/toolbar/table-size-control.d.ts.map +1 -0
  73. package/{src → dist}/lib/components/toolbar/table-size-control.js +20 -8
  74. package/{src → dist}/lib/contexts/data-table-context.d.ts +6 -2
  75. package/dist/lib/contexts/data-table-context.d.ts.map +1 -0
  76. package/{src → dist}/lib/contexts/data-table-context.js +34 -1
  77. package/dist/lib/data-table.d.ts +5 -0
  78. package/dist/lib/data-table.d.ts.map +1 -0
  79. package/{src/lib/components/table → dist/lib}/data-table.js +427 -143
  80. package/dist/lib/features/column-filter.feature.d.ts +55 -0
  81. package/dist/lib/features/column-filter.feature.d.ts.map +1 -0
  82. package/{src → dist}/lib/features/column-filter.feature.js +116 -18
  83. package/dist/lib/features/index.d.ts +9 -0
  84. package/dist/lib/features/index.d.ts.map +1 -0
  85. package/{src → dist}/lib/features/index.js +7 -0
  86. package/{src → dist}/lib/features/selection.feature.d.ts +8 -1
  87. package/dist/lib/features/selection.feature.d.ts.map +1 -0
  88. package/{src → dist}/lib/features/selection.feature.js +76 -15
  89. package/dist/lib/icons/add-icon.d.ts +4 -0
  90. package/dist/lib/icons/add-icon.d.ts.map +1 -0
  91. package/dist/lib/icons/add-icon.js +12 -0
  92. package/dist/lib/icons/csv-icon.d.ts +4 -0
  93. package/dist/lib/icons/csv-icon.d.ts.map +1 -0
  94. package/dist/lib/icons/csv-icon.js +12 -0
  95. package/dist/lib/icons/delete-icon.d.ts +4 -0
  96. package/dist/lib/icons/delete-icon.d.ts.map +1 -0
  97. package/dist/lib/icons/delete-icon.js +12 -0
  98. package/dist/lib/icons/excel-icon.d.ts +4 -0
  99. package/dist/lib/icons/excel-icon.d.ts.map +1 -0
  100. package/dist/lib/icons/excel-icon.js +12 -0
  101. package/dist/lib/icons/index.d.ts +8 -0
  102. package/dist/lib/icons/index.d.ts.map +1 -0
  103. package/dist/lib/icons/unpin-icon.d.ts +4 -0
  104. package/dist/lib/icons/unpin-icon.d.ts.map +1 -0
  105. package/dist/lib/icons/unpin-icon.js +12 -0
  106. package/{src → dist}/lib/icons/view-comfortable-icon.d.ts +3 -1
  107. package/dist/lib/icons/view-comfortable-icon.d.ts.map +1 -0
  108. package/dist/lib/icons/view-comfortable-icon.js +12 -0
  109. package/dist/lib/icons/view-compact-icon.d.ts +4 -0
  110. package/dist/lib/icons/view-compact-icon.d.ts.map +1 -0
  111. package/dist/lib/icons/view-compact-icon.js +12 -0
  112. package/{src → dist}/lib/types/column.types.d.ts +10 -1
  113. package/dist/lib/types/column.types.d.ts.map +1 -0
  114. package/{src → dist}/lib/types/data-table-api.d.ts +2 -1
  115. package/dist/lib/types/data-table-api.d.ts.map +1 -0
  116. package/{src/lib/components/table → dist/lib/types}/data-table.types.d.ts +10 -10
  117. package/dist/lib/types/data-table.types.d.ts.map +1 -0
  118. package/{src → dist}/lib/types/export.types.d.ts +38 -0
  119. package/dist/lib/types/export.types.d.ts.map +1 -0
  120. package/dist/lib/types/export.types.js +6 -0
  121. package/{src → dist}/lib/types/index.d.ts +5 -0
  122. package/dist/lib/types/index.d.ts.map +1 -0
  123. package/dist/lib/types/index.js +30 -0
  124. package/{src → dist}/lib/types/slots.types.d.ts +50 -3
  125. package/dist/lib/types/slots.types.d.ts.map +1 -0
  126. package/{src → dist}/lib/types/table.types.d.ts +14 -0
  127. package/dist/lib/types/table.types.d.ts.map +1 -0
  128. package/{src → dist}/lib/utils/column-helpers.d.ts +10 -0
  129. package/dist/lib/utils/column-helpers.d.ts.map +1 -0
  130. package/{src → dist}/lib/utils/column-helpers.js +20 -4
  131. package/{src → dist}/lib/utils/debounced-fetch.utils.d.ts +3 -5
  132. package/dist/lib/utils/debounced-fetch.utils.d.ts.map +1 -0
  133. package/{src → dist}/lib/utils/debounced-fetch.utils.js +12 -6
  134. package/{src → dist}/lib/utils/export-utils.d.ts +13 -0
  135. package/dist/lib/utils/export-utils.d.ts.map +1 -0
  136. package/dist/lib/utils/export-utils.js +252 -0
  137. package/{src → dist}/lib/utils/index.d.ts +4 -0
  138. package/dist/lib/utils/index.d.ts.map +1 -0
  139. package/dist/lib/utils/index.js +35 -0
  140. package/{src → dist}/lib/utils/logger.d.ts +43 -0
  141. package/dist/lib/utils/logger.d.ts.map +1 -0
  142. package/{src → dist}/lib/utils/logger.js +22 -2
  143. package/{src → dist}/lib/utils/slot-helpers.d.ts +39 -1
  144. package/dist/lib/utils/slot-helpers.d.ts.map +1 -0
  145. package/{src → dist}/lib/utils/slot-helpers.js +55 -6
  146. package/{src → dist}/lib/utils/special-columns.utils.d.ts +10 -0
  147. package/dist/lib/utils/special-columns.utils.d.ts.map +1 -0
  148. package/{src → dist}/lib/utils/special-columns.utils.js +41 -5
  149. package/{src → dist}/lib/utils/styling-helpers.d.ts +20 -0
  150. package/dist/lib/utils/styling-helpers.d.ts.map +1 -0
  151. package/dist/lib/utils/styling-helpers.js +108 -0
  152. package/{src → dist}/lib/utils/table-helpers.d.ts +25 -0
  153. package/dist/lib/utils/table-helpers.d.ts.map +1 -0
  154. package/{src → dist}/lib/utils/table-helpers.js +24 -0
  155. package/package.json +36 -11
  156. package/src/index.ts +71 -0
  157. package/src/lib/components/droupdown/menu-dropdown.tsx +97 -0
  158. package/src/lib/components/filters/filter-value-input.tsx +225 -0
  159. package/src/lib/components/filters/{index.js → index.ts} +3 -6
  160. package/src/lib/components/headers/draggable-header.tsx +326 -0
  161. package/src/lib/components/headers/{index.d.ts → index.ts} +4 -0
  162. package/src/lib/components/headers/table-header.tsx +173 -0
  163. package/src/lib/components/index.ts +21 -0
  164. package/src/lib/components/pagination/data-table-pagination.tsx +99 -0
  165. package/src/lib/components/pagination/index.ts +5 -0
  166. package/src/lib/components/rows/data-table-row.tsx +208 -0
  167. package/src/lib/components/rows/empty-data-row.tsx +69 -0
  168. package/src/lib/components/rows/{index.d.ts → index.ts} +4 -0
  169. package/src/lib/components/rows/loading-rows.tsx +160 -0
  170. package/src/lib/components/toolbar/bulk-actions-toolbar.tsx +125 -0
  171. package/src/lib/components/toolbar/column-filter-control.tsx +374 -0
  172. package/src/lib/components/toolbar/column-pinning-control.tsx +275 -0
  173. package/src/lib/components/toolbar/column-reset-control.tsx +74 -0
  174. package/src/lib/components/toolbar/column-visibility-control.tsx +105 -0
  175. package/src/lib/components/toolbar/data-table-toolbar.tsx +229 -0
  176. package/src/lib/components/toolbar/index.ts +17 -0
  177. package/src/lib/components/toolbar/table-export-control.tsx +179 -0
  178. package/src/lib/components/toolbar/table-search-control.tsx +155 -0
  179. package/src/lib/components/toolbar/table-size-control.tsx +102 -0
  180. package/src/lib/contexts/data-table-context.tsx +112 -0
  181. package/src/lib/data-table.tsx +1911 -0
  182. package/src/lib/features/README.md +161 -0
  183. package/src/lib/features/column-filter.feature.ts +456 -0
  184. package/src/lib/features/index.ts +23 -0
  185. package/src/lib/features/selection.feature.ts +318 -0
  186. package/src/lib/icons/add-icon.tsx +23 -0
  187. package/src/lib/icons/csv-icon.tsx +15 -0
  188. package/src/lib/icons/delete-icon.tsx +30 -0
  189. package/src/lib/icons/excel-icon.tsx +15 -0
  190. package/src/lib/icons/unpin-icon.tsx +18 -0
  191. package/src/lib/icons/view-comfortable-icon.tsx +45 -0
  192. package/src/lib/icons/view-compact-icon.tsx +55 -0
  193. package/src/lib/types/column.types.ts +44 -0
  194. package/src/lib/types/data-table-api.ts +169 -0
  195. package/src/lib/types/data-table.types.ts +139 -0
  196. package/src/lib/types/export.types.ts +154 -0
  197. package/src/lib/types/index.ts +22 -0
  198. package/src/lib/types/slots.types.ts +332 -0
  199. package/src/lib/types/table.types.ts +90 -0
  200. package/src/lib/utils/column-helpers.ts +72 -0
  201. package/src/lib/utils/debounced-fetch.utils.ts +54 -0
  202. package/src/lib/utils/export-utils.ts +285 -0
  203. package/src/lib/utils/index.ts +27 -0
  204. package/src/lib/utils/logger.ts +203 -0
  205. package/src/lib/utils/slot-helpers.tsx +194 -0
  206. package/src/lib/utils/special-columns.utils.ts +94 -0
  207. package/src/lib/utils/styling-helpers.ts +126 -0
  208. package/src/lib/utils/table-helpers.ts +106 -0
  209. package/src/index.js +0 -27
  210. package/src/lib/components/filters/filter-value-input.js +0 -41
  211. package/src/lib/components/headers/index.js +0 -5
  212. package/src/lib/components/index.js +0 -10
  213. package/src/lib/components/pagination/index.d.ts +0 -1
  214. package/src/lib/components/pagination/index.js +0 -4
  215. package/src/lib/components/rows/index.js +0 -6
  216. package/src/lib/components/table/data-table.d.ts +0 -4
  217. package/src/lib/components/table/index.d.ts +0 -2
  218. package/src/lib/components/table/index.js +0 -5
  219. package/src/lib/components/toolbar/bulk-actions-toolbar.js +0 -30
  220. package/src/lib/components/toolbar/column-visibility-control.js +0 -31
  221. package/src/lib/components/toolbar/table-export-control.d.ts +0 -31
  222. package/src/lib/components/toolbar/table-export-control.js +0 -56
  223. package/src/lib/examples/advanced-features-example.d.ts +0 -1
  224. package/src/lib/examples/advanced-features-example.js +0 -269
  225. package/src/lib/examples/bulk-actions-test.d.ts +0 -1
  226. package/src/lib/examples/bulk-actions-test.js +0 -44
  227. package/src/lib/examples/custom-column-filter-example.d.ts +0 -1
  228. package/src/lib/examples/custom-column-filter-example.js +0 -60
  229. package/src/lib/examples/index.d.ts +0 -8
  230. package/src/lib/examples/index.js +0 -19
  231. package/src/lib/examples/selection-test-example.d.ts +0 -1
  232. package/src/lib/examples/selection-test-example.js +0 -101
  233. package/src/lib/examples/server-side-fetching-example.d.ts +0 -1
  234. package/src/lib/examples/server-side-fetching-example.js +0 -245
  235. package/src/lib/examples/server-side-test.d.ts +0 -1
  236. package/src/lib/examples/server-side-test.js +0 -9
  237. package/src/lib/examples/simple-local-example.d.ts +0 -1
  238. package/src/lib/examples/simple-local-example.js +0 -95
  239. package/src/lib/examples/simple-slots-example.d.ts +0 -1
  240. package/src/lib/examples/simple-slots-example.js +0 -115
  241. package/src/lib/features/column-filter.feature.d.ts +0 -45
  242. package/src/lib/features/index.d.ts +0 -2
  243. package/src/lib/hooks/index.d.ts +0 -1
  244. package/src/lib/hooks/index.js +0 -4
  245. package/src/lib/hooks/use-data-table-api.d.ts +0 -46
  246. package/src/lib/hooks/use-data-table-api.js +0 -690
  247. package/src/lib/icons/add-icon.d.ts +0 -2
  248. package/src/lib/icons/add-icon.js +0 -8
  249. package/src/lib/icons/csv-icon.d.ts +0 -2
  250. package/src/lib/icons/csv-icon.js +0 -8
  251. package/src/lib/icons/delete-icon.d.ts +0 -2
  252. package/src/lib/icons/delete-icon.js +0 -8
  253. package/src/lib/icons/excel-icon.d.ts +0 -2
  254. package/src/lib/icons/excel-icon.js +0 -8
  255. package/src/lib/icons/unpin-icon.d.ts +0 -2
  256. package/src/lib/icons/unpin-icon.js +0 -8
  257. package/src/lib/icons/view-comfortable-icon.js +0 -8
  258. package/src/lib/icons/view-compact-icon.d.ts +0 -2
  259. package/src/lib/icons/view-compact-icon.js +0 -8
  260. package/src/lib/types/export.types.js +0 -2
  261. package/src/lib/types/index.js +0 -8
  262. package/src/lib/utils/export-utils.js +0 -175
  263. package/src/lib/utils/index.js +0 -11
  264. package/src/lib/utils/styling-helpers.js +0 -70
  265. package/tsconfig.tsbuildinfo +0 -1
  266. /package/{src → dist}/lib/icons/index.js +0 -0
  267. /package/{src → dist}/lib/types/column.types.js +0 -0
  268. /package/{src → dist}/lib/types/data-table-api.js +0 -0
  269. /package/{src/lib/components/table → dist/lib/types}/data-table.types.js +0 -0
  270. /package/{src → dist}/lib/types/slots.types.js +0 -0
  271. /package/{src → dist}/lib/types/table.types.js +0 -0
  272. /package/src/lib/icons/{index.d.ts → index.ts} +0 -0
@@ -1,690 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useDataTableApi = useDataTableApi;
4
- const tslib_1 = require("tslib");
5
- const react_1 = require("react");
6
- const export_utils_1 = require("../utils/export-utils");
7
- const logger_1 = require("../utils/logger");
8
- function useDataTableApi(props, ref) {
9
- const { table, idKey, enhancedColumns, enablePagination, enableColumnPinning, initialStateConfig, selectMode = 'page', onSelectionChange, handleColumnFilterStateChange, onDataStateChange, onFetchData, onDataChange, exportFilename = 'export', onExportProgress, onExportComplete, onExportError, onServerExport, exportController, setExportController, isExporting, dataMode = 'client', logging, } = props;
10
- const logger = (0, react_1.useMemo)(() => (0, logger_1.createLogger)('DataTableApi', logging), [logging]);
11
- const fetchLogger = (0, react_1.useMemo)(() => logger.child('fetch'), [logger]);
12
- const paginationLogger = (0, react_1.useMemo)(() => logger.child('pagination'), [logger]);
13
- const stateLogger = (0, react_1.useMemo)(() => logger.child('state'), [logger]);
14
- const getTableFilters = (0, react_1.useCallback)((withAllState = false) => {
15
- const state = table.getState();
16
- return Object.assign({ sorting: state.sorting, globalFilter: state.globalFilter, columnFilter: state.columnFilter, pagination: state.pagination }, (withAllState ? {
17
- columnOrder: state.columnOrder,
18
- columnPinning: state.columnPinning,
19
- columnVisibility: state.columnVisibility,
20
- columnSizing: state.columnSizing,
21
- } : {}));
22
- }, [table]);
23
- (0, react_1.useImperativeHandle)(ref, () => ({
24
- table: {
25
- getTable: () => table,
26
- },
27
- columnVisibility: {
28
- showColumn: (columnId) => {
29
- var _a;
30
- (_a = table.getColumn(columnId)) === null || _a === void 0 ? void 0 : _a.toggleVisibility(true);
31
- },
32
- hideColumn: (columnId) => {
33
- var _a;
34
- (_a = table.getColumn(columnId)) === null || _a === void 0 ? void 0 : _a.toggleVisibility(false);
35
- },
36
- toggleColumn: (columnId) => {
37
- var _a;
38
- (_a = table.getColumn(columnId)) === null || _a === void 0 ? void 0 : _a.toggleVisibility();
39
- },
40
- showAllColumns: () => {
41
- table.toggleAllColumnsVisible(true);
42
- },
43
- hideAllColumns: () => {
44
- table.toggleAllColumnsVisible(false);
45
- },
46
- resetColumnVisibility: () => {
47
- table.resetColumnVisibility();
48
- },
49
- },
50
- columnOrdering: {
51
- setColumnOrder: (columnOrder) => {
52
- table.setColumnOrder(columnOrder);
53
- },
54
- moveColumn: (columnId, toIndex) => {
55
- const currentOrder = table.getState().columnOrder || [];
56
- const currentIndex = currentOrder.indexOf(columnId);
57
- if (currentIndex === -1)
58
- return;
59
- const newOrder = [...currentOrder];
60
- newOrder.splice(currentIndex, 1);
61
- newOrder.splice(toIndex, 0, columnId);
62
- table.setColumnOrder(newOrder);
63
- if (stateLogger.isLevelEnabled('debug')) {
64
- stateLogger.debug('Column order updated', `${columnId} from ${currentIndex} to ${toIndex}`);
65
- }
66
- },
67
- resetColumnOrder: () => {
68
- const initialOrder = enhancedColumns.map((col, index) => {
69
- if (col.id)
70
- return col.id;
71
- const anyCol = col;
72
- if (anyCol.accessorKey && typeof anyCol.accessorKey === 'string') {
73
- return anyCol.accessorKey;
74
- }
75
- return `column_${index}`;
76
- });
77
- table.setColumnOrder(initialOrder);
78
- if (stateLogger.isLevelEnabled('debug')) {
79
- stateLogger.debug('Column order reset', initialOrder);
80
- }
81
- },
82
- },
83
- columnPinning: {
84
- pinColumnLeft: (columnId) => {
85
- const currentPinning = table.getState().columnPinning;
86
- const newPinning = Object.assign({}, currentPinning);
87
- newPinning.right = (newPinning.right || []).filter(id => id !== columnId);
88
- newPinning.left = [...(newPinning.left || []).filter(id => id !== columnId), columnId];
89
- table.setColumnPinning(newPinning);
90
- if (stateLogger.isLevelEnabled('debug')) {
91
- stateLogger.debug('Column pinned left', `${columnId}`);
92
- }
93
- },
94
- pinColumnRight: (columnId) => {
95
- const currentPinning = table.getState().columnPinning;
96
- const newPinning = Object.assign({}, currentPinning);
97
- newPinning.left = (newPinning.left || []).filter(id => id !== columnId);
98
- newPinning.right = [...(newPinning.right || []).filter(id => id !== columnId), columnId];
99
- table.setColumnPinning(newPinning);
100
- if (stateLogger.isLevelEnabled('debug')) {
101
- stateLogger.debug('Column pinned right', `${columnId}`);
102
- }
103
- },
104
- unpinColumn: (columnId) => {
105
- const currentPinning = table.getState().columnPinning;
106
- const newPinning = {
107
- left: (currentPinning.left || []).filter(id => id !== columnId),
108
- right: (currentPinning.right || []).filter(id => id !== columnId),
109
- };
110
- table.setColumnPinning(newPinning);
111
- },
112
- setPinning: (pinning) => {
113
- table.setColumnPinning(pinning);
114
- },
115
- resetColumnPinning: () => {
116
- table.setColumnPinning(table.initialState.columnPinning);
117
- },
118
- },
119
- columnResizing: {
120
- resizeColumn: (columnId, width) => {
121
- const currentSizing = table.getState().columnSizing;
122
- table.setColumnSizing(Object.assign(Object.assign({}, currentSizing), { [columnId]: width }));
123
- },
124
- autoSizeColumn: (columnId) => {
125
- var _a;
126
- (_a = table.getColumn(columnId)) === null || _a === void 0 ? void 0 : _a.resetSize();
127
- },
128
- autoSizeAllColumns: () => {
129
- table.resetColumnSizing();
130
- },
131
- resetColumnSizing: () => {
132
- table.resetColumnSizing();
133
- },
134
- },
135
- filtering: {
136
- setGlobalFilter: (filter) => {
137
- table.setGlobalFilter(filter);
138
- if (stateLogger.isLevelEnabled('debug')) {
139
- stateLogger.debug('Global filter set', `${filter}`);
140
- }
141
- },
142
- clearGlobalFilter: () => {
143
- table.setGlobalFilter('');
144
- if (stateLogger.isLevelEnabled('debug')) {
145
- stateLogger.debug('Global filter cleared');
146
- }
147
- },
148
- setColumnFilters: (filters) => {
149
- handleColumnFilterStateChange(filters);
150
- if (stateLogger.isLevelEnabled('debug')) {
151
- stateLogger.debug('Column filters set', `${filters}`);
152
- }
153
- },
154
- addColumnFilter: (columnId, operator, value) => {
155
- const newFilter = {
156
- id: `filter_${Date.now()}`,
157
- columnId,
158
- operator,
159
- value,
160
- };
161
- const columnFilter = table.getState().columnFilter;
162
- const currentFilters = columnFilter.filters || [];
163
- const newFilters = [...currentFilters, newFilter];
164
- handleColumnFilterStateChange({
165
- filters: newFilters,
166
- logic: columnFilter.logic,
167
- pendingFilters: columnFilter.pendingFilters || [],
168
- pendingLogic: columnFilter.pendingLogic || 'AND',
169
- });
170
- if (stateLogger.isLevelEnabled('debug')) {
171
- stateLogger.debug(`Column filter added ${columnId} ${operator} ${value}`, newFilters);
172
- }
173
- },
174
- removeColumnFilter: (filterId) => {
175
- const columnFilter = table.getState().columnFilter;
176
- const currentFilters = columnFilter.filters || [];
177
- const newFilters = currentFilters.filter((f) => f.id !== filterId);
178
- handleColumnFilterStateChange({
179
- filters: newFilters,
180
- logic: columnFilter.logic,
181
- pendingFilters: columnFilter.pendingFilters || [],
182
- pendingLogic: columnFilter.pendingLogic || 'AND',
183
- });
184
- if (stateLogger.isLevelEnabled('debug')) {
185
- stateLogger.debug(`Column filter removed ${filterId}`, newFilters);
186
- }
187
- },
188
- clearAllFilters: () => {
189
- table.setGlobalFilter('');
190
- handleColumnFilterStateChange({
191
- filters: [],
192
- logic: 'AND',
193
- pendingFilters: [],
194
- pendingLogic: 'AND',
195
- });
196
- if (stateLogger.isLevelEnabled('debug')) {
197
- stateLogger.debug('Filters reset');
198
- }
199
- },
200
- resetFilters: () => {
201
- table.resetGlobalFilter();
202
- handleColumnFilterStateChange({
203
- filters: [],
204
- logic: 'AND',
205
- pendingFilters: [],
206
- pendingLogic: 'AND',
207
- });
208
- },
209
- },
210
- sorting: {
211
- setSorting: (sortingState) => {
212
- table.setSorting(sortingState);
213
- if (stateLogger.isLevelEnabled('debug')) {
214
- stateLogger.debug('Sorting set', `${sortingState}`);
215
- }
216
- },
217
- sortColumn: (columnId, direction) => {
218
- const column = table.getColumn(columnId);
219
- if (!column)
220
- return;
221
- if (direction === false) {
222
- column.clearSorting();
223
- }
224
- else {
225
- column.toggleSorting(direction === 'desc');
226
- }
227
- },
228
- clearSorting: () => {
229
- table.resetSorting();
230
- },
231
- resetSorting: () => {
232
- table.resetSorting();
233
- },
234
- },
235
- pagination: {
236
- goToPage: (pageIndex) => {
237
- table.setPageIndex(pageIndex);
238
- if (paginationLogger.isLevelEnabled('debug')) {
239
- paginationLogger.debug('Page index set', `${pageIndex}`);
240
- }
241
- },
242
- nextPage: () => {
243
- table.nextPage();
244
- if (paginationLogger.isLevelEnabled('debug')) {
245
- paginationLogger.debug('Next page');
246
- }
247
- },
248
- previousPage: () => {
249
- table.previousPage();
250
- if (paginationLogger.isLevelEnabled('debug')) {
251
- paginationLogger.debug('Previous page');
252
- }
253
- },
254
- setPageSize: (pageSize) => {
255
- table.setPageSize(pageSize);
256
- if (paginationLogger.isLevelEnabled('debug')) {
257
- paginationLogger.debug('Page size set', `${pageSize}`);
258
- }
259
- },
260
- goToFirstPage: () => {
261
- table.setPageIndex(0);
262
- if (paginationLogger.isLevelEnabled('debug')) {
263
- paginationLogger.debug('Page index set to 0');
264
- }
265
- },
266
- goToLastPage: () => {
267
- const pageCount = table.getPageCount();
268
- if (pageCount > 0) {
269
- table.setPageIndex(pageCount - 1);
270
- }
271
- if (paginationLogger.isLevelEnabled('debug')) {
272
- paginationLogger.debug('Page index set to last page', `${pageCount - 1}`);
273
- }
274
- },
275
- },
276
- selection: {
277
- selectRow: (rowId) => { var _a; return (_a = table.selectRow) === null || _a === void 0 ? void 0 : _a.call(table, rowId); },
278
- deselectRow: (rowId) => { var _a; return (_a = table.deselectRow) === null || _a === void 0 ? void 0 : _a.call(table, rowId); },
279
- toggleRowSelection: (rowId) => { var _a; return (_a = table.toggleRowSelected) === null || _a === void 0 ? void 0 : _a.call(table, rowId); },
280
- selectAll: () => { var _a; return (_a = table.selectAll) === null || _a === void 0 ? void 0 : _a.call(table); },
281
- deselectAll: () => { var _a; return (_a = table.deselectAll) === null || _a === void 0 ? void 0 : _a.call(table); },
282
- toggleSelectAll: () => { var _a; return (_a = table.toggleAllRowsSelected) === null || _a === void 0 ? void 0 : _a.call(table); },
283
- getSelectionState: () => { var _a; return ((_a = table.getSelectionState) === null || _a === void 0 ? void 0 : _a.call(table)) || { ids: [], type: 'include' }; },
284
- getSelectedRows: () => table.getSelectedRows(),
285
- getSelectedCount: () => table.getSelectedCount(),
286
- isRowSelected: (rowId) => table.getIsRowSelected(rowId) || false,
287
- },
288
- data: {
289
- refresh: () => {
290
- var _a, _b;
291
- const filters = getTableFilters();
292
- filters.pagination = {
293
- pageIndex: 0,
294
- pageSize: ((_a = filters.pagination) === null || _a === void 0 ? void 0 : _a.pageSize) || ((_b = initialStateConfig.pagination) === null || _b === void 0 ? void 0 : _b.pageSize) || 10,
295
- };
296
- const allState = getTableFilters(true);
297
- onDataStateChange === null || onDataStateChange === void 0 ? void 0 : onDataStateChange(allState);
298
- onFetchData === null || onFetchData === void 0 ? void 0 : onFetchData(filters);
299
- if (fetchLogger.isLevelEnabled('debug')) {
300
- fetchLogger.debug('Data refreshed', filters);
301
- }
302
- },
303
- reload: () => {
304
- const filters = getTableFilters();
305
- const allState = getTableFilters(true);
306
- onDataStateChange === null || onDataStateChange === void 0 ? void 0 : onDataStateChange(allState);
307
- onFetchData === null || onFetchData === void 0 ? void 0 : onFetchData(filters);
308
- if (fetchLogger.isLevelEnabled('debug')) {
309
- fetchLogger.debug('Data reloaded', filters);
310
- }
311
- },
312
- getAllData: () => {
313
- var _a;
314
- return ((_a = table.getRowModel().rows) === null || _a === void 0 ? void 0 : _a.map(row => row.original)) || [];
315
- },
316
- getRowData: (rowId) => {
317
- var _a, _b;
318
- return (_b = (_a = table.getRowModel().rows) === null || _a === void 0 ? void 0 : _a.find(row => String(row.original[idKey]) === rowId)) === null || _b === void 0 ? void 0 : _b.original;
319
- },
320
- getRowByIndex: (index) => {
321
- var _a, _b;
322
- return (_b = (_a = table.getRowModel().rows) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b.original;
323
- },
324
- updateRow: (rowId, updates) => {
325
- var _a;
326
- const newData = (_a = table.getRowModel().rows) === null || _a === void 0 ? void 0 : _a.map(row => String(row.original[idKey]) === rowId
327
- ? Object.assign(Object.assign({}, row.original), updates) : row.original);
328
- onDataChange === null || onDataChange === void 0 ? void 0 : onDataChange(newData || []);
329
- if (fetchLogger.isLevelEnabled('debug')) {
330
- fetchLogger.debug('Row updated', `${rowId}`, updates);
331
- }
332
- },
333
- updateRowByIndex: (index, updates) => {
334
- var _a;
335
- const newData = (_a = table.getRowModel().rows) === null || _a === void 0 ? void 0 : _a.map(row => row.original);
336
- if (newData === null || newData === void 0 ? void 0 : newData[index]) {
337
- newData[index] = Object.assign(Object.assign({}, newData[index]), updates);
338
- onDataChange(newData);
339
- }
340
- },
341
- insertRow: (newRow, index) => {
342
- var _a;
343
- const newData = ((_a = table.getRowModel().rows) === null || _a === void 0 ? void 0 : _a.map(row => row.original)) || [];
344
- if (index !== undefined) {
345
- newData.splice(index, 0, newRow);
346
- }
347
- else {
348
- newData.push(newRow);
349
- }
350
- onDataChange(newData || []);
351
- if (stateLogger.isLevelEnabled('debug')) {
352
- stateLogger.debug('Row inserted', `${newRow}`, index);
353
- }
354
- },
355
- deleteRow: (rowId) => {
356
- var _a;
357
- const newData = (_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.filter(row => String(row.original[idKey]) !== rowId);
358
- onDataChange === null || onDataChange === void 0 ? void 0 : onDataChange((newData === null || newData === void 0 ? void 0 : newData.map(row => row.original)) || []);
359
- if (stateLogger.isLevelEnabled('debug')) {
360
- stateLogger.debug('Row deleted', `${rowId}`);
361
- }
362
- },
363
- deleteRowByIndex: (index) => {
364
- var _a;
365
- const newData = (_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.map(row => row.original);
366
- newData.splice(index, 1);
367
- onDataChange(newData);
368
- },
369
- deleteSelectedRows: () => {
370
- var _a;
371
- const selectedRowIds = Object.keys(table.getState().rowSelection)
372
- .filter(key => table.getState().rowSelection[key]);
373
- const newData = (_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.filter(row => !selectedRowIds.includes(String(row.original[idKey])));
374
- onDataChange((newData === null || newData === void 0 ? void 0 : newData.map(row => row.original)) || []);
375
- table.resetRowSelection();
376
- if (stateLogger.isLevelEnabled('debug')) {
377
- stateLogger.debug('Selected rows deleted', selectedRowIds);
378
- }
379
- },
380
- replaceAllData: (newData) => {
381
- onDataChange === null || onDataChange === void 0 ? void 0 : onDataChange(newData);
382
- },
383
- updateMultipleRows: (updates) => {
384
- var _a;
385
- const updateMap = new Map(updates.map(u => [u.rowId, u.data]));
386
- const newData = (_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.map(row => {
387
- const rowId = String(row.original[idKey]);
388
- const updateData = updateMap.get(rowId);
389
- return updateData ? Object.assign(Object.assign({}, row.original), updateData) : row.original;
390
- });
391
- onDataChange(newData || []);
392
- if (stateLogger.isLevelEnabled('debug')) {
393
- stateLogger.debug('Multiple rows updated', updates);
394
- }
395
- },
396
- insertMultipleRows: (newRows, startIndex) => {
397
- var _a;
398
- const newData = (_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.map(row => row.original);
399
- if (startIndex !== undefined) {
400
- newData.splice(startIndex, 0, ...newRows);
401
- }
402
- else {
403
- newData.push(...newRows);
404
- }
405
- onDataChange === null || onDataChange === void 0 ? void 0 : onDataChange(newData);
406
- if (stateLogger.isLevelEnabled('debug')) {
407
- stateLogger.debug('Multiple rows inserted', newRows);
408
- }
409
- },
410
- deleteMultipleRows: (rowIds) => {
411
- var _a, _b;
412
- const idsToDelete = new Set(rowIds);
413
- const newData = (_b = (_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.filter(row => !idsToDelete.has(String(row.original[idKey])))) === null || _b === void 0 ? void 0 : _b.map(row => row.original);
414
- onDataChange(newData);
415
- if (stateLogger.isLevelEnabled('debug')) {
416
- stateLogger.debug('Multiple rows deleted', rowIds);
417
- }
418
- },
419
- updateField: (rowId, fieldName, value) => {
420
- var _a;
421
- const newData = (_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.map(row => String(row.original[idKey]) === rowId
422
- ? Object.assign(Object.assign({}, row.original), { [fieldName]: value }) : row.original);
423
- onDataChange === null || onDataChange === void 0 ? void 0 : onDataChange(newData);
424
- },
425
- updateFieldByIndex: (index, fieldName, value) => {
426
- var _a;
427
- const newData = (_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.map(row => row.original);
428
- if (newData[index]) {
429
- newData[index] = Object.assign(Object.assign({}, newData[index]), { [fieldName]: value });
430
- onDataChange === null || onDataChange === void 0 ? void 0 : onDataChange(newData);
431
- }
432
- },
433
- findRows: (predicate) => {
434
- var _a, _b;
435
- return (_b = (_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.filter(row => predicate(row.original))) === null || _b === void 0 ? void 0 : _b.map(row => row.original);
436
- },
437
- findRowIndex: (predicate) => {
438
- var _a;
439
- return (_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.findIndex(row => predicate(row.original));
440
- },
441
- getDataCount: () => {
442
- var _a;
443
- return ((_a = (table.getRowModel().rows || [])) === null || _a === void 0 ? void 0 : _a.length) || 0;
444
- },
445
- getFilteredDataCount: () => {
446
- return table.getFilteredRowModel().rows.length;
447
- },
448
- },
449
- layout: {
450
- resetLayout: () => {
451
- table.resetColumnSizing();
452
- table.resetColumnVisibility();
453
- table.resetSorting();
454
- table.resetGlobalFilter();
455
- },
456
- resetAll: () => {
457
- table.resetColumnSizing();
458
- table.resetColumnVisibility();
459
- table.resetSorting();
460
- table.resetGlobalFilter();
461
- table.resetColumnOrder();
462
- table.resetExpanded();
463
- table.resetRowSelection();
464
- table.resetColumnPinning();
465
- handleColumnFilterStateChange(initialStateConfig.columnFilter || { filters: [], logic: 'AND', pendingFilters: [], pendingLogic: 'AND' });
466
- if (enablePagination) {
467
- table.setPagination(initialStateConfig.pagination || { pageIndex: 0, pageSize: 10 });
468
- }
469
- if (enableColumnPinning) {
470
- table.setColumnPinning(initialStateConfig.columnPinning || { left: [], right: [] });
471
- }
472
- },
473
- saveLayout: () => {
474
- return {
475
- columnVisibility: table.getState().columnVisibility,
476
- columnSizing: table.getState().columnSizing,
477
- columnOrder: table.getState().columnOrder,
478
- columnPinning: table.getState().columnPinning,
479
- sorting: table.getState().sorting,
480
- pagination: table.getState().pagination,
481
- globalFilter: table.getState().globalFilter,
482
- columnFilter: table.getState().columnFilter,
483
- };
484
- },
485
- restoreLayout: (layout) => {
486
- if (layout.columnVisibility) {
487
- table.setColumnVisibility(layout.columnVisibility);
488
- }
489
- if (layout.columnSizing) {
490
- table.setColumnSizing(layout.columnSizing);
491
- }
492
- if (layout.columnOrder) {
493
- table.setColumnOrder(layout.columnOrder);
494
- }
495
- if (layout.columnPinning) {
496
- table.setColumnPinning(layout.columnPinning);
497
- }
498
- if (layout.sorting) {
499
- table.setSorting(layout.sorting);
500
- }
501
- if (layout.pagination && enablePagination) {
502
- table.setPagination(layout.pagination);
503
- }
504
- if (layout.globalFilter !== undefined) {
505
- table.setGlobalFilter(layout.globalFilter);
506
- }
507
- if (layout.columnFilter) {
508
- handleColumnFilterStateChange(layout.columnFilter);
509
- }
510
- },
511
- },
512
- state: {
513
- getTableState: () => {
514
- return table.getState();
515
- },
516
- getCurrentFilters: () => {
517
- return table.getState().columnFilter;
518
- },
519
- getCurrentSorting: () => {
520
- return table.getState().sorting;
521
- },
522
- getCurrentPagination: () => {
523
- return table.getState().pagination;
524
- },
525
- getCurrentSelection: () => {
526
- return Object.keys(table.getState().rowSelection)
527
- .filter(key => table.getState().rowSelection[key]);
528
- },
529
- },
530
- export: {
531
- exportCSV: (...args_1) => tslib_1.__awaiter(this, [...args_1], void 0, function* (options = {}) {
532
- var _a;
533
- const { filename = exportFilename, } = options;
534
- try {
535
- const controller = new AbortController();
536
- setExportController === null || setExportController === void 0 ? void 0 : setExportController(controller);
537
- if (dataMode === 'server' && onServerExport) {
538
- const currentFilters = {
539
- globalFilter: table.getState().globalFilter,
540
- columnFilter: table.getState().columnFilter,
541
- sorting: table.getState().sorting,
542
- pagination: table.getState().pagination,
543
- };
544
- if (stateLogger.isLevelEnabled('debug')) {
545
- stateLogger.debug('Server export CSV', { currentFilters });
546
- }
547
- yield (0, export_utils_1.exportServerData)(table, {
548
- format: 'csv',
549
- filename,
550
- fetchData: (filters, selection) => onServerExport(filters, selection),
551
- currentFilters,
552
- selection: (_a = table.getSelectionState) === null || _a === void 0 ? void 0 : _a.call(table),
553
- onProgress: onExportProgress,
554
- onComplete: onExportComplete,
555
- onError: onExportError,
556
- });
557
- }
558
- else {
559
- yield (0, export_utils_1.exportClientData)(table, {
560
- format: 'csv',
561
- filename,
562
- onProgress: onExportProgress,
563
- onComplete: onExportComplete,
564
- onError: onExportError,
565
- });
566
- }
567
- }
568
- catch (error) {
569
- onExportError === null || onExportError === void 0 ? void 0 : onExportError({
570
- message: error.message || 'Export failed',
571
- code: 'EXPORT_ERROR',
572
- });
573
- }
574
- finally {
575
- setExportController === null || setExportController === void 0 ? void 0 : setExportController(null);
576
- }
577
- }),
578
- exportExcel: (...args_1) => tslib_1.__awaiter(this, [...args_1], void 0, function* (options = {}) {
579
- var _a;
580
- const { filename = exportFilename } = options;
581
- try {
582
- const controller = new AbortController();
583
- setExportController === null || setExportController === void 0 ? void 0 : setExportController(controller);
584
- if (dataMode === 'server' && onServerExport) {
585
- const currentFilters = {
586
- globalFilter: table.getState().globalFilter,
587
- columnFilter: table.getState().columnFilter,
588
- sorting: table.getState().sorting,
589
- pagination: table.getState().pagination,
590
- };
591
- yield (0, export_utils_1.exportServerData)(table, {
592
- format: 'excel',
593
- filename,
594
- fetchData: (filters, selection) => onServerExport(filters, selection),
595
- currentFilters,
596
- selection: (_a = table.getSelectionState) === null || _a === void 0 ? void 0 : _a.call(table),
597
- onProgress: onExportProgress,
598
- onComplete: onExportComplete,
599
- onError: onExportError,
600
- });
601
- }
602
- else {
603
- yield (0, export_utils_1.exportClientData)(table, {
604
- format: 'excel',
605
- filename,
606
- onProgress: onExportProgress,
607
- onComplete: onExportComplete,
608
- onError: onExportError,
609
- });
610
- }
611
- }
612
- catch (error) {
613
- onExportError === null || onExportError === void 0 ? void 0 : onExportError({
614
- message: error.message || 'Export failed',
615
- code: 'EXPORT_ERROR',
616
- });
617
- }
618
- finally {
619
- setExportController === null || setExportController === void 0 ? void 0 : setExportController(null);
620
- }
621
- }),
622
- exportServerData: (options) => tslib_1.__awaiter(this, void 0, void 0, function* () {
623
- var _a;
624
- const { format, filename = exportFilename, fetchData = onServerExport, } = options;
625
- if (!fetchData) {
626
- onExportError === null || onExportError === void 0 ? void 0 : onExportError({
627
- message: 'No server export function provided',
628
- code: 'NO_SERVER_EXPORT',
629
- });
630
- return;
631
- }
632
- try {
633
- const controller = new AbortController();
634
- setExportController === null || setExportController === void 0 ? void 0 : setExportController(controller);
635
- const currentFilters = {
636
- globalFilter: table.getState().globalFilter,
637
- columnFilter: table.getState().columnFilter,
638
- sorting: table.getState().sorting,
639
- pagination: table.getState().pagination,
640
- };
641
- yield (0, export_utils_1.exportServerData)(table, {
642
- format,
643
- filename,
644
- fetchData: (filters, selection) => fetchData(filters, selection),
645
- currentFilters,
646
- selection: (_a = table.getSelectionState) === null || _a === void 0 ? void 0 : _a.call(table),
647
- onProgress: onExportProgress,
648
- onComplete: onExportComplete,
649
- onError: onExportError,
650
- });
651
- }
652
- catch (error) {
653
- onExportError === null || onExportError === void 0 ? void 0 : onExportError({
654
- message: error.message || 'Export failed',
655
- code: 'EXPORT_ERROR',
656
- });
657
- }
658
- finally {
659
- setExportController === null || setExportController === void 0 ? void 0 : setExportController(null);
660
- }
661
- }),
662
- isExporting: () => isExporting || false,
663
- cancelExport: () => {
664
- exportController === null || exportController === void 0 ? void 0 : exportController.abort();
665
- setExportController === null || setExportController === void 0 ? void 0 : setExportController(null);
666
- },
667
- },
668
- }), [
669
- table,
670
- enhancedColumns,
671
- handleColumnFilterStateChange,
672
- idKey,
673
- onDataStateChange,
674
- onFetchData,
675
- onDataChange,
676
- enableColumnPinning,
677
- enablePagination,
678
- exportFilename,
679
- onExportProgress,
680
- onExportComplete,
681
- onExportError,
682
- onServerExport,
683
- exportController,
684
- setExportController,
685
- isExporting,
686
- dataMode,
687
- selectMode,
688
- onSelectionChange,
689
- ]);
690
- }