{"version":3,"file":"default/js/product/productset.js","mappings":"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","sources":["webpack://sfra-cisalfa/./cartridges/app_custom_cisalfa/cartridge/client/default/js/product/productSetAddToCartModal.js","webpack://sfra-cisalfa/./cartridges/app_storefront_base/cartridge/client/default/js/util.js","webpack://sfra-cisalfa/webpack/bootstrap","webpack://sfra-cisalfa/./cartridges/app_custom_cisalfa/cartridge/client/default/js/product/productset.js"],"sourcesContent":["'use strict'\n\nconst SELECTORS = {\n element: '.js-modal-pset',\n backButtonModal: '.js-button-back-pset',\n confirmButtonModal: '.js-button-confirm-pset',\n addToCartButtonModal: '.js-button-addcart-pset',\n modalPage: '.js-modal-page',\n buttonAddToCartGlobal: '.js-button-addcart-pset .add-to-cart-global'\n}\n\nclass ProductSetModal {\n constructor(element) {\n this.element = element;\n this.backButtonModal = element.find(SELECTORS.backButtonModal);\n this.confirmButtonModal = element.find(SELECTORS.confirmButtonModal);\n this.addToCartButtonModal = element.find(SELECTORS.addToCartButtonModal);\n this.buttonAddToCartGlobal = element.find(SELECTORS.buttonAddToCartGlobal);\n this.pages = element.find(SELECTORS.modalPage)\n this.initEvents();\n }\n\n initEvents() {\n this.pages.hide();\n this.pages.eq(0).show();\n let page_track = 0;\n this.backButtonModal.attr(\"style\",\"display: none;\");\n this.addToCartButtonModal.attr(\"style\",\"display: none;\");\n this.confirmButtonModal.on('click', (e) => {\n if (this.checkSelections(page_track, this.pages)) {\n $(this).trigger('blur');\n\n if(page_track == 0) {\n this.backButtonModal.show();\n }\n\n if(page_track == this.pages.length-2) {\n this.confirmButtonModal.hide();\n this.addToCartButtonModal.show();\n this.buttonAddToCartGlobal.prop(\"disabled\", false); \n this.updateProductSetPrice(this.pages);\n }\n\n if(page_track < this.pages.length-1){\n this.updateRecapModalPage(page_track, this.pages);\n page_track++;\n this.pages.hide();\n this.pages.eq(page_track).show();\n }\n } \n });\n\n this.backButtonModal.on('click', (e) => {\n if(page_track == 1) {\n this.backButtonModal.hide();\n }\n\n if(page_track == this.pages.length-1) {\n this.confirmButtonModal.show();\n this.addToCartButtonModal.hide();\n }\n\n if(page_track > 0) {\n page_track--;\n\n this.pages.hide();\n this.pages.eq(page_track).show();\n }\n });\n\n var $this = this;\n\n $('body').on('product:afterAddToCart', function () {\n $this.closeModal();\n });\n $('body').on('product:afterAttributeSelect', function (e, response) {\n $this.updateProductVariationImage(e, response);\n });\n \n }\n \n checkSelections(page_track, pages) {\n var page = pages.eq(page_track);\n var size_variations = page.find('.size-value');\n var color_variations = page.find('.color-value');\n\n var size_var_selected = false;\n for (var i = 0; i < size_variations.length; i++) {\n if (size_variations[i].classList.contains('selected')) {\n size_var_selected = true;\n }\n }\n \n var color_var_selected = false;\n for (var i = 0; i < color_variations.length; i++) {\n if (color_variations[i].classList.contains('selected')) {\n color_var_selected = true;\n }\n }\n\n return size_var_selected && color_var_selected;\n }\n\n updateRecapModalPage(page_track, pages) {\n var recap_page_index = pages.length - 1;\n var page = pages.eq(page_track);\n var recapPage = pages.eq(recap_page_index);\n\n var color_variation = page.find('.color-value.selected').closest('.color-attribute');\n var color_variation_imgUrl = color_variation.attr('data-image');\n var size_variation_text = page.find('.size-value.selected').attr('data-attr-value');\n\n recapPage.find('.color-image-recap-index-' + page_track).attr('src', color_variation_imgUrl);\n recapPage.find('.size-recap-index-' + page_track).text(size_variation_text);\n }\n\n updateProductSetPrice(pages) {\n var updatePsPriceURL = $('.recap-page').attr('data-ps-price-update-url');\n var recap_page_index = pages.length - 1;\n var pSetIds = [];\n for (var i=0; i 0 ? response.data.product.images.large[0] : null;\n if (primaryImage && primaryImage.url) {\n response.container.find('#modal-product-image').attr('src', primaryImage.url);\n }\n }\n\n closeModal() {\n this.element.modal('hide');\n }\n}\n\n\nmodule.exports = () => {\n $(SELECTORS.element).each((index, element) => {\n new ProductSetModal($(element));\n });\n};","'use strict';\n\nmodule.exports = function (include) {\n if (typeof include === 'function') {\n include();\n } else if (typeof include === 'object') {\n Object.keys(include).forEach(function (key) {\n if (typeof include[key] === 'function') {\n include[key]();\n }\n });\n }\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","'use strict';\n\nvar processInclude = require('base/util');\n\n$(() => {\n processInclude(require('./productSetAddToCartModal'));\n});\n"],"names":["SELECTORS","ProductSetModal","constructor","element","this","backButtonModal","find","confirmButtonModal","addToCartButtonModal","buttonAddToCartGlobal","pages","initEvents","hide","eq","show","page_track","attr","on","e","checkSelections","$","trigger","length","prop","updateProductSetPrice","updateRecapModalPage","$this","closeModal","response","updateProductVariationImage","page","size_variations","color_variations","size_var_selected","i","classList","contains","color_var_selected","recap_page_index","recapPage","color_variation_imgUrl","closest","size_variation_text","text","updatePsPriceURL","pSetIds","currentProductId","push","form","JSON","stringify","ajax","url","method","data","success","psPriceHtml","replaceWith","error","primaryImage","product","images","large","container","modal","module","exports","each","index","include","Object","keys","forEach","key","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","processInclude","require"],"sourceRoot":""}