PageSourceSearch

https://chiemgaukorn.de/cdn/shop/t/3/assets/collection-mobile-filters.js?v=141085733159431533581744275109

js chiemgaukorn.de collected 2026-09-24 23:00:07 UTC 2,886 bytes, 2 lines download raw bytes

1import{unlockMobileScrolling,lockMobileScrolling}from"@archetype-themes/utils/a11y";import{EVENTS}from"@archetype-themes/utils/events";import{prepareTransition}from"@archetype-themes/utils/utils";class CollectionMobileFilters extends HTMLElement{connectedCallback(){this.selectors={filters:".filter-wrapper",inlineWrapper:"#CollectionInlineFilterWrap",sortBtn:".filter-sort"},this.config={mobileFiltersInPlace:!1,isOpen:!1},this.mobileMediaQuery=window.matchMedia("(max-width: 768px)"),this.handleMediaQueryChange=this.handleMediaQueryChange.bind(this),this.mobileMediaQuery.addListener(this.handleMediaQueryChange),this.handleMediaQueryChange(this.mobileMediaQuery),this.abortController=new AbortController,document.addEventListener(EVENTS.toggleMobileFilters,this.toggle.bind(this),{signal:this.abortController.signal}),document.addEventListener("filter:selected",this.close.bind(this),{signal:this.abortController.signal})}disconnectedCallback(){this.abortController.abort()}async renderFiltersOnMobile(){if(this.config.mobileFiltersInPlace)return;const filters=await this.getFilters(),inlineWrapper=this.querySelector(this.selectors.inlineWrapper);inlineWrapper.innerHTML="",inlineWrapper.append(filters),this.sortBtns=this.querySelectorAll(this.selectors.sortBtn),this.sortBtns.length&&this.sortBtns.forEach(btn=>btn.addEventListener("click",this.handleSortButtonClick.bind(this),{signal:this.abortController.signal})),this.config.mobileFiltersInPlace=!0}handleSortButtonClick(evt){const btn=evt.currentTarget;this.close();const sortValue=btn.dataset.value;this.dispatchEvent(new CustomEvent(EVENTS.sortSelected,{detail:{sortValue},bubbles:!0}))}handleMediaQueryChange(mql){mql.matches&&setTimeout(()=>{this.renderFiltersOnMobile()},100)}toggle(){this.config.isOpen?this.close():this.open()}open(){const filters=this.querySelector(this.selectors.filters);prepareTransition(filters,()=>filters.classList.add("is-active")),this.config.isOpen=!0,lockMobileScrolling(),this._keyupHandler=evt=>{evt.keyCode===27&&this.close()},window.addEventListener("keyup",this._keyupHandler,{signal:this.abortController.signal})}close(){const filters=this.querySelector(this.selectors.filters);prepareTransition(filters,()=>filters.classList.remove("is-active")),this.config.isOpen=!1,unlockMobileScrolling(),window.removeEventListener("keyup",this._keyupHandler)}async getFilters(){const searchParams=window.location.search.slice(1),url=`${window.location.pathname}?section_id=item-grid-filters&${searchParams}`,response=await fetch(url);if(!response.ok)throw response;const responseText=await response.text();return new DOMParser().parseFromString(responseText,"text/html").querySelector(this.selectors.filters)}}customElements.define("collection-mobile-filters",CollectionMobileFilters);
2//# sourceMappingURL=/cdn/shop/t/3/assets/collection-mobile-filters.js.map?v=141085733159431533581744275109

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.