PageSourceSearch

https://www.prairiemoon.com/mm5/themes/genesis/branches/production…/dist/5058.d953fd444a262995c53b.chunk.js

js prairiemoon.com collected 2026-09-24 09:00:51 UTC 5,216 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunk_mvps_genesis_quickstart_theme=self.webpackChunk_mvps_genesis_quickstart_theme||[]).push([[5058],{5058:(s,e,t)=>{t.d(e,{AjaxMultiAddToCart:()=>a});var o=t(1559),r=t(7889),i=t(4191);class a{#s;formElements;submitButtonElement;processingButtonText;successMessage;errorMessage;errorMessageSelector;otherMessage;messageContainer;submitButtonTextProperty;submitButtonText;scrollToMessage;successMessages;errorMessages;constructor(s){let{errorMessage:e={message:"Item(s) could not be added to cart.",options:{autohide:!1,type:"warning"}},errorMessageSelector:t=".g-messages--error",otherMessage:r={message:"Please review your selection.",options:{autohide:!0,type:"warning"}},processingButtonText:a="Processing...",responseMessageElement:n="#js-add-to-cart-message",scrollToMessage:c=!1,scrollToMessageOptions:u={behavior:"smooth",block:"center"},submitButtonElement:l=".js-add-to-cart",successMessage:h={message:"Item(s) added to cart.",options:{autohide:!0,type:"success"}}}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.#s=new o.A(this),this.formElements=this.#s.isArray("formElements",s),this.messageContainer=new i.MessageContainer({container:this.#s.isElement("options.responseMessageElement",n)}),this.errorMessage=this.#s.isObject("options.errorMessage",e),this.errorMessageSelector=this.#s.isString("options.errorMessageSelector",t),this.otherMessage=this.#s.isObject("options.otherMessage",r),this.successMessage=this.#s.isObject("options.successMessage",h),this.successMessages=[],this.errorMessages=[],this.submitButtonElement=this.#s.isElement("options.submitButtonElement",l,{container:this.formElement}),this.submitButtonTextProperty=this.submitButtonElement instanceof HTMLButtonElement?"textContent":"value",this.submitButtonText=this.submitButtonElement[this.submitButtonTextProperty],this.processingButtonText=this.#s.isString("options.processingButtonText",a),this.scrollToMessage={mode:this.#s.inSet("options.scrollToMessage",c,[!0,!1,"success","error"]),scrollIntoView:this.#s.isObject("options.scrollToMessageOptions",u)},this.bindEvents()}bindEvents(){this.submitButtonElement.addEventListener("click",this.onSubmit.bind(this),!1)}async onSubmit(s){s.preventDefault(),s.stopImmediatePropagation(),this.messageContainer.clear();let e={data:null,iterations:[],messages:{errors:[],success:[]},success:!1};const t=new FormData;let o=1;if(this.formElements.forEach((s=>{const r=new FormData(s),i=parseInt(r.get("Quantity"),10);isNaN(i)||i<1||(e.iterations.push({form:s,formData:r}),t.append(`Products[${o}]:quantity`,i),t.append(`Products[${o}]:code`,r.get("Product_Code")),t.append(`Products[${o}]:attributes[1]:code`,r.get("Product_Attributes[1]:code")),t.append(`Products[${o}]:attributes[1]:value`,r.get("Product_Attributes[1]:value")),o++)})),!0===t.entries().next().done)return void this.messageContainer.add(new i.Message("Please select product(s) to add to cart your cart.",{...this.errorMessage.options,autohide:!0}));t.append("Action","ADPM");const a=this.submitButtonElement?.dataset.action??`${window.mivaJS?.Basket_Url}ajax=1`,n=new Request(a,{body:t,method:"POST"});e.request=n,this.submitButtonElement.disabled=!0,this.submitButtonElement[this.submitButtonTextProperty]=this.processingButtonText;const c=await fetch(n);if(c.ok){const s=await c.text(),t=(new DOMParser).parseFromString(s,"text/html"),o=c.headers.get("g-mm-page-code");if(e.data=t,this.submitButtonElement.disabled=!1,this.submitButtonElement[this.submitButtonTextProperty]=this.submitButtonText,"BASK"===o){e.success=!0,this.onSuccess();const s=this.getErrorMessage(e.data);if(""===s)this.messageContainer.add(new i.Message(this.successMessages.join("<br>"),this.successMessage.options)),this.formElements.forEach((s=>{const e=s.querySelector('input[name="Quantity"]');e&&(e.value=0,e.dispatchEvent(new Event("change",{bubbles:!0})))}));else{this.errorMessages.push(s);const e=`The following issues occurred:<br><strong>${this.errorMessages.join("<br>")}</strong><br>Please review your cart.`;this.messageContainer.add(new i.Message(e,this.errorMessage.options))}}else this.onOther();e.messages.errors=this.errorMessages,e.messages.success=this.successMessages,this.handleScrollToMessage(0===this.errorMessages.length)}else{const s=`${this.constructor.name} - The request failed with a status of: ${c.status}`;e.messages.errors.push=s}this.submitButtonElement.disabled=!1,this.submitButtonElement[this.submitButtonTextProperty]=this.submitButtonText,this.successMessages=[],this.errorMessages=[],r.default.dispatchEvent("MVPS:multiAddToCart",e)}handleScrollToMessage(s){if(!1===this.scrollToMessage.mode)return;this.#s.isBoolean("handleScrollToMessage.isSuccess",s);let e=!0===this.scrollToMessage.mode;!e&&(s&&"success"===this.scrollToMessage.mode||!s&&"error"===this.scrollToMessage.mode)&&(e=!0),e&&this.messageContainer.container.scrollIntoView(this.scrollToMessage.scrollIntoView)}onSuccess(){this.successMessages.push(this.successMessage.message)}onOther(){this.errorMessages.push(this.otherMessage.message)}getErrorMessage(s){const e=s.querySelector(this.errorMessageSelector);return e?e.innerHTML:""}}}}]);
2//# sourceMappingURL=5058.d953fd444a262995c53b.chunk.js.map

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.