@charlesgomes/leafcode-shared-lib-react 1.0.48 → 1.0.49
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 +31 -0
- package/dist/index.mjs +31 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -879,6 +879,37 @@ function DataTableAdvancedFilterWrapper({
|
|
|
879
879
|
const newUrl = `${window.location.pathname}?${urlParams.toString()}`;
|
|
880
880
|
window.history.pushState(null, "", newUrl);
|
|
881
881
|
};
|
|
882
|
+
const hydrateFromUrl = () => {
|
|
883
|
+
const params = new URLSearchParams(window.location.search);
|
|
884
|
+
const pageParam = Number(params.get("page") ?? 1);
|
|
885
|
+
const rowsParam = Number(params.get("rows") ?? rows);
|
|
886
|
+
const sortFieldParam = params.get("sortField") ?? sortFieldInitial;
|
|
887
|
+
const sortOrderParam = Number(params.get("sortOrder") ?? sortOrderInitial);
|
|
888
|
+
const filterParam = params.get("filter") ?? "";
|
|
889
|
+
setPage(pageParam);
|
|
890
|
+
setRows(rowsParam);
|
|
891
|
+
setFirst((pageParam - 1) * rowsParam);
|
|
892
|
+
setSortField(sortFieldParam);
|
|
893
|
+
setSortOrder(sortOrderParam);
|
|
894
|
+
setSearchText(filterParam);
|
|
895
|
+
setFilters((prev) => ({
|
|
896
|
+
...prev,
|
|
897
|
+
global: {
|
|
898
|
+
...prev.global ?? { matchMode: "contains" },
|
|
899
|
+
value: filterParam
|
|
900
|
+
}
|
|
901
|
+
}));
|
|
902
|
+
};
|
|
903
|
+
(0, import_react6.useEffect)(() => {
|
|
904
|
+
if (typeof window === "undefined") return;
|
|
905
|
+
const handlePopState = () => {
|
|
906
|
+
hydrateFromUrl();
|
|
907
|
+
};
|
|
908
|
+
window.addEventListener("popstate", handlePopState);
|
|
909
|
+
return () => {
|
|
910
|
+
window.removeEventListener("popstate", handlePopState);
|
|
911
|
+
};
|
|
912
|
+
}, []);
|
|
882
913
|
const onPage = (event) => {
|
|
883
914
|
setFirst(event.first);
|
|
884
915
|
setRows(event.rows);
|
package/dist/index.mjs
CHANGED
|
@@ -824,6 +824,37 @@ function DataTableAdvancedFilterWrapper({
|
|
|
824
824
|
const newUrl = `${window.location.pathname}?${urlParams.toString()}`;
|
|
825
825
|
window.history.pushState(null, "", newUrl);
|
|
826
826
|
};
|
|
827
|
+
const hydrateFromUrl = () => {
|
|
828
|
+
const params = new URLSearchParams(window.location.search);
|
|
829
|
+
const pageParam = Number(params.get("page") ?? 1);
|
|
830
|
+
const rowsParam = Number(params.get("rows") ?? rows);
|
|
831
|
+
const sortFieldParam = params.get("sortField") ?? sortFieldInitial;
|
|
832
|
+
const sortOrderParam = Number(params.get("sortOrder") ?? sortOrderInitial);
|
|
833
|
+
const filterParam = params.get("filter") ?? "";
|
|
834
|
+
setPage(pageParam);
|
|
835
|
+
setRows(rowsParam);
|
|
836
|
+
setFirst((pageParam - 1) * rowsParam);
|
|
837
|
+
setSortField(sortFieldParam);
|
|
838
|
+
setSortOrder(sortOrderParam);
|
|
839
|
+
setSearchText(filterParam);
|
|
840
|
+
setFilters((prev) => ({
|
|
841
|
+
...prev,
|
|
842
|
+
global: {
|
|
843
|
+
...prev.global ?? { matchMode: "contains" },
|
|
844
|
+
value: filterParam
|
|
845
|
+
}
|
|
846
|
+
}));
|
|
847
|
+
};
|
|
848
|
+
useEffect3(() => {
|
|
849
|
+
if (typeof window === "undefined") return;
|
|
850
|
+
const handlePopState = () => {
|
|
851
|
+
hydrateFromUrl();
|
|
852
|
+
};
|
|
853
|
+
window.addEventListener("popstate", handlePopState);
|
|
854
|
+
return () => {
|
|
855
|
+
window.removeEventListener("popstate", handlePopState);
|
|
856
|
+
};
|
|
857
|
+
}, []);
|
|
827
858
|
const onPage = (event) => {
|
|
828
859
|
setFirst(event.first);
|
|
829
860
|
setRows(event.rows);
|