PageSourceSearch

https://www.inkhub.com.au/cdn/shop/t/61/assets/quick-nav.js?v=24508425757934031831745987963

js inkhub.com.au collected 2026-09-24 18:35:37 UTC 4,824 bytes, 2 lines download raw bytes

1if(!customElements.get("quick-nav")){class QuickNav extends HTMLElement{constructor(){super(),this.childSelect=this.querySelector('custom-select[data-level="2"]'),this.grandchildSelect=this.querySelector('custom-select[data-level="3"]'),this.submitButton=this.querySelector(".js-submit"),this.priceRange=this.querySelector(".js-quick-nav-price"),this.addEventListener("change",this.handleQuickNavChange),this.addEventListener("click",this.handleQuickNavClick)}handleQuickNavClick(){const slideshowElem=this.closest("slide-show");if(slideshowElem&&slideshowElem.dataset.autoplay==="true"){const autoplayBtn=slideshowElem.querySelector(".autoplay-btn");autoplayBtn&&autoplayBtn.click()}}handleQuickNavChange(evt){if(evt.target.matches("custom-select")&&evt.detail.selectedValue){const selectedOption=evt.target.querySelector('[aria-selected="true"]');this.url=selectedOption.dataset.url,this.updateSubmitButton(selectedOption.dataset.url),selectedOption.dataset.isCollection?this.parseCollectionInfo(selectedOption.dataset.url):this.unparseCollectionInfo(),evt.target.dataset.level==="1"&&this.childSelect?(QuickNav.prepareSelect(this.childSelect,evt.detail.selectedValue),QuickNav.resetSelect(this.grandchildSelect,!0)):evt.target.dataset.level==="2"&&this.grandchildSelect&&QuickNav.prepareSelect(this.grandchildSelect,evt.detail.selectedValue)}else if(evt.target.closest(".price-range")){const priceRangeMin=this.priceRange.querySelector("[name='filter.v.price.gte']").value,priceRangeMax=this.priceRange.querySelector("[name='filter.v.price.lte']").value;let url=this.url;priceRangeMin&&(url=url.includes("?")?`${url}&`:`${url}?`,url+=`filter.v.price.gte=${priceRangeMin}`),priceRangeMax&&(url=url.includes("?")?`${url}&`:`${url}?`,url+=`filter.v.price.lte=${priceRangeMax}`),this.updateSubmitButton(url),this.parseCollectionInfo(url)}else QuickNav.resetSelect(evt.target,!1)}async parseCollectionInfo(url){this.submitButton.ariaDisabled="true",this.submitButton.classList.add("is-loading");let preventButtonEnable=!1;const response=await fetch(url);if(response.ok){const tmpl=document.createElement("template");tmpl.innerHTML=await response.text();const productsContainer=tmpl.content.querySelector("[data-num-results]");if(productsContainer){const numResults=parseInt(productsContainer.dataset.numResults,10);numResults===0?(this.submitButton.textContent=theme.strings.quickNav.show_products_none,preventButtonEnable=!0):numResults===1?this.submitButton.textContent=theme.strings.quickNav.button_one.replace("[quantity]",numResults):this.submitButton.textContent=theme.strings.quickNav.button_other.replace("[quantity]",numResults)}else console.warn("Enterprise Theme: An element with [data-num-results] could not be found on the product page.",url);if(this.dataset.showPrice){const priceRangeElem=tmpl.content.querySelector("price-range");if(priceRangeElem){this.priceRange.innerHTML=priceRangeElem.outerHTML;const maxHeight=this.priceRange.querySelector(".price-range").clientHeight;this.priceRange.style.maxHeight=`${parseInt(maxHeight,10)+1}px`}else console.warn("Enterprise Theme: No price ranger slider could be found for collection.",url)}}preventButtonEnable||this.submitButton.removeAttribute("aria-disabled"),this.submitButton.classList.remove("is-loading")}unparseCollectionInfo(){this.priceRange&&(this.priceRange.style.maxHeight="0px"),this.submitButton.textContent=theme.strings.quickNav.button_standard}static prepareSelect(selectElem,value){let hasOptions=!1,counter=0;selectElem.querySelectorAll(".custom-select__option:not(.quick-nav__default-option)").forEach(childLink=>{childLink.dataset.parentHandle===value?(hasOptions=!0,childLink.style.display="",counter+=1):childLink.style.display="none"}),selectElem.querySelector(".quick-nav__listbox").setAttribute("data-link-count",counter<5?counter:"loads"),QuickNav.resetSelect(selectElem,!hasOptions),hasOptions&&selectElem.querySelector(".custom-select__btn").removeAttribute("disabled")}updateSubmitButton(url){url&&url.length>0&&url!=="#"?(this.submitButton.href=url,this.submitButton.removeAttribute("aria-disabled")):(this.submitButton.href="#",this.submitButton.setAttribute("aria-disabled","true"))}static resetSelect(selectElem,disable){if(selectElem){selectElem.querySelector(".custom-select__listbox").removeAttribute("aria-activedescendant");const selectedOption=selectElem.querySelector('[aria-selected="true"]');selectedOption&&selectedOption.setAttribute("aria-selected","false");const label=selectElem.querySelector(".custom-select__btn span");label.textContent=label.dataset.defaultText,disable&&selectElem.querySelector(".custom-select__btn").setAttribute("disabled","disabled"),selectElem.init(
1)}}}customElements.define("quick-nav",QuickNav)}
2//# sourceMappingURL=/cdn/shop/t/61/assets/quick-nav.js.map?v=24508425757934031831745987963

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.