{"version":3,"file":"Assets_js_modules_add-to-cart_js.e59b02769190b70c3366.js","mappings":";;;;;;;;;;;;;AAAmD;AACxB;AAE3B,MAAME,SAAS,GAAG,CAAC,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,cAAc,CAAC,CAAC;AAEhEF,SAAS,CAACG,OAAO,CAAEC,IAAI,IAAK;EAAA,IAAAC,aAAA,EAAAC,cAAA;EAC1B,MAAMC,QAAQ,GAAGH,IAAI,CAACI,QAAQ;EAC9B,MAAMC,YAAY,GAAGL,IAAI,CAACM,gBAAgB;EAC1C,MAAMC,SAAS,GAAGP,IAAI,CAACQ,aAAa,CAAC,QAAQ,CAAC,MAAAP,aAAA,GAAID,IAAI,CAACS,OAAO,CAAC,IAAI,CAAC,cAAAR,aAAA,uBAAlBA,aAAA,CAAoBS,sBAAsB,CAACF,aAAa,CAAC,QAAQ,CAAC;EACpH,MAAMG,OAAO,GAAGX,IAAI,CAACQ,aAAa,CAAC,WAAW,CAAC,MAAAN,cAAA,GAAIF,IAAI,CAACS,OAAO,CAAC,IAAI,CAAC,cAAAP,cAAA,uBAAlBA,cAAA,CAAoBQ,sBAAsB,CAACF,aAAa,CAAC,WAAW,CAAC,KAAIX,QAAQ,CAACW,aAAa,CAAC,WAAW,CAAC;EAC/JH,YAAY,CAACO,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAC5C,IAAIC,cAAc,GAAGR,YAAY,CAACS,OAAO,CAACT,YAAY,CAACU,aAAa,CAAC;IACrE,IAAIR,SAAS,EAAE;MACb,IAAIS,KAAK,GAAGH,cAAc,CAACI,OAAO,CAACD,KAAK;MACxC,IAAIA,KAAK,IAAI,IAAI,EAAE;QACjBT,SAAS,CAACW,SAAS,GAAGF,KAAK;MAC7B;IACF;IACA,IAAIL,OAAO,EAAE;MACX,IAAIQ,GAAG,GAAGN,cAAc,CAACI,OAAO,CAACE,GAAG;MACpC,IAAIA,GAAG,IAAI,IAAI,EAAE;QACfR,OAAO,CAACO,SAAS,GAAGC,GAAG;MACzB;IACF;EACF,CAAC,CAAC;EAEFnB,IAAI,CAACY,gBAAgB,CAAC,QAAQ,EAAGQ,CAAC,IAAK;IACrCA,CAAC,CAACC,cAAc,CAAC,CAAC;IAElB,IAAIC,QAAQ,GAAGC,WAAW,CAACvB,IAAI,CAAC;IAChCL,oDAAQ,CAAC,iBAAiB,EAAE2B,QAAQ,CAAC;IAErC5B,8DAAW,CAAC+B,SAAS,CAACH,QAAQ,CAAC,CAACI,IAAI,CAAC,MAAM;MACzCvB,QAAQ,CAACwB,KAAK,GAAG,IAAI;IACvB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAMJ,WAAW,GAAIvB,IAAI,IAAK;EAC5B,MAAM4B,IAAI,GAAG,IAAIC,QAAQ,CAAC7B,IAAI,CAAC;EAC/B,OAAO8B,KAAK,CAACC,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC,CAACC,MAAM,CAAC,CAACC,MAAM,EAAEC,GAAG,KAAK;IACrDD,MAAM,CAACC,GAAG,CAAC,GAAGP,IAAI,CAACQ,GAAG,CAACD,GAAG,CAAC;IAC3B,OAAOD,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC","sources":["webpack://modellsite.web/./Assets/js/modules/add-to-cart.js"],"sourcesContent":["import CartService from \"../services/cart.service\";\r\nimport log from \"loglevel\";\r\n\r\nconst cartForms = [...document.querySelectorAll(\".add-to-cart\")];\r\n\r\ncartForms.forEach((form) => {\r\n const qtyField = form.Quantity;\r\n const variantField = form.ProductReference;\r\n const priceText = form.querySelector(\".price\") || form.closest(\"tr\")?.previousElementSibling.querySelector(\".price\");\r\n const skuText = form.querySelector(\".sku-info\") || form.closest(\"tr\")?.previousElementSibling.querySelector(\".sku-info\") || document.querySelector(\".sku-info\");\r\n variantField.addEventListener(\"change\", () => {\r\n var variantOptions = variantField.options[variantField.selectedIndex];\r\n if (priceText) {\r\n var price = variantOptions.dataset.price;\r\n if (price != null) {\r\n priceText.innerText = price;\r\n }\r\n }\r\n if (skuText) {\r\n var sku = variantOptions.dataset.sku;\r\n if (sku != null) {\r\n skuText.innerText = sku;\r\n }\r\n }\r\n });\r\n\r\n form.addEventListener(\"submit\", (e) => {\r\n e.preventDefault();\r\n\r\n let formData = getFormJSON(form);\r\n log.info(\"Adding to cart:\", formData);\r\n\r\n CartService.AddToCart(formData).then(() => {\r\n qtyField.value = null;\r\n });\r\n });\r\n});\r\n\r\nconst getFormJSON = (form) => {\r\n const data = new FormData(form);\r\n return Array.from(data.keys()).reduce((result, key) => {\r\n result[key] = data.get(key);\r\n return result;\r\n }, {});\r\n};\r\n"],"names":["CartService","log","cartForms","document","querySelectorAll","forEach","form","_form$closest","_form$closest2","qtyField","Quantity","variantField","ProductReference","priceText","querySelector","closest","previousElementSibling","skuText","addEventListener","variantOptions","options","selectedIndex","price","dataset","innerText","sku","e","preventDefault","formData","getFormJSON","info","AddToCart","then","value","data","FormData","Array","from","keys","reduce","result","key","get"],"sourceRoot":""}