1class u{constructor(t){var s,a,i;this.cookieName="activities_iframe_view",this.element=t,this.listButton=this.element.querySelector('[data-toggle-view="list"]'),this.mapButton=this.element.querySelector('[data-toggle-view="map"]'),this.listContainer=this.element.querySelector('[data-view-container="list"]'),this.mapContainer=this.element.querySelector('[data-view-container="map"]'),this.listIframe=((s=this.listContainer)==null?void 0:s.querySelector("iframe"))||null,this.mapIframe=((a=this.mapContainer)==null?void 0:a.querySelector("iframe"))||null,this.backToListButton=this.element.querySelector(".js-back-to-list"),this.oembedModule=((i=this.mapContainer)==null?void 0:i.querySelector('[data-module="oembed"]'))||null;const e=this.getSavedView();this.currentView=e||this.element.dataset.defaultView||"list",this.mapLoaded=!1,this.initialize()}initialize(){this.addEventListeners();const t=this.element.dataset.defaultView||"list";this.currentView!==t?(this.updateView(),this.updateButtons()):this.updateButtons(),this.currentView==="list"?this.loadListIframe():this.currentView==="map"&&this.hasCookieConsent()&&(this.activateOembedTemplate(),setTimeout(()=>this.loadMapIframe(),50))}addEventListeners(){var t,e,s;if((t=this.listButton)==null||t.addEventListener("click",()=>this.switchToList()),(e=this.mapButton)==null||e.addEventListener("click",()=>this.switchToMap()),(s=this.backToListButton)==null||s.addEventListener("click",()=>this.switchToList()),this.oembedModule){window.addEventListener("CookiebotOnAccept",()=>{var r;(r=Cookiebot.consent)!=null&&r.marketing&&this.currentView==="map"&&setTimeout(()=>this.loadMapIframe(),100)}),document.addEventListener("sourceAccepted",r=>{var o;((o=r.detail)==null?void 0:o.source())==="consent_embed_google-map"&&this.currentView==="map"&&setTimeout(()=>this.loadMapIframe(),100)});const a=new MutationObserver(()=>{this.currentView==="map"&&!this.mapLoaded&&this.hasCookieConsent()&&this.loadMapIframe()}),i=this.oembedModule.querySelector('[data-oembed="content"]');i&&a.observe(i,{childList:!0,subtree:!0})}}switchToList(){this.currentView!=="list"&&(this.currentView="list",this.saveView("list"),this.updateView(),this.updateButtons(),this.loadListIframe())}switchToMap(){this.currentView!=="map"&&(this.currentView="map",this.saveView("map"),this.updateView(),this.updateButtons(),this.hasCookieConsent()&&(this.activateOembedTemplate(),setTimeout(()=>this.loadMapIframe(),50)))}activateOembedTemplate(){if(!this.oembedModule)return;const t=this.oembedModule.querySelector('[data-oembed="content"]'),e=this.oembedModule.querySelector("template");t!=null&&t.querySelector("iframe")||t!=null&&t.querySelector('[data-oembed="placeholder"]')||e&&t&&(t.innerHTML=e.innerHTML)}loadListIframe(){if(!this.listIframe)return;const t=this.listIframe.getAttribute("src");if(t&&t!==""&&t!==window.location.href)return;const e=this.listIframe.getAttribute("data-src");e&&e!==""&&this.listIframe.setAttribute("src",e)}loadMapIframe(){var s;if(this.mapLoaded)return;const t=(s=this.mapContainer)==null?void 0:s.querySelector('[data-oembed="content"]');if(!t)return;const e=t.querySelector("iframe");if(e){const a=e.getAttribute("src");if(!a||a===""){const i=e.getAttribute("data-src");i&&i!==""&&(e.setAttribute("src",i),this.mapLoaded=!0)}else this.mapLoaded=!0}}updateView(){this.listContainer&&this.mapContainer&&(this.currentView==="list"?(this.listContainer.classList.remove("hidden"),this.mapContainer.classList.add("hidden")):(this.listContainer.classList.add("hidden"),this.mapContainer.classList.remove("hidden")))}updateButtons(){this.listButton&&this.mapButton&&(this.currentView==="list"?(this.listButton.setAttribute("data-variant","primary"),this.listButton.setAttribute("aria-pressed","true"),this.mapButton.setAttribute("data-variant","outline"),this.mapButton.setAttribute("aria-pressed","false")):(this.mapButton.setAttribute("data-variant","primary"),this.mapButton.setAttribute("aria-pressed","true"),this.listButton.setAttribute("data-variant","outline"),this.listButton.setAttribute("aria-pressed","false")))}hasCookieConsent(){var t;return typeof Cookiebot<"u"?((t=Cookiebot.consent)==null?void 0:t.marketing)||!1:!!window.localStorage.getItem("consent_embed_google-map")}getSavedView(){const t=this.getCookie(this.cookieName);return t==="list"||t==="map"?t:null}saveView(t){this.setCookie(this.cookieName,t,30)}getCookie(t){const e=t+"=",s=document.cookie.split(";");for(let a=0;a<s.length;a++){let i=s[a];for(;i.charAt(0)===" ";)i=i.substring(1,i.length);if(i.indexOf(e)===0)return i.substring(e.length,i.length)}return null}setCookie(t,e,s){let a="";if(s){const i=new Date;i.setTime(i.getTime()+s*24*60*60*1e3),a="; expires="+i.toUTCString()}document.cookie=t+"="+(e||"")+a+"; path=/; SameSite=Lax"}}export{u as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.