{"version":3,"sources":["webpack:///./src/client/default/js/components/appFlyerComponent.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./src/client/default/js/libs/Axios.js","webpack:///./node_modules/@babel/runtime/helpers/get.js","webpack:///./node_modules/@babel/runtime/helpers/superPropBase.js"],"names":["appFlyerComponent","element","$options","onClick","mountClick","modal","sendPostMsg","this","CUSTOM_MESSAGES","TRACKING_EVENTS","myAccountPromoClick","trackingModal","myAccountPromoClickClose","trackingModalClose","eventName","event","evName","obj","eventValues","getFlyerObject","getPdpObject","getPurchaseObject","getCouponObject","currentTarget","classList","contains","getWishlistObject","getAddCartObject","appPostMessage","Appsflyer","targetClick","target","document","querySelector","$el","addEventListener","trid","eventNameClose","addToCart","updateQty","querySelectorAll","addToWishlist","length","af_flyer_name","name","af_flyer_store","parseInt","store","af_flyer_brand","brand","toLowerCase","price","productPrice","product","JSON","parse","dataset","productJson","categories","productBreadcrumbs","category","type","categoryId","mountAllPdpClick","savedObj","af_price","sales","value","af_content","af_content_id","id","af_content_type","af_currency","currency","af_market_type","items","idList","nameList","catList","typeList","forEach","pr","push","productName","primaryCat","isfood","formattedPrice","replace","af_revenue","parseFloat","af_quantity","qty","af_order_id","orderNumber","af_order_cap","cap","af_order_store_id","af_order_store_city","city","af_order_service_selected","service","af_order_payment_method","payment","promotion_name","couponName","BaseComponent","_componentElement","setAttribute","_checkMessages","compOptions","options","Object","keys","filter","entry","includes","optionValue","cleanEntry","cleanOptionKey","convertType","deepFreeze","getAttribute","events","cb","elements","Bean","on","e","stopPropagation","one","off","fire","container","message","_loading","EMIT","LOADER_EVENTS","show","body","error","icon","setTimeout","hide","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent","axios","Axios","create","transformRequest","data","headers","skiptransform","entries","formData","FormData","append","recaptchaToken","a","googleRecaptchaAction","googleRecaptchaClientSide","Promise","resolve","reject","window","grecaptcha","ready","execute","action","then","token","defaults","common","interceptors","request","use","config","googleRecaptchaToken","response","commonInterface","CommonInterface","pushState","replaceState","history","redirectUrl","location","href","hrefUrl","paybackParam","isPaybackPopupActive","indexOf","trialParam","subscriptionTrialModalNotEligibleAfterLogin","fromEntries","res","notificationPush","showNotification","pushPromoPre","orderedPush","sort","promoA","promoB","rank","notifications","pushPromoPost","CancelToken","get","post","all","spread","superPropBase","_get","Reflect","module","exports","__esModule","property","receiver","base","desc","getOwnPropertyDescriptor","call","arguments","apply","getPrototypeOf","object","prototype","hasOwnProperty"],"mappings":"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","file":"js/component-appFlyerComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../base/baseComponent';\nimport { appPostMessage } from '../utilities/postMessage';\nimport { get } from '../libs/Axios';\n\nexport default class appFlyerComponent extends BaseComponent {\n get Messages() {\n return {\n [this.CUSTOM_MESSAGES.TRACKING_EVENTS.myAccountPromoClick]: this.trackingModal,\n [this.CUSTOM_MESSAGES.TRACKING_EVENTS.myAccountPromoClickClose]: this.trackingModalClose\n };\n }\n\n get SELECTORS() {\n return {\n ...super.SELECTORS\n };\n }\n\n constructor(element) {\n super(element);\n if (this.$options.onClick) {\n this.mountClick(null, null);\n } else if (!this.$options.modal) {\n this.sendPostMsg();\n }\n }\n\n sendPostMsg(eventName, event) {\n let evName = eventName || this.$options.eventName;\n var obj = { eventName: evName };\n switch (evName) {\n case 'af_flyer_view':\n obj.eventValues = this.getFlyerObject();\n break;\n\n case 'af_content_view':\n obj.eventValues = this.getPdpObject();\n break;\n\n case 'af_purchase':\n obj.eventValues = this.getPurchaseObject();\n break;\n\n case 'promozioni_spesa_online_open':\n obj.eventValues = this.getCouponObject();\n break;\n case 'promozioni_spesa_online_close':\n obj.eventValues = this.getCouponObject();\n break;\n case 'promozioni_spesa_negozio_close':\n obj.eventValues = this.getCouponObject();\n break;\n\n case 'promozioni_spesa_negozio_open':\n obj.eventValues = this.getCouponObject();\n break;\n\n case 'promozioni_spesa_online_copy':\n obj.eventValues = this.getCouponObject();\n break;\n\n case 'promozioni_spesa_negozio_zoom':\n obj.eventValues = this.getCouponObject();\n break;\n\n case 'af_add_to_wishlist':\n var remove = (event && event.currentTarget && event.currentTarget.classList.contains('is-full')) || false;\n if (remove) {\n obj.eventName = 'af_remove_from_wishlist';\n }\n obj.eventValues = this.getWishlistObject();\n break;\n\n case 'coupon_selection':\n obj.eventValues = this.getCouponObject();\n break;\n\n case 'af_add_to_cart':\n obj.eventValues = this.getAddCartObject();\n break;\n\n case 'remove_from_cart':\n obj.eventValues = this.getAddCartObject();\n break;\n\n default:\n obj.eventValues = {};\n break;\n }\n appPostMessage({ Appsflyer: obj });\n }\n\n mountClick(targetClick, eventName) {\n let target = targetClick || (this.$options.target ? document.querySelector(this.$options.target) : this.$el);\n let evName = eventName || this.$options.eventName;\n target.addEventListener('click', (event) => {\n this.sendPostMsg(evName, event);\n });\n }\n\n trackingModal({ element, trid }) {\n if (trid && trid == this.$options.element) {\n this.sendPostMsg(this.$options.eventName);\n }\n }\n\n trackingModalClose({ element, trid }) {\n if (trid && trid == this.$options.element) {\n this.sendPostMsg(this.$options.eventNameClose);\n }\n }\n\n mountAllPdpClick() {\n var addToCart = this.$el.querySelector('.js-add-to-cart');\n var updateQty = this.$el.querySelectorAll('.js-update-quantity');\n var addToWishlist = this.$el.querySelector('.btn-add-to-wishlist ');\n if (addToCart) {\n this.mountClick(addToCart, 'af_add_to_cart');\n }\n if (updateQty && updateQty.length > 1) {\n this.mountClick(updateQty[1], 'af_add_to_cart');\n this.mountClick(updateQty[0], 'remove_from_cart');\n }\n if (addToWishlist) {\n this.mountClick(addToWishlist, 'af_add_to_wishlist');\n }\n }\n\n getFlyerObject() {\n return {\n af_flyer_name: this.$options.name, // nome volantino\n\n af_flyer_store: parseInt(this.$options.store), // store selezionato\n\n af_flyer_brand: this.$options.brand.toLowerCase() // insegna (express, market, iper)\n };\n }\n\n getPdpObject() {\n var price = this.$options.productPrice;\n var product = JSON.parse(this.$el.dataset.productJson);\n var categories = this.$options.productBreadcrumbs;\n var category = categories && categories.length > 0 ? categories[categories.length - 1] : null;\n var type = categories && categories.length > 0 && categories[0].categoryId == 'FOOD' ? 'food' : 'nofood';\n this.mountAllPdpClick();\n this.savedObj = {\n af_price: price && price.sales ? price.sales.value : '', // product price\n\n af_content: product ? product.name : '', // product name\n\n af_content_id: product ? product.id : '', // product id\n\n af_content_type: category ? category.categoryId : '', // product category\n\n af_currency: price && price.sales ? price.sales.currency : '', // currency in the product details page\n\n af_market_type: type ? type : '' // type of product (food, nofood)\n };\n return this.savedObj;\n }\n\n getPurchaseObject() {\n var items = this.$options.items || null;\n var idList = [];\n var nameList = [];\n var catList = [];\n var typeList = [];\n if (items) {\n items.forEach((pr) => {\n idList.push(pr.id);\n nameList.push(pr.productName);\n catList.push(pr.primaryCat);\n typeList.push(pr.isfood);\n });\n }\n var formattedPrice = null;\n if (this.$options.price) {\n formattedPrice = this.$options.price.replace(/[^0-9.,-]/g, '').replace(',', '.');\n }\n return {\n af_revenue: formattedPrice ? parseFloat(formattedPrice) : '', // estimated revenue from the purchase. The revenue value should not contain comma separators, currency, special characters, or text.\n\n af_price: formattedPrice ? parseFloat(formattedPrice) : '', // overall purchase sum\n\n af_content: nameList, // product name\n\n af_content_id: idList, // item id\n\n af_content_type: catList, // item category\n\n af_currency: 'EUR', // currency code\n\n af_quantity: this.$options.qty ? parseInt(this.$options.qty) : '', // number of items in the cart\n\n af_order_id: this.$options.orderNumber || '', // id of the order that is generated after the purchase\n\n af_order_cap: this.$options.cap || '', // cap selected for the order\n\n af_order_store_id: this.$options.store || '', // id of the store selected for the order\n\n af_order_store_city: this.$options.city || '', // city of store selected\n\n af_order_service_selected: this.$options.service || '', // order service selected (click_and_collect, click_and_collect_drive, home_delivery_same_day, home_delivery_next_day)\n\n af_order_payment_method: this.$options.payment || '', // payment method\n\n af_market_type: typeList // type of product (food, nofood)\n };\n }\n\n getCouponObject() {\n return {\n promotion_name: this.$options.couponName || '' // identificativo coupon\n };\n }\n\n getWishlistObject() {\n return this.savedObj;\n }\n\n getAddCartObject() {\n let obj = this.savedObj;\n obj.af_quantity = 1;\n return obj;\n }\n}\n","/* eslint-disable new-cap */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable no-underscore-dangle */\n\nimport Bean from 'bean';\nimport deepFreeze from '../utilities/freeze';\nimport BaseGiaComponent from './baseGiaComponent';\n\nexport default class BaseComponent extends BaseGiaComponent {\n /**\n * @returns {HTMLElement}\n */\n get $el() {\n return /** @type {HTMLElement} */ (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 const cleanEntry = BaseComponent.cleanOptionKey(entry);\n let optionValue;\n if (options[entry].includes('{') && options[entry].includes('}')) {\n optionValue = JSON.parse(options[entry].replace(/'/g, '\"'));\n } else {\n optionValue = BaseComponent.convertType(options[entry]);\n }\n compOptions[cleanEntry] = optionValue;\n });\n return deepFreeze(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(element);\n this._componentElement = element;\n this._componentElement.setAttribute('data-component-init', 'true');\n this._checkMessages();\n }\n\n static convertType(option) {\n let optionReturn;\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 return `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\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 * Activate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n */\n loading(container, message) {\n this._loading = true;\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.show, {\n container: container || document.body,\n message: message ?? null\n });\n }\n\n /**\n *\n * Deactivate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n * @param {Boolean} [error=false]\n * @param {String} [icon]\n */\n endLoading(container, message, error = false, icon) {\n this._loading = false;\n setTimeout(() => {\n if (!this._loading) {\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.hide, {\n container: container || document.body,\n message,\n error,\n icon\n });\n }\n }, 400);\n }\n}\n","import Axios from 'axios';\nimport CommonInterface from '../base/commonInterface';\nimport CustomMessages from '../constants/customMessages';\n\n\nconst axios = Axios.create({\n transformRequest: [function (data, headers) {\n if (headers && headers.skiptransform) {\n delete headers.skiptransform;\n return data;\n }\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\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\naxios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\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 && window.grecaptcha) {\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\n// Add a response interceptor\naxios.interceptors.response.use(function (response) {\n let commonInterface = new CommonInterface();\n if (response.data && response.data.pushState || response.data.replaceState) {\n response.data.pushState && history.pushState({}, '', response.data.pushState);\n response.data.replaceState && history.replaceState({}, '', response.data.replaceState);\n if (response.data.redirectUrl) {\n setTimeout(() => {\n location.href = response.data.redirectUrl;\n }, 500);\n }\n }\n else if (response.data && response.data.redirectUrl) {\n let hrefUrl=response.data.redirectUrl;\n let paybackParam = '';\n if (response.data.isPaybackPopupActive) {\n paybackParam = hrefUrl.indexOf('?') > -1 ? '&isPaybackPopupActive=true' : '?isPaybackPopupActive=true';\n }\n hrefUrl =hrefUrl+paybackParam;\n let trialParam = '';\n if (response.data.subscriptionTrialModalNotEligibleAfterLogin) {\n trialParam = hrefUrl.indexOf('?') > -1 ? '&subscriptionTrialModalNotEligibleAfterLogin=true' : '?subscriptionTrialModalNotEligibleAfterLogin=true';\n } \n location.href = hrefUrl+trialParam;\n }\n if (response.data && response.data.error) {\n if(response.config.data instanceof FormData) {\n response.config.data = Object.fromEntries(response.config.data);\n response.config.headers['Content-Type'] = \"application/json\"\n }\n commonInterface.EMIT(`error.${response.data.error}`, {res: response});\n }\n\n if (response.data && response.data.notificationPush && response.data.notificationPush.showNotification) {\n commonInterface.EMIT(`notification:push`, response.data.notificationPush);\n }\n\n if (response.data && response.data.pushPromoPre && response.data.pushPromoPre.length > 0) {\n const orderedPush = response.data.pushPromoPre.sort(function(promoA, promoB) {\n return promoA.rank > promoB.rank ? -1 : promoB.rank > promoA.rank ? 1 : 0;\n });\n commonInterface.EMIT(`notification:pushFirstAvailable`, { notifications: orderedPush });\n }\n \n if (response.data && response.data.pushPromoPost) {\n commonInterface.EMIT(`notification:pushall`, response.data.pushPromoPost);\n }\n\n\n // Any status code that lie within the range of 2xx cause this function to trigger\n // Do something with response data\n return response;\n}, function (error) {\n if (error.response?.data && error.response?.data?.redirectUrl) {\n location.href = error.response.data.redirectUrl;\n }\n\n // Any status codes that falls outside the range of 2xx cause this function to trigger\n // Do something with response error\n return Promise.reject(error);\n});\n\nexport const { CancelToken } = Axios;\n\nexport const {\n get, post, all, spread, request\n} = axios;\n","var superPropBase = require(\"./superPropBase.js\");\n\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n\n return _get.apply(this, arguments);\n}\n\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"sourceRoot":""}