@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.js
CHANGED
|
@@ -1365,7 +1365,8 @@ var SpreadsheetToolbar = ({
|
|
|
1365
1365
|
activeFilterCount,
|
|
1366
1366
|
" filter",
|
|
1367
1367
|
activeFilterCount !== 1 ? "s" : "",
|
|
1368
|
-
"
|
|
1368
|
+
" ",
|
|
1369
|
+
"active"
|
|
1369
1370
|
] }),
|
|
1370
1371
|
showFiltersPanel ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(HiChevronUp, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(HiChevronDown, { className: "h-3 w-3" })
|
|
1371
1372
|
]
|
|
@@ -1429,7 +1430,7 @@ var SpreadsheetToolbar = ({
|
|
|
1429
1430
|
]
|
|
1430
1431
|
}
|
|
1431
1432
|
),
|
|
1432
|
-
showMoreMenu && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "absolute right-0 top-full mt-1 bg-white border border-gray-200 shadow-lg rounded py-1 min-w-[180px] z-
|
|
1433
|
+
showMoreMenu && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("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: [
|
|
1433
1434
|
onSettings && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
1434
1435
|
"button",
|
|
1435
1436
|
{
|
|
@@ -3835,6 +3836,23 @@ function Spreadsheet({
|
|
|
3835
3836
|
},
|
|
3836
3837
|
[controlledPageSize, controlledCurrentPage, onPageChange]
|
|
3837
3838
|
);
|
|
3839
|
+
const resetPaginationToFirstPage = (0, import_react17.useCallback)(() => {
|
|
3840
|
+
if (controlledCurrentPage === void 0) {
|
|
3841
|
+
setInternalCurrentPage(1);
|
|
3842
|
+
}
|
|
3843
|
+
onPageChange?.(1, pageSize);
|
|
3844
|
+
}, [controlledCurrentPage, onPageChange, pageSize]);
|
|
3845
|
+
const handleFilterChangeWithReset = (0, import_react17.useCallback)(
|
|
3846
|
+
(columnId, filter) => {
|
|
3847
|
+
handleFilterChange(columnId, filter);
|
|
3848
|
+
resetPaginationToFirstPage();
|
|
3849
|
+
},
|
|
3850
|
+
[handleFilterChange, resetPaginationToFirstPage]
|
|
3851
|
+
);
|
|
3852
|
+
const clearAllFiltersWithReset = (0, import_react17.useCallback)(() => {
|
|
3853
|
+
clearAllFilters();
|
|
3854
|
+
resetPaginationToFirstPage();
|
|
3855
|
+
}, [clearAllFilters, resetPaginationToFirstPage]);
|
|
3838
3856
|
(0, import_react17.useEffect)(() => {
|
|
3839
3857
|
setSpreadsheetSettings((prev) => ({
|
|
3840
3858
|
...prev,
|
|
@@ -4247,10 +4265,10 @@ function Spreadsheet({
|
|
|
4247
4265
|
saveStatus,
|
|
4248
4266
|
autoSave: spreadsheetSettings.autoSave,
|
|
4249
4267
|
hasActiveFilters,
|
|
4250
|
-
onClearFilters:
|
|
4268
|
+
onClearFilters: clearAllFiltersWithReset,
|
|
4251
4269
|
filters,
|
|
4252
4270
|
columns,
|
|
4253
|
-
onClearFilter: (columnId) =>
|
|
4271
|
+
onClearFilter: (columnId) => handleFilterChangeWithReset(columnId, void 0),
|
|
4254
4272
|
showFiltersPanel,
|
|
4255
4273
|
onToggleFiltersPanel: () => setShowFiltersPanel(!showFiltersPanel),
|
|
4256
4274
|
onZoomIn: () => setZoom((z) => Math.min(z + 10, 200)),
|
|
@@ -4392,7 +4410,7 @@ function Spreadsheet({
|
|
|
4392
4410
|
{
|
|
4393
4411
|
column,
|
|
4394
4412
|
filter: filters[column.id],
|
|
4395
|
-
onFilterChange: (filter) =>
|
|
4413
|
+
onFilterChange: (filter) => handleFilterChangeWithReset(column.id, filter),
|
|
4396
4414
|
onClose: () => setActiveFilterColumn(null)
|
|
4397
4415
|
}
|
|
4398
4416
|
)
|