@xcelsior/ui-spreadsheets 1.1.15 → 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 +32 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +32 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/Spreadsheet.tsx +39 -3
- package/src/components/SpreadsheetToolbar.tsx +212 -209
- package/src/types.ts +2 -0
package/dist/index.mjs
CHANGED
|
@@ -1322,7 +1322,8 @@ var SpreadsheetToolbar = ({
|
|
|
1322
1322
|
activeFilterCount,
|
|
1323
1323
|
" filter",
|
|
1324
1324
|
activeFilterCount !== 1 ? "s" : "",
|
|
1325
|
-
"
|
|
1325
|
+
" ",
|
|
1326
|
+
"active"
|
|
1326
1327
|
] }),
|
|
1327
1328
|
showFiltersPanel ? /* @__PURE__ */ jsx4(HiChevronUp, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx4(HiChevronDown, { className: "h-3 w-3" })
|
|
1328
1329
|
]
|
|
@@ -1386,7 +1387,7 @@ var SpreadsheetToolbar = ({
|
|
|
1386
1387
|
]
|
|
1387
1388
|
}
|
|
1388
1389
|
),
|
|
1389
|
-
showMoreMenu && /* @__PURE__ */ jsxs4("div", { className: "absolute right-0 top-full mt-1 bg-white border border-gray-200 shadow-lg rounded py-1 min-w-[180px] z-
|
|
1390
|
+
showMoreMenu && /* @__PURE__ */ jsxs4("div", { className: "absolute right-0 top-full mt-1 bg-white border border-gray-200 shadow-lg rounded py-1 min-w-[180px] z-50", children: [
|
|
1390
1391
|
onSettings && /* @__PURE__ */ jsxs4(
|
|
1391
1392
|
"button",
|
|
1392
1393
|
{
|
|
@@ -3624,6 +3625,7 @@ function Spreadsheet({
|
|
|
3624
3625
|
onSelectionChange,
|
|
3625
3626
|
onSortChange,
|
|
3626
3627
|
onFilterChange,
|
|
3628
|
+
afterFiltered,
|
|
3627
3629
|
onRowClick,
|
|
3628
3630
|
onRowDoubleClick,
|
|
3629
3631
|
onAddCellComment,
|
|
@@ -3792,6 +3794,23 @@ function Spreadsheet({
|
|
|
3792
3794
|
},
|
|
3793
3795
|
[controlledPageSize, controlledCurrentPage, onPageChange]
|
|
3794
3796
|
);
|
|
3797
|
+
const resetPaginationToFirstPage = useCallback7(() => {
|
|
3798
|
+
if (controlledCurrentPage === void 0) {
|
|
3799
|
+
setInternalCurrentPage(1);
|
|
3800
|
+
}
|
|
3801
|
+
onPageChange?.(1, pageSize);
|
|
3802
|
+
}, [controlledCurrentPage, onPageChange, pageSize]);
|
|
3803
|
+
const handleFilterChangeWithReset = useCallback7(
|
|
3804
|
+
(columnId, filter) => {
|
|
3805
|
+
handleFilterChange(columnId, filter);
|
|
3806
|
+
resetPaginationToFirstPage();
|
|
3807
|
+
},
|
|
3808
|
+
[handleFilterChange, resetPaginationToFirstPage]
|
|
3809
|
+
);
|
|
3810
|
+
const clearAllFiltersWithReset = useCallback7(() => {
|
|
3811
|
+
clearAllFilters();
|
|
3812
|
+
resetPaginationToFirstPage();
|
|
3813
|
+
}, [clearAllFilters, resetPaginationToFirstPage]);
|
|
3795
3814
|
useEffect6(() => {
|
|
3796
3815
|
setSpreadsheetSettings((prev) => ({
|
|
3797
3816
|
...prev,
|
|
@@ -3986,6 +4005,11 @@ function Spreadsheet({
|
|
|
3986
4005
|
setInternalCurrentPage(1);
|
|
3987
4006
|
}
|
|
3988
4007
|
}, [totalPages, currentPage, serverSide]);
|
|
4008
|
+
const afterFilteredRef = useRef5(afterFiltered);
|
|
4009
|
+
afterFilteredRef.current = afterFiltered;
|
|
4010
|
+
useEffect6(() => {
|
|
4011
|
+
afterFilteredRef.current?.(filteredData.toArray());
|
|
4012
|
+
}, [filteredData]);
|
|
3989
4013
|
const handleRowSelect = useCallback7(
|
|
3990
4014
|
(rowId, event) => {
|
|
3991
4015
|
if (!enableRowSelection) return;
|
|
@@ -4204,10 +4228,10 @@ function Spreadsheet({
|
|
|
4204
4228
|
saveStatus,
|
|
4205
4229
|
autoSave: spreadsheetSettings.autoSave,
|
|
4206
4230
|
hasActiveFilters,
|
|
4207
|
-
onClearFilters:
|
|
4231
|
+
onClearFilters: clearAllFiltersWithReset,
|
|
4208
4232
|
filters,
|
|
4209
4233
|
columns,
|
|
4210
|
-
onClearFilter: (columnId) =>
|
|
4234
|
+
onClearFilter: (columnId) => handleFilterChangeWithReset(columnId, void 0),
|
|
4211
4235
|
showFiltersPanel,
|
|
4212
4236
|
onToggleFiltersPanel: () => setShowFiltersPanel(!showFiltersPanel),
|
|
4213
4237
|
onZoomIn: () => setZoom((z) => Math.min(z + 10, 200)),
|
|
@@ -4349,7 +4373,10 @@ function Spreadsheet({
|
|
|
4349
4373
|
{
|
|
4350
4374
|
column,
|
|
4351
4375
|
filter: filters[column.id],
|
|
4352
|
-
onFilterChange: (filter) =>
|
|
4376
|
+
onFilterChange: (filter) => handleFilterChangeWithReset(
|
|
4377
|
+
column.id,
|
|
4378
|
+
filter
|
|
4379
|
+
),
|
|
4353
4380
|
onClose: () => setActiveFilterColumn(null)
|
|
4354
4381
|
}
|
|
4355
4382
|
)
|