{"version":3,"sources":["webpack:///./src/client/default/js/components/getFlyerComponent.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./src/client/default/js/libs/Axios.js"],"names":["getFlyerComponent","element","size","match","sizeMatch","resize","checkClass","dk","a","get","this","$options","url","params","data","$el","innerHTML","EMIT","CUSTOM_MESSAGES","CAROUSEL_EVENTS","UPDATE_CAROUSEL","endLoading","getFlyer","window","addEventListener","onlyFlyer","document","querySelector","classList","add","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","error","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","href","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-getFlyerComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../base/baseComponent';\nimport { get } from '../libs/Axios';\nimport { match } from '../utilities/resolutionHandler';\n\nexport default class getFlyerComponent extends BaseComponent {\n constructor(element) {\n super(element);\n this.size = match('md', null) ? 'lg' : 'sm';\n this.sizeMatch();\n this.resize();\n this.checkClass();\n }\n\n async getFlyer(dk) {\n const { data } = await get(this.$options.url + '&dk=' + dk, {\n params: {}\n });\n if (data) {\n this.$el.innerHTML = data;\n }\n this.EMIT(this.CUSTOM_MESSAGES.CAROUSEL_EVENTS.UPDATE_CAROUSEL);\n this.endLoading(this.$el);\n }\n\n sizeMatch() {\n var paginationSwitch = () => {\n if (match(null, 'md') && this.size === 'sm') {\n this.getFlyer('dk');\n this.size = 'lg';\n } else if (match('md', null) && this.size === 'lg') {\n this.getFlyer();\n this.size = 'sm';\n }\n };\n paginationSwitch();\n }\n\n resize() {\n window.addEventListener('resize', () => {\n this.sizeMatch();\n });\n }\n checkClass() {\n if (this.$options.onlyFlyer) {\n document.querySelector('body').classList.add('sfogliatore');\n }\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":""}