{"version":3,"sources":["webpack:///./src/js/abstracts/BaseComponent.js","webpack:///./src/js/libs/Axios.js","webpack:///./src/js/utilities/DataLayer.js","webpack:///./src/js/components/AddToWishlistComponent.js"],"names":["BaseComponent","element","_componentElement","setAttribute","this","compOptions","options","$el","dataset","Object","keys","filter","entry","includes","forEach","optionValue","cleanEntry","cleanOptionKey","JSON","parse","replace","e2","convertType","e","console","error","Freeze","getAttribute","events","cb","elements","Bean","on","stopPropagation","one","off","fire","container","message","EMIT","CUSTOM_MESSAGES","LOADER_EVENTS","show","icon","hide","option","optionReturn","Number","key","str","charAt","toLocaleLowerCase","slice","CommonInterface","recaptchaToken","a","googleRecaptchaAction","googleRecaptchaClientSide","Promise","resolve","reject","window","grecaptcha","ready","execute","action","then","token","axios","Axios","create","transformRequest","data","headers","entries","formData","FormData","value","append","interceptors","request","use","config","googleRecaptchaToken","CancelToken","get","post","all","spread","DataLayerUtils","push","dataLayer","AddToWishlistComponent","isInWishlist","$options","inwishlist","handleClick","SELECT_SIZE_EVENTS","selectedWishlist","setSize","selected","ADD_TO_WISHLIST_EVENTS","add","addToWishlistFromLayer","MODAL_EVENTS","afterClose","cleanSize","sizesModal","pid","modalAdd","full","size","sizeSelected","startsWith","log","checkIsLayer","inWishlist","changeStatus","params","success","quantity","remove","res","productId","split","splice","join","exist","itemExists","length","removed","button","addToWishlist","reqPid","pidWishlist","hasSize","wishlistId","document","querySelector","CLASSES","classList","added","event","gaHitType","eventCategory","eventAction","pageType","eventLabel","$on","cart","selector","SELECTORS","className","removeFromWishlist","modified","endLoading","successmessage","setTimeout","close","Boolean","confirmLayerButton"],"mappings":"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","file":"js/component-AddToWishlistComponent-js.chunks.js","sourcesContent":["\nimport Bean from 'bean';\nimport Freeze from '../utilities/Freeze';\nimport CommonInterface from './CommonInterface';\n\nexport default class BaseComponent extends CommonInterface {\n get $el() {\n return this._componentElement;\n }\n\n get $options() {\n const compOptions = {};\n const options = { ...this.$el.dataset };\n const optionsEntires = Object.keys(options).filter(entry => entry.includes('option'));\n optionsEntires.forEach((entry) => {\n try {\n const cleanEntry = BaseComponent.cleanOptionKey(entry);\n let optionValue;\n if (options[entry].includes('{') && options[entry].includes('}')) {\n\n // PDB-786 JSON.parse(\"{\\\"address1\\\":\\\"2 Rue d'Orsel\\\"}\".replace(/'/g, '\"')) => SyntaxError: Unexpected token O in JSON at position 21\n try {\n optionValue = JSON.parse(options[entry].replace(/'/g, '\"'));\n } catch (e2) {\n optionValue = JSON.parse(options[entry]);\n }\n\n } else {\n optionValue = BaseComponent.convertType(options[entry]);\n }\n compOptions[cleanEntry] = optionValue;\n } catch (e) {\n console.error('get $options() from component => ', this._componentElement, e);\n }\n });\n return Freeze(compOptions);\n }\n\n get COMPONENT_NAME() {\n return this.$el.getAttribute('data-component');\n }\n\n /**\n *\n * constructor\n *\n * @param {Element} element\n */\n constructor(element) {\n super();\n this._componentElement = element;\n this._componentElement.setAttribute('data-component-init', true);\n }\n\n static convertType(option) {\n let optionReturn;\n if (Number(option)) return Number(option);\n switch (option) {\n case 'false':\n optionReturn = false;\n break;\n case 'true':\n optionReturn = true;\n break;\n case 'null':\n optionReturn = null;\n break;\n default:\n optionReturn = option;\n break;\n }\n\n return optionReturn;\n }\n\n static cleanOptionKey(key) {\n const str = key.replace('option', '');\n const cleanedKey = `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\n return cleanedKey;\n }\n\n /**\n *\n * $on\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n * @param {Array|String|Element} [elements = null]\n */\n $on(events, cb, element = this.$el, elements = null) {\n if (!element || !events || !cb) return;\n if (!elements) {\n Bean.on(element, events, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n } else {\n Bean.on(element, events, elements, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n }\n }\n\n /**\n *\n * $one\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n */\n $one(events, cb, element = this.$el) {\n Bean.one(element, events, cb);\n }\n\n /**\n *\n * $off\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $off(events, element = this.$el) {\n Bean.off(element, events);\n }\n\n /**\n *\n * $fire\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $fire(events, element = this.$el) {\n Bean.fire(element, events);\n }\n\n /**\n *\n * @param {HTMLElement} [container]\n */\n loading(container, message) {\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.show, {\n container: container || this.$el,\n message\n });\n }\n\n /**\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n * @param {String} [icon]\n * @param {Boolean} [error=false]\n */\n endLoading(container, message, error = false, icon) {\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.hide, {\n container: container || this.$el,\n message,\n icon,\n error\n });\n }\n}\n","import Axios from 'axios';\n\nconst recaptchaToken = async ({ googleRecaptchaAction, googleRecaptchaClientSide }) => new Promise((resolve, reject) => {\n window.grecaptcha.ready(() => {\n window.grecaptcha.execute(googleRecaptchaClientSide, { action: googleRecaptchaAction }).then((token) => {\n resolve(token);\n });\n });\n});\n\nconst axios = Axios.create({\n transformRequest: [function (data, headers) {\n if (data && Object.entries(data)) {\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)) {\n formData.append(key, value);\n }\n return formData;\n }\n }],\n});\n\n// Add a request interceptor\naxios.interceptors.request.use(async (config) => {\n // Do something before request is sent\n if (config.data && config.data.googleRecaptchaAction && config.data.googleRecaptchaClientSide) {\n const token = await recaptchaToken(config.data);\n config.data.googleRecaptchaToken = token;\n return config;\n }\n return config;\n}, function (error) {\n // Do something with request error\n return Promise.reject(error);\n});\n\nexport const { CancelToken } = Axios;\n\nexport const {\n get, post, all, spread\n} = axios;\n","export const DataLayerUtils = {\n push(data) {\n window.dataLayer.push(data);\n }\n}\n","import { post, get } from '../libs/Axios';\nimport { DataLayerUtils } from '../utilities/DataLayer';\nimport BaseComponent from '../abstracts/BaseComponent';\n\nexport default class AddToWishlistComponent extends BaseComponent {\n get Messages() {\n return {\n [this.CUSTOM_MESSAGES.SELECT_SIZE_EVENTS.selectedWishlist]: this.setSize,\n [this.CUSTOM_MESSAGES.SELECT_SIZE_EVENTS.selected]: this.setSize,\n [this.CUSTOM_MESSAGES.ADD_TO_WISHLIST_EVENTS.add]: this.addToWishlistFromLayer,\n [this.CUSTOM_MESSAGES.MODAL_EVENTS.afterClose]: this.cleanSize,\n };\n }\n\n get SELECTORS() {\n return {\n sizesModal: `#js-wishlist-sizes-${this.$options.pid}`,\n modalAdd: '.js-add-to-wishlist'\n };\n }\n\n get CLASSES() {\n return {\n full: 'is-full',\n error: '.js-error'\n };\n }\n\n constructor(element) {\n super(element);\n this.isInWishlist = this.$options.inwishlist;\n this.handleClick();\n }\n\n cleanSize() {\n this.size = null;\n }\n\n setSize({ sizeSelected, pid }) {\n if (pid && pid.startsWith(this.$options.pid)) {\n console.log('setsize => ', this.$options.pid);\n this.size = sizeSelected;\n this.checkIsLayer();\n this.inWishlist().then((inWishlist) => {\n this.changeStatus(inWishlist);\n });\n }\n }\n\n async add(params) {\n let success = false;\n try {\n const { data } = await post(this.$options.add, {\n ...params,\n quantity: 1\n });\n success = data.success;\n } catch (error) {\n console.error(error);\n }\n\n return success;\n }\n\n async remove(params) {\n let success = false;\n try {\n const { data } = await get(this.$options.remove, {\n params,\n });\n success = data.success;\n } catch (error) {\n console.error(error);\n }\n\n return success;\n }\n\n async inWishlist() {\n let res = false;\n try {\n const productId = this.$options.pid.split('_').splice(0, 2).join('_');\n const pid = `${productId}_${this.size}_4`;\n const { data } = await get(this.$options.exist, {\n params: {\n pid\n }\n });\n res = data.itemExists;\n } catch (err) {\n console.error(err);\n }\n return res;\n }\n\n async removeFromWishlist() {\n const productId = this.$options.pid.split('_').length === 3 ? this.$options.pid : this.$options.pid.split('_').splice(0, 2).join('_');\n const pid = `${productId}${this.size ? `_${this.size}` : ''}`;\n const removed = await this.remove({ pid, quantity: 1 });\n this.changeStatus(!removed);\n }\n\n addToWishlistFromLayer({ pid, button }) {\n if (pid.startsWith(this.$options.pid)) {\n this.addToWishlist(pid, button);\n }\n }\n\n async addToWishlist(pid, button) {\n const reqPid = pid || this.$options.pid;\n const productId = reqPid.split('_').length === 3 ? reqPid : reqPid.split('_').splice(0, 2).join('_');\n const pidWishlist = `${productId}${this.size ? `_${this.size}` : ''}`;\n const hasSize = this.$options.pid.split('_').length >= 3;\n this.wishlistId = productId.split('_').join('|');\n if (!this.size && !hasSize) {\n const modal = document.querySelector('.vex');\n const sizeInput = modal.querySelector(this.CLASSES.error);\n sizeInput.classList.remove('hide');\n } else {\n const added = await this.add({ pid: pidWishlist });\n this.changeStatus(added, button);\n if (added) {\n DataLayerUtils.push({\n event: 'asyncAction',\n gaHitType: 'event',\n eventCategory: 'add_to_wishlist',\n eventAction: window.dataLayer[0].pageType,\n eventLabel: productId.split('_').join('|') // var nr. 18,21\n });\n }\n }\n }\n\n handleClick() {\n this.$on('click', async (e) => {\n try {\n if (!this.$options.cart) {\n const hasSize = this.$options.pid.split('_').length >= 3;\n if (!this.size && !hasSize) {\n this.EMIT(this.CUSTOM_MESSAGES.MODAL_EVENTS.show, {\n selector: this.SELECTORS.sizesModal,\n className: 'modal-50 not-full-height'\n });\n } else {\n const inWishlist = await this.inWishlist();\n if (inWishlist) {\n this.removeFromWishlist();\n } else {\n this.addToWishlist();\n }\n }\n } else if (this.$options.cart) {\n if (this.isInWishlist) {\n this.removeFromWishlist(this.$options.pid).then(() => {\n this.isInWishlist = false;\n });\n } else {\n this.addToWishlist(this.$options.pid).then(() => {\n this.isInWishlist = true;\n });\n }\n }\n\n\n // if (this.inWishlist()) {\n // success = await this.remove();\n // } else {\n // this.EMIT(this.CUSTOM_MESSAGES.MODAL_EVENTS.show, {\n // selector: this.SELECTORS.sizesModal,\n // className: 'modal-50 not-full-height'\n // });\n // }\n } catch (error) {\n console.error(error);\n }\n });\n }\n\n changeStatus(inWishlist, button) {\n this.$el.setAttribute('data-in-wishlist', inWishlist);\n this.$el.classList[inWishlist ? 'add' : 'remove'](this.CLASSES.full);\n this.EMIT(this.CUSTOM_MESSAGES.ADD_TO_WISHLIST_EVENTS.modified, {\n pid: this.wishlistId\n });\n if (button && inWishlist) this.endLoading(button, this.$options.successmessage);\n if (inWishlist) setTimeout(() => { this.EMIT(this.CUSTOM_MESSAGES.MODAL_EVENTS.close); }, 1000);\n }\n\n getEndpoint() {\n const isInWishlist = Boolean(this.$el.getAttribute('data-in-wishlist'));\n\n return this.$options[isInWishlist ? 'remove' : 'add'];\n }\n\n checkIsLayer() {\n var confirmLayerButton = document.querySelector('[data-component=\"AddToWishlistLayer\"]');\n if (confirmLayerButton) {\n confirmLayerButton.classList.remove('disabled');\n }\n }\n}\n"],"sourceRoot":""}