@xcelsior/ui-spreadsheets 1.1.15 → 1.1.16
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.js +23 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +23 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/Spreadsheet.tsx +26 -3
- package/src/components/SpreadsheetToolbar.tsx +212 -209
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
|
{
|
|
@@ -3792,6 +3793,23 @@ function Spreadsheet({
|
|
|
3792
3793
|
},
|
|
3793
3794
|
[controlledPageSize, controlledCurrentPage, onPageChange]
|
|
3794
3795
|
);
|
|
3796
|
+
const resetPaginationToFirstPage = useCallback7(() => {
|
|
3797
|
+
if (controlledCurrentPage === void 0) {
|
|
3798
|
+
setInternalCurrentPage(1);
|
|
3799
|
+
}
|
|
3800
|
+
onPageChange?.(1, pageSize);
|
|
3801
|
+
}, [controlledCurrentPage, onPageChange, pageSize]);
|
|
3802
|
+
const handleFilterChangeWithReset = useCallback7(
|
|
3803
|
+
(columnId, filter) => {
|
|
3804
|
+
handleFilterChange(columnId, filter);
|
|
3805
|
+
resetPaginationToFirstPage();
|
|
3806
|
+
},
|
|
3807
|
+
[handleFilterChange, resetPaginationToFirstPage]
|
|
3808
|
+
);
|
|
3809
|
+
const clearAllFiltersWithReset = useCallback7(() => {
|
|
3810
|
+
clearAllFilters();
|
|
3811
|
+
resetPaginationToFirstPage();
|
|
3812
|
+
}, [clearAllFilters, resetPaginationToFirstPage]);
|
|
3795
3813
|
useEffect6(() => {
|
|
3796
3814
|
setSpreadsheetSettings((prev) => ({
|
|
3797
3815
|
...prev,
|
|
@@ -4204,10 +4222,10 @@ function Spreadsheet({
|
|
|
4204
4222
|
saveStatus,
|
|
4205
4223
|
autoSave: spreadsheetSettings.autoSave,
|
|
4206
4224
|
hasActiveFilters,
|
|
4207
|
-
onClearFilters:
|
|
4225
|
+
onClearFilters: clearAllFiltersWithReset,
|
|
4208
4226
|
filters,
|
|
4209
4227
|
columns,
|
|
4210
|
-
onClearFilter: (columnId) =>
|
|
4228
|
+
onClearFilter: (columnId) => handleFilterChangeWithReset(columnId, void 0),
|
|
4211
4229
|
showFiltersPanel,
|
|
4212
4230
|
onToggleFiltersPanel: () => setShowFiltersPanel(!showFiltersPanel),
|
|
4213
4231
|
onZoomIn: () => setZoom((z) => Math.min(z + 10, 200)),
|
|
@@ -4349,7 +4367,7 @@ function Spreadsheet({
|
|
|
4349
4367
|
{
|
|
4350
4368
|
column,
|
|
4351
4369
|
filter: filters[column.id],
|
|
4352
|
-
onFilterChange: (filter) =>
|
|
4370
|
+
onFilterChange: (filter) => handleFilterChangeWithReset(column.id, filter),
|
|
4353
4371
|
onClose: () => setActiveFilterColumn(null)
|
|
4354
4372
|
}
|
|
4355
4373
|
)
|