@xcelsior/ui-spreadsheets 1.1.16 → 1.1.17
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/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +10 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/Spreadsheet.tsx +14 -1
- package/src/types.ts +2 -0
package/package.json
CHANGED
|
@@ -89,6 +89,7 @@ export function Spreadsheet<T extends Record<string, any>>({
|
|
|
89
89
|
onSelectionChange,
|
|
90
90
|
onSortChange,
|
|
91
91
|
onFilterChange,
|
|
92
|
+
afterFiltered,
|
|
92
93
|
onRowClick,
|
|
93
94
|
onRowDoubleClick,
|
|
94
95
|
onAddCellComment,
|
|
@@ -548,6 +549,15 @@ export function Spreadsheet<T extends Record<string, any>>({
|
|
|
548
549
|
}
|
|
549
550
|
}, [totalPages, currentPage, serverSide]);
|
|
550
551
|
|
|
552
|
+
// Store afterFiltered in a ref to avoid re-running effect when callback changes
|
|
553
|
+
const afterFilteredRef = useRef(afterFiltered);
|
|
554
|
+
afterFilteredRef.current = afterFiltered;
|
|
555
|
+
|
|
556
|
+
// Call afterFiltered callback when filtered data changes
|
|
557
|
+
useEffect(() => {
|
|
558
|
+
afterFilteredRef.current?.(filteredData.toArray());
|
|
559
|
+
}, [filteredData]);
|
|
560
|
+
|
|
551
561
|
// ==================== EVENT HANDLERS ====================
|
|
552
562
|
|
|
553
563
|
const handleRowSelect = useCallback(
|
|
@@ -1036,7 +1046,10 @@ export function Spreadsheet<T extends Record<string, any>>({
|
|
|
1036
1046
|
column={column}
|
|
1037
1047
|
filter={filters[column.id]}
|
|
1038
1048
|
onFilterChange={(filter) =>
|
|
1039
|
-
handleFilterChangeWithReset(
|
|
1049
|
+
handleFilterChangeWithReset(
|
|
1050
|
+
column.id,
|
|
1051
|
+
filter
|
|
1052
|
+
)
|
|
1040
1053
|
}
|
|
1041
1054
|
onClose={() => setActiveFilterColumn(null)}
|
|
1042
1055
|
/>
|
package/src/types.ts
CHANGED
|
@@ -355,6 +355,8 @@ export interface SpreadsheetProps<T = any> {
|
|
|
355
355
|
onSortChange?: (sortConfig: SpreadsheetSortConfig | null) => void;
|
|
356
356
|
/** Callback when filters change */
|
|
357
357
|
onFilterChange?: (filters: Record<string, SpreadsheetColumnFilter>) => void;
|
|
358
|
+
/** Callback with filtered data after filters are applied */
|
|
359
|
+
afterFiltered?: (filteredData: T[]) => void;
|
|
358
360
|
/** Callback for row click */
|
|
359
361
|
onRowClick?: (row: T, rowIndex: number) => void;
|
|
360
362
|
/** Callback for row double click */
|