PageSourceSearch

https://www.shopdoen.com/cdn/shop/t/1660/assets/product-form.js?v=49287912098977962171790868494

js shopdoen.com collected 2026-10-02 16:48:46 UTC 4,436 bytes, 2 lines download raw bytes

1customElements.get("product-form")||customElements.define("product-form",class extends HTMLElement{constructor(){if(super(),console.log("TRIGGER!!"),this.form=this.querySelector("form"),this.querySelectorAll("form").forEach(form=>{form.querySelector("[name=id]").disabled=!1,form.addEventListener("submit",this.onSubmitHandler.bind(this))}),this.cartNotification=document.querySelector("cart-notification"),this.submitButtons=this.querySelectorAll('[type="submit"]'),this.submitButton=this.querySelector('[type="submit"]'),this.querySelector(".monogram-container")!=null){this.hasMonogram=!0,this.monogramInput=this.querySelector('input[name="properties[monogram]"]'),this.monogramTrigger=this.querySelector(".monogram-letter-trigger");var monogramContainer=this.querySelector(".monogram-container");document.body.addEventListener("click",function(){monogramContainer.querySelector(".monogram-letters").classList.contains("show")&&monogramContainer.querySelector(".monogram-letters").classList.remove("show")}),this.monogramTrigger.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),this.classList.remove("emphasize"),monogramContainer.querySelector(".monogram-letters").classList.add("show")}),monogramContainer.querySelectorAll(".monogram-select-letter").forEach(letter=>{letter.addEventListener("click",function(e){e.preventDefault(),monogramContainer.querySelector(".monogram-select-letter.selected")!=null&&monogramContainer.querySelector(".monogram-select-letter.selected").classList.remove("selected"),this.classList.add("selected"),monogramContainer.querySelector('input[name="properties[monogram]"]').value=this.dataset.letter})})}}onSubmitHandler(evt){if(evt.preventDefault(),this.submitButton.getAttribute("aria-disabled")==="true")return;if(this.submitButton.classList.contains("needs-monogram")&&this.hasMonogram&&this.monogramInput.value==""){this.monogramTrigger.classList.add("emphasize");return}this.handleErrorMessage(),this.cartNotification.setActiveElement(document.activeElement),this.submitButtons.forEach(submitButton=>{submitButton.setAttribute("aria-disabled",!0),submitButton.classList.add("loading")}),this.querySelector(".loading-overlay__spinner")?.classList.remove("hidden");const config=fetchConfig("javascript");config.headers["X-Requested-With"]="XMLHttpRequest",delete config.headers["Content-Type"];const formData=new FormData(this.form);formData.append("sections",this.cartNotification.getSectionsToRender().map(section=>section.id)),formData.append("sections_url",window.location.pathname),config.body=formData,fetch(`${routes.cart_add_url}`,config).then(response=>response.json()).then(response=>{if(response.status){if(this.handleErrorMessage(response.description),!this.submitButton.querySelector(".sold-out-message"))return;this.submitButtons.forEach(submitButton=>{submitButton.setAttribute("aria-disabled",!0),submitButton.querySelector("span").classList.add("hidden"),submitButton.querySelector(".sold-out-message").classList.remove("hidden")}),this.error=!0;return}const gwCustomerAccounts=document.querySelector("gw-customer-accounts");if(gwCustomerAccounts){const event=new CustomEvent("gw:saved-items-from-cart",{detail:{productId:this.form.querySelector('[name="product-id"]').value,variantId:this.form.querySelector('[name="id"]').value,target:evt.target,extra:response}});gwCustomerAccounts.dispatchEvent(event)}this.error=!1;const quickAddModal=this.closest("quick-add-modal");quickAddModal?(document.body.addEventListener("modalClosed",()=>{setTimeout(()=>{this.cartNotification.renderContents(response)})},{once:!0}),quickAddModal.hide(!0)):this.cartNotification.renderContents(response)}).catch(e=>{console.error(e)}).finally(()=>{this.submitButtons.forEach(submitButton=>{submitButton.classList.remove("loading"),this.error||submitButton.removeAttribute("aria-disabled")}),this.querySelector(".loading-overlay__spinner")?.classList.add("hidden")})}handleErrorMessage(errorMessage=!1){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))}});
2//# sourceMappingURL=/cdn/shop/t/1660/assets/product-form.js.map?v=49287912098977962171790868494

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.