https://doorsdirect.co.za/cdn/shop/t/9/assets/block.product-buy-bu…?v=172670370528890752541787314520
1import Modals from"module.modal";import{EVENTS}from"util.events";import Drawers from"block.product-buy-buttons.drawers";import{executeJSmodules}from"util.misc";class StoreAvailability extends HTMLElement{constructor(){super(),this.selectors={drawerOpenBtn:".js-drawer-open-availability",modalOpenBtn:".js-modal-open-availability",productTitle:"[data-availability-product-title]"},this.baseUrl=this.dataset.baseUrl,this.productTitle=this.dataset.productName,this.variantId=this.dataset.variantId}connectedCallback(){this.abortController=new AbortController,this.hasAttribute("data-available")&&this.updateContent(this.variantId),document.addEventListener(`${EVENTS.variantChange}:${this.dataset.sectionId}:${this.dataset.productId}`,this.handleVariantChange.bind(this),{signal:this.abortController.signal})}handleVariantChange({detail}){const{variant,loading}=detail;if(!loading){if(!variant?.available){this.contentAbortController?.abort(),this.innerHTML="";return}this.updateContent(variant.id)}}updateContent(variantId){const variantSectionUrl=`${this.baseUrl}/variants/${variantId}/?section_id=store-availability`;this.contentAbortController?.abort(),this.contentAbortController=new AbortController,fetch(variantSectionUrl,{signal:this.contentAbortController.signal}).then(response=>response.text()).then(html=>{if(html.trim()===""){this.innerHTML="";return}this.innerHTML=html,this.innerHTML=this.firstElementChild.innerHTML,this.querySelector(this.selectors.drawerOpenBtn)&&(this.drawer=new Drawers("StoreAvailabilityDrawer","availability")),this.querySelector(this.selectors.modalOpenBtn)&&(this.modal=new Modals("StoreAvailabilityModal","availability"));const title=this.querySelector(this.selectors.productTitle);title&&(title.textContent=this.productTitle);const scripts=this.querySelectorAll('script[type="module"]');scripts.length&&executeJSmodules(scripts)}).catch(error=>{error.name!=="AbortError"&&console.error(error)})}}customElements.define("store-availability",StoreAvailability); 2//# sourceMappingURL=/cdn/shop/t/9/assets/block.product-buy-buttons.store-availability.js.map?v=172670370528890752541787314520
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.