@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 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);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@charlesgomes/leafcode-shared-lib-react",
3
- "version": "1.0.48",
3
+ "version": "1.0.49",
4
4
  "description": "Lib de componentes react",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",