@a5it/sync-ui 0.1.20 → 0.1.21
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/filters/reset.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,eAAe,EACf,KAAe,GAChB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/filters/reset.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,eAAe,EACf,KAAe,GAChB,EAAE,mBAAmB,kDAqFrB"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
3
4
|
import { RotateCcw } from "lucide-react";
|
|
4
5
|
import { cn } from "../../../lib/utils";
|
|
5
6
|
import { useDataTable } from "../provider";
|
|
6
7
|
/**
|
|
7
8
|
* Reset button that clears all active filters.
|
|
8
|
-
*
|
|
9
|
+
* Visible when table filters are active or URL has any query params.
|
|
9
10
|
*
|
|
10
11
|
* Resets:
|
|
11
12
|
* - Search input
|
|
@@ -16,13 +17,51 @@ import { useDataTable } from "../provider";
|
|
|
16
17
|
export function DataTableReset({ className, buttonClassName, label = "Reset", }) {
|
|
17
18
|
const { urlState, table } = useDataTable();
|
|
18
19
|
const { hasActiveFilters, resetAllFilters } = urlState;
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
const [hasAnyQueryParams, setHasAnyQueryParams] = React.useState(false);
|
|
21
|
+
const updateHasAnyQueryParams = React.useCallback(() => {
|
|
22
|
+
if (typeof window === "undefined") {
|
|
23
|
+
setHasAnyQueryParams(false);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const params = new URLSearchParams(window.location.search);
|
|
27
|
+
setHasAnyQueryParams(params.toString().length > 0);
|
|
28
|
+
}, []);
|
|
29
|
+
const clearAllQueryParams = React.useCallback(() => {
|
|
30
|
+
if (typeof window === "undefined") {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const { pathname, hash } = window.location;
|
|
34
|
+
window.history.replaceState(window.history.state, "", `${pathname}${hash}`);
|
|
35
|
+
if (typeof PopStateEvent === "function") {
|
|
36
|
+
window.dispatchEvent(new PopStateEvent("popstate"));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
window.dispatchEvent(new Event("popstate"));
|
|
40
|
+
}
|
|
41
|
+
setHasAnyQueryParams(false);
|
|
42
|
+
}, []);
|
|
43
|
+
React.useEffect(() => {
|
|
44
|
+
updateHasAnyQueryParams();
|
|
45
|
+
if (typeof window === "undefined") {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
window.addEventListener("popstate", updateHasAnyQueryParams);
|
|
49
|
+
return () => {
|
|
50
|
+
window.removeEventListener("popstate", updateHasAnyQueryParams);
|
|
51
|
+
};
|
|
52
|
+
}, [updateHasAnyQueryParams]);
|
|
53
|
+
React.useEffect(() => {
|
|
54
|
+
updateHasAnyQueryParams();
|
|
55
|
+
}, [hasActiveFilters, updateHasAnyQueryParams]);
|
|
56
|
+
// Show when table filters are active or URL has any query params.
|
|
57
|
+
if (!hasActiveFilters && !hasAnyQueryParams) {
|
|
21
58
|
return null;
|
|
22
59
|
}
|
|
23
60
|
const handleReset = () => {
|
|
24
61
|
// Reset URL state
|
|
25
62
|
resetAllFilters();
|
|
63
|
+
// Ensure every query param is removed, including params not managed by urlState.
|
|
64
|
+
window.setTimeout(clearAllQueryParams, 0);
|
|
26
65
|
// Also reset TanStack table state
|
|
27
66
|
table.setSorting([]);
|
|
28
67
|
table.setGlobalFilter("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../../src/components/data-table/filters/reset.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../../src/components/data-table/filters/reset.tsx"],"names":[],"mappings":"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"}
|