1import S from"./samples-gallery-DV7YC7WA.js";import{a as d}from"./index-DhXgJQ-f.js";import m from"./helper-BeZEmXtq.js";import{d as u}from"./index-C8G2vthF.js";import{L as f}from"./app-kh56R94B.js";import"./gallery-BsRRTqcG.js";import"./swiper-core-adpF8Liz.js";import"./navigation-D89OsVYg.js";import"./create-element-if-not-defined-4TT1mIoU.js";import"./thumbs-2eUFBe2b.js";import"./modal-DmaeULWC.js";import"./_commonjsHelpers-Cpj98o6Y.js";class F{constructor(){this.sections=document.querySelectorAll(".examination-samples-with-filtering"),this.optionsSelectSelector=".options-select",this.samplesSelectSelector=".samples-select",this.examinationSampleFilterSelector=".examination-sample-filter",this.selectWrapperSelector=".examination-sample-filter__list",this.samplesSelectPlaceholderSelector=".samples-select-placeholder",this.examinationSamplesGridSelector=".examination-samples__grid",this.optionsSelectOpenerSelector=".options-select-opener",this.checkboxLevel1Selector=".examination-sample-filter__checkbox-lvl1",this.checkboxLevel2Selector=".examination-sample-filter__checkbox-lvl2",this.examinationSampleClass="examination-sample",this.selectLabelClass="examination-sample-filter__select-label",this.optionActiveClass="examination-sample-filter__option--active",this.filterGridItemClass="examination-sample-filter__grid-item",this.filterGridItemInvisibleClass="examination-sample-filter__grid-item--invisible",this.init()}init(){this.sections.forEach(e=>this.bindAction(e))}bindSamplesSelectListeners(e,t){t.querySelectorAll("a").forEach(l=>{l.addEventListener("click",async s=>{s.preventDefault(),await this.sampleHandleClick(s.target,e)})})}activateFirstSamplesSelect(e){const t=e.querySelectorAll("a");t.length>0&&t[0].click()}bindSamplesGallery(e){var t;(t=e.querySelector(".modal_full-height"))==null||t.remove(),e.querySelector(`.${this.examinationSampleClass}`)&&new S(e,this.examinationSampleClass)}bindAction(e){e.querySelectorAll(`${this.optionsSelectSelector} a`).forEach(a=>{a.addEventListener("click",async r=>{r.preventDefault(),await this.optionHandleClick(r.target,e)})});const i=e.querySelector(this.samplesSelectSelector);this.bindSamplesSelectListeners(e,i),e.querySelectorAll(this.selectWrapperSelector).forEach(a=>this.bindOutsideClick(a)),e.querySelector(this.optionsSelectOpenerSelector).addEventListener("click",()=>{this.openSubgroupWithActiveElement(e)});const o=e.querySelector("#examination-samples-with-filtering-mobile");o.addEventListener("change",()=>{this.changeZIndexForFilterBlock(e,o)}),this.bindSamplesGallery(e),this.closeMobileAndOpenDesktopSelects(e),this.openSubgroupWithActiveElement(e),this.handleWindowResize(e)}changeZIndexForFilterBlock(e,t){const i=e.querySelector(".examination-samples-with-filtering__filter");t.checked?i.style.zIndex="501":i.style.zIndex="2"}async optionHandleClick(e,t){var p,n;const i=(p=t.querySelector('input[name="product_id"]'))==null?void 0:p.value,l=(n=e==null?void 0:e.dataset)==null?void 0:n.key;if(!l||!i)return;this.setActiveItem(t,this.optionsSelectSelector,e),this.hideSecondFilterForSingle(t,e);const s=t.querySelector(this.samplesSelectSelector),o=await this.fetchOptions(l,i),a=new DOMParser().parseFromString(o,"text/html").body;s.innerHTML="";const r=a.querySelectorAll("li");r==null||r.forEach(h=>{s.appendChild(h)});const c=t.querySelector(this.samplesSelectPlaceholderSelector);c.querySelector(`.${this.selectLabelClass}`).textContent=c.dataset.placehodler,this.bindSamplesSelectListeners(t,s),this.activateFirstSamplesSelect(s)}openSubgroupWithActiveElement(e){const t=e.querySelector(`${this.optionsSelectSelector} .examination-sample-filter__list-subgroup .${this.optionActiveClass}`);if(t){const i=t.closest(this.optionsSelectSelector);i.querySelector(this.checkboxLevel2Selector).checked=!0}}async sampleHandleClick(e,t){var c,p;const i=(c=t.querySelector('input[name="product_id"]'))==null?void 0:c.value,l=(p=e==null?void 0:e.dataset)==null?void 0:p.key;if(!l||!i)return;this.setActiveItem(t,this.samplesSelectSelector,e),this.setQuery(t,l);const s=t.querySelector(this.examinationSamplesGridSelector),o=await this.fetchSamples(l,i),a=new DOMParser().parseFromString(o,"text/html").body;s.innerHTML="";const r=a.querySelectorAll(".examination-sample, .modal_full-width");r==null||r.forEach(n=>{s.appendChild(n),n.classList.contains("examination-sample")&&f.add(n)}),this.bindSamplesGallery(t)}setActiveItem(e,t,i){[...e.querySelectorAll(`${t} a`)].map(s=>s.classList.remove(this.optionActiveClass)),i.classList.add(this.optionActiveClass);const l=i.closest(this.selectWrapperSelector);l.querySelector(`.${this.selectLabelClass}`).textContent=i.text,this.closeSelect(l)}closeSelect(e){if(window.innerWidth>=767){const t=e.querySelector(this.checkboxLevel1Selector);t.checked&&(t.checked=!1)}}hideSecondFilterForSingle(e,t){var o;const i=e.querySelectorAll(`${this.examinationSampleFilterSelector} .headline-5`)[1],l=e.querySelectorAll(`${this.examinationSampleFilterSelector} .examination-sample-filter__list`)[1],s=((o=t==null?void 0:t.dataset)==null?void 0:o.type)==="single_option";i==null||i.classList.remove(this.filterGridItemClass+(s?"":"--invisible")),i==null||i.classList.add(this.filterGridItemClass+(s?"--invisible":"")),l==null||l.classList.remove(this.filterGridItemClass+(s?"":"--invisible")),l==null||l.classList.add(this.filterGridItemClass+(s?"--invisible":""))}
1closeMobileAndOpenDesktopSelects(e){e.querySelectorAll(`${this.selectWrapperSelector} ${this.checkboxLevel1Selector}`).forEach(i=>i.checked=window.innerWidth<768)}handleWindowResize(e){window.addEventListener("resize",u(()=>{this.closeMobileAndOpenDesktopSelects(e)},150))}bindOutsideClick(e){m.outsideClick(e,()=>{this.closeSelect(e)},{once:!0})}setQuery(e,t){var o;const i=e.querySelector(`${this.optionsSelectSelector} a.${this.optionActiveClass}`),l=new URL(window.location.href),s=[i.dataset.key,t];(o=i.dataset)!=null&&o.parentKey&&s.unshift(i.dataset.parentKey),s.map((a,r)=>l.searchParams.set(`filter[${r}]`,a)),window.history.replaceState(null,null,l)}async fetchOptions(e,t){return this.fetch("examination_sample_options",e,t)}async fetchSamples(e,t){return this.fetch("examination_samples",e,t)}async fetch(e,t,i){try{const l=`${window.location.origin}/${e}/${i}/?key=${t}`,{data:s}=await d.get(l,m.getHeaders());return s==null?void 0:s.data}catch(l){console.error(l)}}}export{F 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.