@wipco/sdui 0.50.1 → 0.50.3
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 +9 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2845,6 +2845,7 @@ function SduiRenderer({
|
|
|
2845
2845
|
hostRef.current = host;
|
|
2846
2846
|
const [state, setState] = useState(() => ({ ...initialState ?? {} }));
|
|
2847
2847
|
const urlSeeded = useRef(false);
|
|
2848
|
+
const urlSeedPending = useRef(null);
|
|
2848
2849
|
const [toasts, setToasts] = useState([]);
|
|
2849
2850
|
const toastSeq = useRef(0);
|
|
2850
2851
|
const toastTimers = useRef([]);
|
|
@@ -2879,10 +2880,17 @@ function SduiRenderer({
|
|
|
2879
2880
|
}
|
|
2880
2881
|
}
|
|
2881
2882
|
}
|
|
2882
|
-
if (Object.keys(seeded).length > 0)
|
|
2883
|
+
if (Object.keys(seeded).length > 0) {
|
|
2884
|
+
urlSeedPending.current = seeded;
|
|
2885
|
+
setEntries(seeded);
|
|
2886
|
+
}
|
|
2883
2887
|
}, [page.urlState, setEntries, syncUrlState]);
|
|
2884
2888
|
useEffect(() => {
|
|
2885
2889
|
if (!syncUrlState || !page.urlState?.length || !urlSeeded.current || typeof window === "undefined") return;
|
|
2890
|
+
if (urlSeedPending.current) {
|
|
2891
|
+
if (!Object.keys(urlSeedPending.current).every((key) => Object.hasOwn(state, key))) return;
|
|
2892
|
+
urlSeedPending.current = null;
|
|
2893
|
+
}
|
|
2886
2894
|
const params = new URLSearchParams(window.location.search);
|
|
2887
2895
|
let changed = false;
|
|
2888
2896
|
for (const key of page.urlState) {
|