@ackplus/react-tanstack-data-table 1.1.19 → 1.1.20
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/dist/lib/hooks/use-data-table-engine.d.ts.map +1 -1
- package/dist/lib/hooks/use-data-table-engine.js +50 -15
- package/dist/lib/types/data-table.types.d.ts +2 -1
- package/dist/lib/types/data-table.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/lib/hooks/use-data-table-engine.ts +50 -14
- package/src/lib/types/data-table.types.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-data-table-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/use-data-table-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,OAAO,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAiE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGhH,OAAO,KAAK,EACR,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,qBAAqB,EAGrB,UAAU,EACb,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,YAAY,EAA6B,MAAM,yBAAyB,CAAC;AAIvF,OAAO,EAAoB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAKH,KAAK,aAAa,EACrB,MAAM,UAAU,CAAC;AAqBlB,KAAK,aAAa,GAAG;IACjB,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,iBAAiB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,aAAa,CAAC;IACzB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,aAAa,EAAE,kBAAkB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAmEF,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACjC,KAAK,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE;QACF,iBAAiB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1C,mBAAmB,EAAE,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;KAC1D,CAAC;IACF,OAAO,EAAE;QACL,YAAY,EAAE,OAAO,CAAC;QACtB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,eAAe,EAAE,OAAO,CAAC;QACzB,SAAS,EAAE,CAAC,EAAE,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7E,kBAAkB,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACjF,cAAc,EAAE,OAAO,CAAC;QACxB,UAAU,EAAE,aAAa,CAAC;QAC1B,WAAW,EAAE,OAAO,CAAC;QACrB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;QAChC,cAAc,EAAE,qBAAqB,CAAC;QACtC,kBAAkB,EAAE,OAAO,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE;QACL,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,aAAa,CAAA;SAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;QACjH,mBAAmB,EAAE,CAAC,cAAc,EAAE,GAAG,KAAK,IAAI,CAAC;QACnD,sBAAsB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;QAC/C,wBAAwB,EAAE,CAAC,cAAc,EAAE,GAAG,KAAK,IAAI,CAAC;QACxD,+BAA+B,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;QAC3E,uBAAuB,EAAE,CAAC,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;QACjF,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;QAC1E,4BAA4B,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;QACrD,wBAAwB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;QACjD,mBAAmB,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/E,iBAAiB,EAAE,MAAM,IAAI,CAAC;QAC9B,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,kBAAkB,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACnG,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;QAC5C,kBAAkB,EAAE,MAAM,IAAI,CAAC;QAC/B,cAAc,EAAE;YAAE,cAAc,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;SAAE,CAAC;KACzE,CAAC;IACF,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACrB,aAAa,EAAE;QACX,KAAK,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1C,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC9B,SAAS,EAAE,aAAa,CAAC;QACzB,iBAAiB,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;QACjD,YAAY,EAAE,iBAAiB,CAAC;QAChC,oBAAoB,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;QAC1D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,WAAW,EAAE,OAAO,CAAC;QACrB,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAC;QACzC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;QAChC,cAAc,EAAE,qBAAqB,CAAC;QACtC,cAAc,EAAE,MAAM,IAAI,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI,CAAC;QAC7D,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;QAC/F,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;QACnE,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KAC/G,CAAC;CACL;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5D,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,YAAY,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"use-data-table-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/use-data-table-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -198,7 +198,7 @@ function useDataTableEngine(props) {
|
|
|
198
198
|
sorting: s.sorting,
|
|
199
199
|
...overrides,
|
|
200
200
|
};
|
|
201
|
-
(_a = onFetchStateChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onFetchStateChangeRef, filters, options
|
|
201
|
+
(_a = onFetchStateChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onFetchStateChangeRef, filters, options);
|
|
202
202
|
const handler = onFetchDataRef.current;
|
|
203
203
|
if (!handler)
|
|
204
204
|
return;
|
|
@@ -273,6 +273,7 @@ function useDataTableEngine(props) {
|
|
|
273
273
|
const prev = uiRef.current.sorting;
|
|
274
274
|
const next = typeof updaterOrValue === "function" ? updaterOrValue(prev) : updaterOrValue;
|
|
275
275
|
const cleaned = (next || []).filter((s) => s === null || s === void 0 ? void 0 : s.id);
|
|
276
|
+
console.log('onSortingChange', cleaned);
|
|
276
277
|
(_a = onSortingChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onSortingChangeRef, cleaned);
|
|
277
278
|
dispatch({ type: "SET_SORTING_RESET_PAGE", payload: cleaned });
|
|
278
279
|
},
|
|
@@ -301,11 +302,47 @@ function useDataTableEngine(props) {
|
|
|
301
302
|
},
|
|
302
303
|
}
|
|
303
304
|
: {}),
|
|
304
|
-
...(enableExpanding ? { onExpandedChange: (u) =>
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
305
|
+
...(enableExpanding ? { onExpandedChange: (u) => {
|
|
306
|
+
const prev = uiRef.current.expanded;
|
|
307
|
+
const next = typeof u === "function" ? u(prev) : u;
|
|
308
|
+
dispatch({ type: "SET_EXPANDED", payload: next });
|
|
309
|
+
} } : {}),
|
|
310
|
+
...(enableColumnDragging ? {
|
|
311
|
+
onColumnOrderChange: (u) => {
|
|
312
|
+
var _a;
|
|
313
|
+
const prev = uiRef.current.columnOrder;
|
|
314
|
+
const next = typeof u === "function" ? u(prev) : u;
|
|
315
|
+
(_a = onColumnDragEndRef.current) === null || _a === void 0 ? void 0 : _a.call(onColumnDragEndRef, next);
|
|
316
|
+
dispatch({ type: "SET_COLUMN_ORDER", payload: next });
|
|
317
|
+
}
|
|
318
|
+
} : {}),
|
|
319
|
+
...(enableColumnPinning ? {
|
|
320
|
+
onColumnPinningChange: (u) => {
|
|
321
|
+
var _a;
|
|
322
|
+
const prev = uiRef.current.columnPinning;
|
|
323
|
+
const next = typeof u === "function" ? u(prev) : u;
|
|
324
|
+
(_a = onColumnPinningChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onColumnPinningChangeRef, next);
|
|
325
|
+
dispatch({ type: "SET_COLUMN_PINNING", payload: next });
|
|
326
|
+
}
|
|
327
|
+
} : {}),
|
|
328
|
+
...(enableColumnVisibility ? {
|
|
329
|
+
onColumnVisibilityChange: (u) => {
|
|
330
|
+
var _a;
|
|
331
|
+
const prev = uiRef.current.columnVisibility;
|
|
332
|
+
const next = typeof u === "function" ? u(prev) : u;
|
|
333
|
+
(_a = onColumnVisibilityChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onColumnVisibilityChangeRef, next);
|
|
334
|
+
dispatch({ type: "SET_COLUMN_VISIBILITY", payload: next });
|
|
335
|
+
}
|
|
336
|
+
} : {}),
|
|
337
|
+
...(enableColumnResizing ? {
|
|
338
|
+
onColumnSizingChange: (u) => {
|
|
339
|
+
var _a;
|
|
340
|
+
const prev = uiRef.current.columnSizing;
|
|
341
|
+
const next = typeof u === "function" ? u(prev) : u;
|
|
342
|
+
(_a = onColumnSizingChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onColumnSizingChangeRef, next);
|
|
343
|
+
dispatch({ type: "SET_COLUMN_SIZING", payload: next });
|
|
344
|
+
}
|
|
345
|
+
} : {}),
|
|
309
346
|
getCoreRowModel: (0, react_table_1.getCoreRowModel)(),
|
|
310
347
|
...(enableSorting ? { getSortedRowModel: (0, react_table_1.getSortedRowModel)() } : {}),
|
|
311
348
|
...(enableColumnFilter || enableGlobalFilter ? { getFilteredRowModel: (0, column_filter_feature_1.getCombinedFilteredRowModel)() } : {}),
|
|
@@ -339,12 +376,13 @@ function useDataTableEngine(props) {
|
|
|
339
376
|
};
|
|
340
377
|
// --- virtualization
|
|
341
378
|
const rows = table.getRowModel().rows;
|
|
379
|
+
const shouldVirtualize = enableVirtualization && rows.length > 0;
|
|
342
380
|
const rowVirtualizer = (0, react_virtual_1.useVirtualizer)({
|
|
343
381
|
count: rows.length,
|
|
344
382
|
getScrollElement: () => tableContainerRef.current,
|
|
345
383
|
estimateSize: () => estimateRowHeight,
|
|
346
|
-
overscan:
|
|
347
|
-
enabled:
|
|
384
|
+
overscan: 8, // reduce a bit
|
|
385
|
+
enabled: shouldVirtualize,
|
|
348
386
|
});
|
|
349
387
|
const serverKey = (0, react_1.useMemo)(() => {
|
|
350
388
|
if (!(isServerMode || isServerPagination || isServerFiltering || isServerSorting))
|
|
@@ -735,7 +773,6 @@ function useDataTableEngine(props) {
|
|
|
735
773
|
dispatch({ type: "SET_COLUMN_FILTER", payload: layout.columnFilter });
|
|
736
774
|
},
|
|
737
775
|
resetLayout: () => {
|
|
738
|
-
var _a, _b, _c;
|
|
739
776
|
const vis = initialStateConfig.columnVisibility || {};
|
|
740
777
|
const order = initialStateConfig.columnOrder || [];
|
|
741
778
|
const sizing = initialStateConfig.columnSizing || {};
|
|
@@ -744,12 +781,10 @@ function useDataTableEngine(props) {
|
|
|
744
781
|
dispatch({ type: "SET_COLUMN_ORDER", payload: order });
|
|
745
782
|
dispatch({ type: "SET_COLUMN_SIZING", payload: sizing });
|
|
746
783
|
dispatch({ type: "SET_COLUMN_PINNING", payload: pinning });
|
|
747
|
-
dispatch({ type: "SET_PAGINATION", payload: { pageIndex: 0, pageSize: 10 } });
|
|
748
784
|
dispatch({ type: "SET_GLOBAL_FILTER_RESET_PAGE", payload: "" });
|
|
749
|
-
dispatch({ type: "SET_COLUMN_FILTER", payload: [] });
|
|
750
|
-
(
|
|
751
|
-
(
|
|
752
|
-
(_c = onColumnPinningChangeRef.current) === null || _c === void 0 ? void 0 : _c.call(onColumnPinningChangeRef, pinning);
|
|
785
|
+
dispatch({ type: "SET_COLUMN_FILTER", payload: initialStateConfig.columnFilter || [] });
|
|
786
|
+
dispatch({ type: "SET_SORTING_RESET_PAGE", payload: initialStateConfig.sorting || [] });
|
|
787
|
+
dispatch({ type: "SET_PAGINATION", payload: initialStateConfig.pagination || { pageIndex: 0, pageSize: 10 } });
|
|
753
788
|
},
|
|
754
789
|
resetAll: () => {
|
|
755
790
|
api.layout.resetLayout();
|
|
@@ -1063,7 +1098,7 @@ function useDataTableEngine(props) {
|
|
|
1063
1098
|
isExporting: () => exportControllerRef.current != null,
|
|
1064
1099
|
cancelExport: () => handleCancelExport(),
|
|
1065
1100
|
};
|
|
1066
|
-
}, [dataMode, exportChunkSize, exportFilename, exportSanitizeCSV, exportStrictTotalCheck, fetchData, handleCancelExport, handleColumnFilterChangeHandler, handleExportProgressInternal, handleExportStateChangeInternal, initialStateConfig, isServerMode, isServerPagination, isServerSorting, resetAllAndReload, resetPageToFirst, runExportWithPolicy, triggerRefresh, queuedExportCount, tableTotalRow, idKey, tableRef, uiRef, serverDataRef, dataRef, onSortingChangeRef, onPaginationChangeRef, onGlobalFilterChangeRef, onColumnDragEndRef, onColumnPinningChangeRef, onColumnSizingChangeRef, onServerExportRef, onExportCompleteRef, onExportErrorRef]);
|
|
1101
|
+
}, [dataMode, exportChunkSize, exportFilename, exportSanitizeCSV, exportStrictTotalCheck, fetchData, handleCancelExport, handleColumnFilterChangeHandler, handleExportProgressInternal, handleExportStateChangeInternal, initialStateConfig, isServerMode, isServerPagination, isServerSorting, resetAllAndReload, resetPageToFirst, runExportWithPolicy, triggerRefresh, queuedExportCount, tableTotalRow, idKey, tableRef, uiRef, serverDataRef, dataRef, onSortingChangeRef, onPaginationChangeRef, onGlobalFilterChangeRef, onColumnDragEndRef, onColumnPinningChangeRef, onColumnSizingChangeRef, onServerExportRef, onExportCompleteRef, onExportErrorRef, enablePagination]);
|
|
1067
1102
|
// --- imperative handlers (used by TanStack callbacks above or view)
|
|
1068
1103
|
const handleSortingChange = (0, react_1.useCallback)((updaterOrValue) => {
|
|
1069
1104
|
var _a;
|
|
@@ -12,6 +12,7 @@ import { ExportConcurrencyMode, ExportProgressPayload, ExportStateChange, Server
|
|
|
12
12
|
export type DataRefreshReason = 'initial' | 'state-change' | 'refresh' | 'reload' | 'reset' | string;
|
|
13
13
|
export interface DataFetchMeta {
|
|
14
14
|
reason?: DataRefreshReason;
|
|
15
|
+
delay?: number;
|
|
15
16
|
force?: boolean;
|
|
16
17
|
}
|
|
17
18
|
export interface DataRefreshOptions extends DataFetchMeta {
|
|
@@ -49,7 +50,7 @@ export interface DataTableProps<T> {
|
|
|
49
50
|
data: T[];
|
|
50
51
|
total: number;
|
|
51
52
|
}>;
|
|
52
|
-
onFetchStateChange?: (filters: Partial<TableState>,
|
|
53
|
+
onFetchStateChange?: (filters: Partial<TableState>, options?: DataFetchMeta) => void;
|
|
53
54
|
onRefreshData?: (context: DataRefreshContext) => void | Promise<void>;
|
|
54
55
|
exportFilename?: string;
|
|
55
56
|
exportConcurrency?: ExportConcurrencyMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table.types.d.ts","sourceRoot":"","sources":["../../../src/lib/types/data-table.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data-table.types.d.ts","sourceRoot":"","sources":["../../../src/lib/types/data-table.types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -425,7 +425,7 @@ export function useDataTableEngine<T extends Record<string, any>>(
|
|
|
425
425
|
...overrides,
|
|
426
426
|
};
|
|
427
427
|
|
|
428
|
-
onFetchStateChangeRef.current?.(filters, options
|
|
428
|
+
onFetchStateChangeRef.current?.(filters, options);
|
|
429
429
|
|
|
430
430
|
const handler = onFetchDataRef.current;
|
|
431
431
|
if (!handler) return;
|
|
@@ -508,6 +508,7 @@ export function useDataTableEngine<T extends Record<string, any>>(
|
|
|
508
508
|
const prev = uiRef.current.sorting;
|
|
509
509
|
const next = typeof updaterOrValue === "function" ? updaterOrValue(prev) : updaterOrValue;
|
|
510
510
|
const cleaned = (next || []).filter((s: any) => s?.id);
|
|
511
|
+
console.log('onSortingChange', cleaned);
|
|
511
512
|
onSortingChangeRef.current?.(cleaned);
|
|
512
513
|
dispatch({ type: "SET_SORTING_RESET_PAGE", payload: cleaned });
|
|
513
514
|
},
|
|
@@ -537,11 +538,45 @@ export function useDataTableEngine<T extends Record<string, any>>(
|
|
|
537
538
|
}
|
|
538
539
|
: {}),
|
|
539
540
|
|
|
540
|
-
...(enableExpanding ? { onExpandedChange: (u: any) =>
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
541
|
+
...(enableExpanding ? { onExpandedChange: (u: any) => {
|
|
542
|
+
const prev = uiRef.current.expanded;
|
|
543
|
+
const next = typeof u === "function" ? u(prev) : u;
|
|
544
|
+
dispatch({ type: "SET_EXPANDED", payload: next });
|
|
545
|
+
} } : {}),
|
|
546
|
+
|
|
547
|
+
...(enableColumnDragging ? {
|
|
548
|
+
onColumnOrderChange: (u: any) => {
|
|
549
|
+
const prev = uiRef.current.columnOrder;
|
|
550
|
+
const next = typeof u === "function" ? u(prev) : u;
|
|
551
|
+
onColumnDragEndRef.current?.(next);
|
|
552
|
+
dispatch({ type: "SET_COLUMN_ORDER", payload: next });
|
|
553
|
+
}
|
|
554
|
+
} : {}),
|
|
555
|
+
...(enableColumnPinning ? {
|
|
556
|
+
onColumnPinningChange: (u: any) => {
|
|
557
|
+
const prev = uiRef.current.columnPinning;
|
|
558
|
+
const next = typeof u === "function" ? u(prev) : u;
|
|
559
|
+
onColumnPinningChangeRef.current?.(next);
|
|
560
|
+
dispatch({ type: "SET_COLUMN_PINNING", payload: next });
|
|
561
|
+
}
|
|
562
|
+
} : {}),
|
|
563
|
+
...(enableColumnVisibility ? {
|
|
564
|
+
onColumnVisibilityChange: (u: any) => {
|
|
565
|
+
const prev = uiRef.current.columnVisibility;
|
|
566
|
+
const next = typeof u === "function" ? u(prev) : u;
|
|
567
|
+
onColumnVisibilityChangeRef.current?.(next);
|
|
568
|
+
dispatch({ type: "SET_COLUMN_VISIBILITY", payload: next });
|
|
569
|
+
}
|
|
570
|
+
} : {}),
|
|
571
|
+
...(enableColumnResizing ? {
|
|
572
|
+
onColumnSizingChange: (u: any) => {
|
|
573
|
+
const prev = uiRef.current.columnSizing;
|
|
574
|
+
const next = typeof u === "function" ? u(prev) : u;
|
|
575
|
+
onColumnSizingChangeRef.current?.(next);
|
|
576
|
+
dispatch({ type: "SET_COLUMN_SIZING", payload: next });
|
|
577
|
+
|
|
578
|
+
}
|
|
579
|
+
} : {}),
|
|
545
580
|
|
|
546
581
|
getCoreRowModel: getCoreRowModel(),
|
|
547
582
|
...(enableSorting ? { getSortedRowModel: getSortedRowModel() } : {}),
|
|
@@ -584,12 +619,15 @@ export function useDataTableEngine<T extends Record<string, any>>(
|
|
|
584
619
|
|
|
585
620
|
// --- virtualization
|
|
586
621
|
const rows = table.getRowModel().rows;
|
|
622
|
+
|
|
623
|
+
const shouldVirtualize = enableVirtualization && rows.length > 0;
|
|
624
|
+
|
|
587
625
|
const rowVirtualizer = useVirtualizer({
|
|
588
626
|
count: rows.length,
|
|
589
627
|
getScrollElement: () => tableContainerRef.current,
|
|
590
628
|
estimateSize: () => estimateRowHeight,
|
|
591
|
-
overscan:
|
|
592
|
-
enabled:
|
|
629
|
+
overscan: 8, // reduce a bit
|
|
630
|
+
enabled: shouldVirtualize,
|
|
593
631
|
});
|
|
594
632
|
|
|
595
633
|
|
|
@@ -1003,12 +1041,10 @@ export function useDataTableEngine<T extends Record<string, any>>(
|
|
|
1003
1041
|
dispatch({ type: "SET_COLUMN_ORDER", payload: order });
|
|
1004
1042
|
dispatch({ type: "SET_COLUMN_SIZING", payload: sizing });
|
|
1005
1043
|
dispatch({ type: "SET_COLUMN_PINNING", payload: pinning });
|
|
1006
|
-
dispatch({ type: "SET_PAGINATION", payload: { pageIndex: 0, pageSize: 10 } });
|
|
1007
1044
|
dispatch({ type: "SET_GLOBAL_FILTER_RESET_PAGE", payload: "" });
|
|
1008
|
-
dispatch({ type: "SET_COLUMN_FILTER", payload: [] });
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
onColumnPinningChangeRef.current?.(pinning);
|
|
1045
|
+
dispatch({ type: "SET_COLUMN_FILTER", payload: initialStateConfig.columnFilter || [] });
|
|
1046
|
+
dispatch({ type: "SET_SORTING_RESET_PAGE", payload: initialStateConfig.sorting || [] });
|
|
1047
|
+
dispatch({ type: "SET_PAGINATION", payload: initialStateConfig.pagination || { pageIndex: 0, pageSize: 10 } });
|
|
1012
1048
|
},
|
|
1013
1049
|
resetAll: () => {
|
|
1014
1050
|
api.layout.resetLayout();
|
|
@@ -1318,7 +1354,7 @@ export function useDataTableEngine<T extends Record<string, any>>(
|
|
|
1318
1354
|
isExporting: () => exportControllerRef.current != null,
|
|
1319
1355
|
cancelExport: () => handleCancelExport(),
|
|
1320
1356
|
} as any;
|
|
1321
|
-
}, [dataMode, exportChunkSize, exportFilename, exportSanitizeCSV, exportStrictTotalCheck, fetchData, handleCancelExport, handleColumnFilterChangeHandler, handleExportProgressInternal, handleExportStateChangeInternal, initialStateConfig, isServerMode, isServerPagination, isServerSorting, resetAllAndReload, resetPageToFirst, runExportWithPolicy, triggerRefresh, queuedExportCount, tableTotalRow, idKey, tableRef, uiRef, serverDataRef, dataRef, onSortingChangeRef, onPaginationChangeRef, onGlobalFilterChangeRef, onColumnDragEndRef, onColumnPinningChangeRef, onColumnSizingChangeRef, onServerExportRef, onExportCompleteRef, onExportErrorRef]);
|
|
1357
|
+
}, [dataMode, exportChunkSize, exportFilename, exportSanitizeCSV, exportStrictTotalCheck, fetchData, handleCancelExport, handleColumnFilterChangeHandler, handleExportProgressInternal, handleExportStateChangeInternal, initialStateConfig, isServerMode, isServerPagination, isServerSorting, resetAllAndReload, resetPageToFirst, runExportWithPolicy, triggerRefresh, queuedExportCount, tableTotalRow, idKey, tableRef, uiRef, serverDataRef, dataRef, onSortingChangeRef, onPaginationChangeRef, onGlobalFilterChangeRef, onColumnDragEndRef, onColumnPinningChangeRef, onColumnSizingChangeRef, onServerExportRef, onExportCompleteRef, onExportErrorRef, enablePagination]);
|
|
1322
1358
|
|
|
1323
1359
|
// --- imperative handlers (used by TanStack callbacks above or view)
|
|
1324
1360
|
const handleSortingChange = useCallback(
|
|
@@ -18,6 +18,7 @@ export type DataRefreshReason = 'initial' | 'state-change' | 'refresh' | 'reload
|
|
|
18
18
|
|
|
19
19
|
export interface DataFetchMeta {
|
|
20
20
|
reason?: DataRefreshReason;
|
|
21
|
+
delay?: number;
|
|
21
22
|
force?: boolean;
|
|
22
23
|
}
|
|
23
24
|
|
|
@@ -73,7 +74,7 @@ export interface DataTableProps<T> {
|
|
|
73
74
|
initialLoadData?: boolean; // Initial load data (default: true)
|
|
74
75
|
onDataStateChange?: (filters: Partial<TableState>) => void; // Callback when any filter/state changes
|
|
75
76
|
onFetchData?: (filters: Partial<TableFilters>, meta?: DataFetchMeta) => Promise<{ data: T[]; total: number }>;
|
|
76
|
-
onFetchStateChange?: (filters: Partial<TableState>,
|
|
77
|
+
onFetchStateChange?: (filters: Partial<TableState>, options?: DataFetchMeta) => void;
|
|
77
78
|
onRefreshData?: (context: DataRefreshContext) => void | Promise<void>;
|
|
78
79
|
|
|
79
80
|
// Simplified Export props
|