PageSourceSearch

https://www.cheryindustrial.com/cdn/shop/t/26/assets/product-form.js?v=119157085313789796581783996065

js cheryindustrial.com collected 2026-10-04 05:02:31 UTC 7,764 bytes, 2 lines download raw bytes

1window.__oaiGetOppref=window.__oaiGetOppref||function(){try{const fromUrl=new URLSearchParams(window.location.search).get("oppref");if(fromUrl)return fromUrl;const m=document.cookie.match("(?:^|; )__oai_oppref=([^;]*)");return m?decodeURIComponent(m[1]):""}catch{return""}},customElements.get("product-form")||customElements.define("product-form",class extends HTMLElement{constructor(){super(),this.form=this.querySelector("form"),this.variantIdInput.disabled=!1,this.form.addEventListener("submit",this.onSubmitHandler.bind(this)),document.querySelector("product-bar-form")&&this.form.addEventListener("change",this.onChangeHandler.bind(this)),this.cart=document.querySelector("cart-notification")||document.querySelector("cart-drawer")||document.querySelector("cart-popup"),this.submitButton=this.querySelector('[type="submit"]'),this.submitButtonText=this.submitButton.querySelector("span"),(document.querySelector("cart-drawer")||document.querySelector("cart-popup"))&&this.submitButton.setAttribute("aria-haspopup","dialog"),this.hideErrors=this.dataset.hideErrors==="true"}updateSubmitButtonStatus(status){const productBarSubmitButton=document.getElementById(`ProductBarSubmitButton-${this.dataset.sectionId}`);if(status==="loading")this.submitButton.setAttribute("aria-disabled",!0),this.submitButton.classList.add("loading"),this.querySelector(".loading__spinner").classList.remove("hidden"),productBarSubmitButton&&(productBarSubmitButton.setAttribute("aria-disabled",!0),productBarSubmitButton.classList.add("loading"),productBarSubmitButton.querySelector(".loading__spinner").classList.remove("hidden"));else if(status==="error"){const soldOutMessage=this.submitButton.querySelector(".sold-out-message");soldOutMessage&&(this.submitButton.setAttribute("aria-disabled",!0),this.submitButtonText.classList.add("hidden"),soldOutMessage.classList.remove("hidden"));const productBarSoldOutMessage=productBarSubmitButton?.querySelector(".sold-out-message");productBarSoldOutMessage&&(productBarSubmitButton.setAttribute("aria-disabled",!0),productBarSubmitButton.querySelector("span")?.classList?.add("hidden"),productBarSoldOutMessage.classList.remove("hidden"))}else status==="finished"&&(this.submitButton.classList.remove("loading"),this.error||this.submitButton.removeAttribute("aria-disabled"),this.querySelector(".loading__spinner").classList.add("hidden"),productBarSubmitButton&&(productBarSubmitButton.classList.remove("loading"),this.error||productBarSubmitButton.removeAttribute("aria-disabled"),productBarSubmitButton.querySelector(".loading__spinner").classList.add("hidden")))}onSubmitHandler(evt){if(evt.preventDefault(),this.submitButton.getAttribute("aria-disabled")==="true")return;this.handleErrorMessage(),this.updateSubmitButtonStatus("loading");const config=fetchConfig("javascript");config.headers["X-Requested-With"]="XMLHttpRequest",delete config.headers["Content-Type"];const formData=new FormData(this.form),oaiOppref=window.__oaiGetOppref&&window.__oaiGetOppref();if(oaiOppref&&!formData.has("attributes[oppref]")&&formData.append("attributes[oppref]",oaiOppref),this.cart){formData.append("sections",[formData.get("section-id"),...this.cart.getSectionsToRender().map(section=>section.id)]),formData.delete("section-id");const parts=window.location.pathname.split("/"),pathnames=[];if(parts[0]==="products")pathnames.push(...parts);else{let isPush=!1;for(let i=0;i<parts.length;i++)parts[i]==="products"&&(isPush=!0),isPush&&pathnames.push(parts[i])}formData.append("sections_url",`/${pathnames.join("/")}`),this.cart.setActiveElement(document.activeElement)}config.body=formData,fetch(`${routes.cart_add_url}`,config).then(response=>response.json()).then(response=>{if(response.status){publish(PUB_SUB_EVENTS.cartError,{source:"product-form",productVariantId:formData.get("id"),errors:response.errors||response.description,message:response.message}),this.handleErrorMessage(response.description),this.updateSubmitButtonStatus("error"),this.error=!0;return}else if(!this.cart){window.location=window.routes.cart_url;return}const startMarker=CartPerformance.createStartingMarker("add:wait-for-subscribers");this.error||publish(PUB_SUB_EVENTS.cartUpdate,{source:"product-form",productVariantId:formData.get("id"),cartData:response})?.then(()=>{CartPerformance.measureFromMarker("add:wait-for-subscribers",startMarker)}),this.error=!1;const quickAddModal=this.closest("quick-add-modal");quickAddModal?(document.body.addEventListener("modalClosed",()=>{setTimeout(()=>{CartPerformance.measure("add:paint-updated-sections",()=>{this.cart.renderContents(response)})})},{once:!0}),quickAddModal.hide(!0)):CartPerformance.measure("add:paint-updated-sections",()=>{this.cart.renderContents(response)})}).catch(e=>{console.error(e)}).finally(()=>{this.cart&&this.cart.classList.contains("is-empty")&&this.cart.classList.remove("is-empty"),this.updateSubmitButtonStatus("finished"),CartPerformance.measureFromEvent("add:user-action",evt)})}onChangeHandler(evt){const{name,value}=evt.target,{sectionId}=this.dataset;if(name==="quantity"){const quantityInput=document.querySelector(`input[form="product-bar-form-${sectionId}"][name="quantity"]`);quantityInput&&quantityInput.value!==value&&(quantityInput.value=value)}}handleErrorMessage(errorMessage=!1){this.hideErrors||(this.errorMessageWrapper=this.errorMessageWrapper||this.querySelector(".product-form__error-message-wrapper"),this.errorMessageWrapper&&(this.errorMessage=this.errorMessage||this.errorMessageWrapper.querySelector(".product-form__error-message"),this.errorMessageWrapper.toggleAttribute("hidden",!errorMessage),errorMessage&&(this.errorMessage.textContent=errorMessage)))}toggleSubmitButton(disable=!0,text){disable?(this.submitButton.setAttribute("disabled","disabled"),text&&(this.submitButtonText.textContent=text)):(this.submitButton.removeAttribute("disabled"),this.submitButtonText.textContent=window.variantStrings.addToCart)}get variantIdInput(){return this.form.querySelector("[name=id]")}}),customElements.get("product-bar-form")||customElements.define("product-bar-form",class extends HTMLElement{constructor(){super(),this.form=this.querySelector("form"),this.form.addEventListener("submit",this.onSubmitHandler.bind(this)),this.form.addEventListener("change",this.onChangeHandler.bind(this)),this.submitButton=this.querySelector('[type="submit"]'),this.submitButtonText=this.submitButton.querySelector("span"),this.onVariantChangeUnsubscriber=subscribe(PUB_SUB_EVENTS.optionValueSelectionChange,this.handleOptionValueChange.bind(this))}onSubmitHandler(evt){evt.preventDefault();const{sectionId}=this.dataset,submitButton=document.getElementById(`product-form-${sectionId}`).querySelector('[type="submit"]');submitButton&&submitButton.click()}handleOptionValueChange({data:{event,target,selectedOptionValues}}){const{name,value}=target,select=this.querySelector(`select[name="${name}"]`);select&&select.value!==value&&(select.value=value)}onChangeHandler(evt){const{name,value}=evt.target,{sectionId}=this.dataset;if(name==="quantity"){const quantityInput=document.querySelector(`[form="product-form-${sectionId}"][name="quantity"]`);quantityInput&&quantityInput.value!==value&&(quantityInput.value=value)}else{const option=document.querySelector(`[form="product-form-${sectionId}"][name="${name}"][value="${value}"]`);option&&!option.checked&&option.click()}}toggleSubmitButton(disable=!0,text){disable?(this.submitButton.setAttribute("disabled","disabled"),text&&(this.submitButtonText.textContent=text)):(this.submitButton.removeAttribute("disabled"),this.submitButtonText.textContent=window.variantStrings.addToCart)}handleErrorMessage(errorMessage=!1){}});
2//# sourceMappingURL=/cdn/shop/t/26/assets/product-form.js.map?v=119157085313789796581783996065

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.