{"version":3,"sources":["webpack:///./src/client/default/js/components/flyersPdComponent.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./src/client/default/js/libs/Axios.js"],"names":["FlyersComponent","element","getFlyers","flyerContainer","flyersWrapper","discoverAll","a","this","loading","document","querySelector","SELECTORS","get","$options","url","data","flyers","$el","innerHTML","console","error","EMIT","CUSTOM_MESSAGES","TABS_EVENTS","CAROUSEL_REMOUNT","endLoading","updateHrefs","checkOnResize","discoverAllUrlDesktop","discoverAllUrlMobile","href","window","isMobile","onresize","BaseComponent","_componentElement","setAttribute","_checkMessages","compOptions","options","dataset","Object","keys","filter","entry","includes","forEach","optionValue","cleanEntry","cleanOptionKey","JSON","parse","replace","convertType","deepFreeze","getAttribute","events","cb","elements","Bean","on","e","stopPropagation","one","off","fire","container","message","_loading","LOADER_EVENTS","show","body","icon","setTimeout","hide","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent","axios","Axios","create","transformRequest","headers","skiptransform","entries","formData","FormData","value","append","recaptchaToken","googleRecaptchaAction","googleRecaptchaClientSide","Promise","resolve","reject","grecaptcha","ready","execute","action","then","token","defaults","common","interceptors","request","use","config","googleRecaptchaToken","response","commonInterface","CommonInterface","pushState","replaceState","history","redirectUrl","location","hrefUrl","paybackParam","isPaybackPopupActive","indexOf","trialParam","subscriptionTrialModalNotEligibleAfterLogin","fromEntries","res","notificationPush","showNotification","pushPromoPre","length","orderedPush","sort","promoA","promoB","rank","notifications","pushPromoPost","CancelToken","post","all","spread"],"mappings":"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","file":"js/component-flyersPdComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../base/baseComponent';\nimport { get } from '../libs/Axios';\n\nexport default class FlyersComponent extends BaseComponent {\n get SELECTORS() {\n return {\n flyerContainer: '.slides-container',\n flyersWrapper: '.flyers-wrapper',\n discoverAll: '.scopri-tutti'\n };\n }\n constructor(element) {\n super(element);\n this.getFlyers();\n }\n\n async getFlyers() {\n try {\n this.loading(document.querySelector(this.SELECTORS.flyersWrapper));\n const { data } = await get(this.$options.url);\n if (data?.flyers) {\n this.$el.querySelector(this.SELECTORS.flyerContainer).innerHTML = data.flyers;\n }\n } catch (err) {\n console.error(err);\n }\n this.EMIT(this.CUSTOM_MESSAGES.TABS_EVENTS.CAROUSEL_REMOUNT);\n this.endLoading(document.querySelector(this.SELECTORS.flyersWrapper));\n this.updateHrefs();\n this.checkOnResize();\n }\n\n updateHrefs() {\n let discoverAllUrlDesktop = document.querySelector('.js-discover-all')?.innerHTML;\n let discoverAllUrlMobile = document.querySelector('.js-discover-all-mobile')?.innerHTML;\n document.querySelector(this.SELECTORS.discoverAll).href = window.isMobile() ? discoverAllUrlMobile : discoverAllUrlDesktop;\n }\n\n checkOnResize() {\n window.onresize = () => this.updateHrefs();\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"],"sourceRoot":""}