2 lines
912 B
JavaScript
2 lines
912 B
JavaScript
(()=>{function h(t){t.magic("queryString",(n,{interceptor:i})=>{let e;return i((s,c,p,f,y)=>{let w=!1,l=e||f,r=s,o=new URL(window.location.href);o.searchParams.has(l)&&(r=o.searchParams.get(l)),p(r);let m={value:r};return o.searchParams.set(l,r),g(o.toString(),f,m),window.addEventListener("popstate",a=>{!a.state||!a.state.alpine||Object.entries(a.state.alpine).forEach(([d,{value:u}])=>{d===y&&(w=!0,t.disableEffectScheduling(()=>{p(u)}),w=!1)})}),t.effect(()=>{let a=c();if(w)return;let d={value:a},u=new URL(window.location.href);u.searchParams.set(l,a),S(u.toString(),f,d)}),r},s=>{s.as=c=>(e=c,s)})})}function g(t,n,i){let e=window.history.state||{};e.alpine||(e.alpine={}),e.alpine[n]=i,window.history.replaceState(e,"",t)}function S(t,n,i){let e={alpine:{...window.history.state.alpine,[n]:i}};window.history.pushState(e,"",t)}document.addEventListener("alpine:init",()=>{window.Alpine.plugin(h)});})();
|