{"version":3,"sources":["webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./src/client/default/js/libs/Axios.js","webpack:///./src/client/default/js/utilities/woosmapUtils.js","webpack:///./src/client/default/js/utilities/geolocationUtils.js","webpack:///./src/client/default/js/utilities/postMessageHandler.js","webpack:///./src/client/default/js/classes/storeClass.js","webpack:///./src/client/default/js/classes/googleMapClass.js","webpack:///./src/client/default/js/classes/storeList.js","webpack:///./src/microtemplates/stores/storeInfoWindow.ejs"],"names":["BaseComponent","element","_componentElement","setAttribute","_checkMessages","this","compOptions","options","$el","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","EMIT","CUSTOM_MESSAGES","LOADER_EVENTS","show","document","body","error","icon","setTimeout","hide","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent","axios","Axios","create","transformRequest","data","headers","skiptransform","entries","formData","FormData","value","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","length","orderedPush","sort","promoA","promoB","rank","notifications","pushPromoPost","CancelToken","get","post","all","spread","geolocation","result","success","ipCoord","latitude","longitude","console","distanceMatrix","origin","destinations","url","lat","lng","map","destination","rows","autocompleteLocalties","searchInputId","autocompleteOptions","woosmap","localities","Autocomplete","autocompleteMultisearch","woosmapKey","gmapsKey","multisearch","apiOrder","fallbackBreakpoint","params","components","country","language","types","address","places","reverseGeocoding","navigatorGeolocation","navigator","protocol","defaultConfig","maximumAge","timeout","getCurrentPosition","handlers","registerMessageHandler","actionType","handler","setupAppMessageListener","addEventListener","event","payload","Store","store","id","Id","msi","Msi","reparti","Set","Reparti","servizi","Servizi","insegna","Insegna","descrizione","Descrizione","indirizzo","Indirizzo","citta","Citta","provincia","Provincia","Latitude","Longitude","Url","orari","Orari","oraristraordinari","Oraristraordinari","type","Type","urlQoda","UrlQoda","directionExternalUrl","DirectionExternalUrl","urlVolantini","UrlVolantini","storelocatorType","marker","direct","Direct","google","maps","LatLng","size","has","repartoList","every","reparto","serviziList","servizio","date","filterWords","RegExp","formattedDate","getDate","getMonth","getFullYear","unusualOpening","find","op","test","orario","getDay","domenica","lunedi","martedi","mercoledi","giovedi","venerdi","sabato","DEFAULT_POSITION","DEFAULT_MAP_CONFIG","gestureHandling","fullscreenControl","clickableIcons","streetViewControl","mapTypeControl","restriction","latLngBounds","east","north","south","west","strictBounds","zoom","minZoom","Map","elem","browserPosition","querySelector","Error","center","mapConfig","mapInstance","$map","mapLoaded","loaded","log","positionMarker","Marker","position","setMap","directionsService","DirectionsService","directionsRenderer","DirectionsRenderer","suppressMarkers","StoreList","storeUrl","filters","openingDate","undefined","services","deparments","preFilters","listType","stores","getStores","dirty","filterElem","filterValue","toggleFilter","filterSet","hasType","hasServizio","Array","from","hasReparto","isOpen","StoreClass","stations","clear","module","exports","anonymous","locals","escapeFn","include","rethrow","err","flnm","lineno","esc","lines","split","start","Math","max","end","min","filename","context","line","i","curr","join","path","markup","String","_MATCH_HTML","encode_char","_ENCODE_HTML_RULES","c","__line","__lines","__filename","__output","__append","s","iconUrl","name","addr","urlVolantiniCta","isStoreSelector","storeSelectEndpoint","csrfTokenName","csrfToken","storeSelectCta","detail","indications","qodaCta"],"mappings":"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","file":"js/component-googleMapComponent-js~component-hpVolantiniComponent-js.chunks.js","sourcesContent":["/* 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","import { get } from '../libs/Axios';\n\n/**\n * @returns {Promise}\n */\nexport async function geolocation(key) {\n let result = { success: false };\n try {\n let ipCoord = await get(`https://api.woosmap.com/geolocation/position/?key=${key}`);\n result = { success: true, latitude: ipCoord.data.latitude, longitude: ipCoord.data.longitude };\n } catch (e) {\n console.error(e);\n }\n return result;\n}\n\n/**\n * @typedef {Object} positionLiteral\n * @property {number} lat\n * @property {number} lng\n */\n/**\n * @param {positionLiteral} origin\n * @param {positionLiteral[]} destinations\n */\nexport async function distanceMatrix(origin, destinations, key) {\n let result = { success: false };\n if (destinations.length === 0) return result;\n let url = `https://api.woosmap.com/distance/distancematrix/json?origins=${origin.lat},${origin.lng}&destinations=${destinations[0].lat},${destinations[0].lng}`;\n destinations.slice(1, 200).map((destination) => (url += `|${destination.lat},${destination.lng}`));\n url += `&elements=duration_distance&key=${key}`;\n try {\n const { data } = await get(url);\n result = { ...result, success: true, rows: data.rows };\n } catch (e) {\n console.error(e);\n }\n return result;\n}\n\nexport async function autocompleteLocalties(searchInputId, autocompleteOptions) {\n // eslint-disable-next-line no-undef\n return new woosmap.localities.Autocomplete(searchInputId, autocompleteOptions);\n}\n\nexport function autocompleteMultisearch(woosmapKey, gmapsKey) {\n return window.woosmap.multisearch({\n apiOrder: ['localities', 'address', 'places'],\n localities: {\n key: woosmapKey,\n fallbackBreakpoint: 0.4,\n params: {\n components: {\n country: ['it']\n },\n language: 'it',\n types: []\n }\n },\n address: {\n key: woosmapKey,\n fallbackBreakpoint: 0.4,\n params: {\n components: {\n country: ['it']\n },\n language: 'it',\n types: []\n }\n },\n places: {\n key: gmapsKey,\n params: {\n components: {\n country: ['it']\n },\n language: 'it',\n types: []\n }\n }\n });\n}\n\nexport async function reverseGeocoding(key, lat, lng) {\n try {\n const { data } = await get(`https://api.woosmap.com/localities/geocode?key=${key}&latlng=${lat},${lng}`);\n return data;\n } catch (e) {\n console.error(e);\n }\n}\n\nexport function loadWoosmapCSS() {\n var file = document.createElement('link');\n file.setAttribute('rel', 'stylesheet');\n file.setAttribute('href', 'https://sdk.woosmap.com/localities/style.2.0.css');\n document.head.appendChild(file);\n}\n","/**\n * @param {PositionOptions} [config]\n */\nexport function navigatorGeolocation(config = {}) {\n if ('geolocation' in navigator && location.protocol === 'https:') {\n const defaultConfig = {\n maximumAge: 5 * 60 * 1000,\n timeout: 10 * 1000\n };\n return new Promise(function(resolve, reject) {\n navigator.geolocation.getCurrentPosition(resolve, reject, { ...defaultConfig, ...config });\n });\n }\n}\n","const handlers = {};\n\n// Funzione per registrare un handler per un tipo di messaggio specifico\nexport function registerMessageHandler(actionType, handler) {\n handlers[actionType] = handler;\n}\n\n// Funzione per rimuovere un handler per un tipo di messaggio specifico\nexport function unregisterMessageHandler(actionType) {\n delete handlers[actionType];\n}\n\n// Funzione di ascolto generica per gestire i messaggi in arrivo\nexport function setupAppMessageListener() {\n window.addEventListener('message', (event) => {\n try {\n const message = typeof event.data === 'string' ? JSON.parse(event.data) : event.data;\n\n const { action, payload } = message;\n // Verifica se esiste un handler registrato per questo tipo di azione\n if (handlers[action]) {\n handlers[action](payload);\n }\n } catch (error) {\n console.error('Error parsing message:', error);\n }\n });\n}\n","/// \n/* global google */\n// /**\n// * Filter type, this type represents the connection between a filter option and a store\n// * @typedef {Object} storeFilter\n// * @property {String} id\n// * @property {String} value\n// */\n\n/**\n * This type represents the opening hours by day of the store\n * @typedef {Object} openingHours\n * @property {String} lunedi\n * @property {String} martedi\n * @property {String} mercoledi\n * @property {String} giovedi\n * @property {String} venerdi\n * @property {String} sabato\n * @property {String} domenica\n */\n\n/**\n * This type represents the opening hours by day of the store\n * @typedef {Object} openingHoursUnusual\n * @property {String} data\n * @property {String} orario\n */\n\nexport default class Store {\n constructor(store) {\n /**\n * @type {String}\n */\n this.id = store.Id;\n /**\n * @type {String}\n */\n this.msi = store.Msi;\n /**\n * @type {Set}\n */\n this.reparti = new Set(store.Reparti);\n /**\n * @type {Set}\n */\n this.servizi = new Set(store.Servizi);\n /**\n * @type {String}\n * possible values\n * 'Carrefour Iper'\n * 'Carrefour Market',\n * 'Carrefour Express'\n */\n this.insegna = store.Insegna;\n /**\n * @type {String}\n */\n this.descrizione = store.Descrizione;\n /**\n * @type {String}\n */\n this.indirizzo = store.Indirizzo;\n /**\n * @type {String}\n */\n this.citta = store.Citta;\n /**\n * @type {String}\n */\n this.provincia = store.Provincia;\n /**\n * @type {Number}\n */\n this.latitude = store.Latitude;\n /**\n * @type {Number}\n */\n this.longitude = store.Longitude;\n /**\n * @type {String}\n */\n this.url = store.Url;\n /**\n * @type {openingHours}\n */\n this.orari = store.Orari;\n /**\n * @type {openingHoursUnusual[]}\n */\n this.oraristraordinari = store.Oraristraordinari;\n /**\n * @type {String}\n * possible values\n * 'iper' || 'market' || 'express'\n */\n this.type = store.Type;\n\n /**\n * @type {String}\n */\n this.urlQoda = store.UrlQoda;\n\n /**\n * @type {String}\n */\n this.directionExternalUrl = store.DirectionExternalUrl;\n\n /**\n * @type {String}\n */\n this.urlVolantini = store.UrlVolantini;\n\n /**\n * @type {String}\n * possible values\n * 'GAS' || 'STORE'\n */\n this.storelocatorType = store.storelocatorType;\n\n /**\n * @type {google.maps.Marker}\n */\n this.marker;\n\n this.direct = store.Direct;\n }\n\n get position() {\n return new google.maps.LatLng(this.latitude, this.longitude);\n }\n\n /**\n * Checks if store is a iper store\n * @returns {Boolean}\n */\n isIperStore() {\n return this.type === 'iper';\n }\n /**\n * Checks if store is a market store\n * @returns {Boolean}\n */\n isMarketStore() {\n return this.type === 'market';\n }\n /**\n * Checks if store is a express store\n * @returns {Boolean}\n */\n isExpressStore() {\n return this.type === 'express';\n }\n\n /**\n * @param {Set} types\n */\n hasType(types) {\n return types.size === 0 || types.has(this.type);\n }\n\n /**\n * @returns {Boolean}\n */\n isStore() {\n return this.storelocatorType === 'STORE';\n }\n\n /**\n * @param {String[]} repartoList\n */\n hasReparto(repartoList) {\n return (\n repartoList.length === 0 ||\n repartoList.every((reparto) => {\n return this.reparti.has(reparto);\n })\n );\n }\n\n /**\n * @param {String[]} serviziList\n */\n hasServizio(serviziList) {\n return (\n serviziList.length === 0 ||\n serviziList.every((servizio) => {\n return this.servizi.has(servizio);\n })\n );\n }\n\n /**\n * @param {Date} date\n */\n isOpen(date) {\n if (!date) return true;\n let filterWords = new RegExp('(^chiuso?)|(^null?)|^x?', 'ig');\n const formattedDate = `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`;\n const unusualOpening = this.oraristraordinari.find((op) => op.data === formattedDate);\n if (unusualOpening) return filterWords.test(unusualOpening.orario);\n switch (date.getDay()) {\n case 0: {\n return filterWords.test(this.orari.domenica);\n }\n case 1: {\n return filterWords.test(this.orari.lunedi);\n }\n case 2: {\n return filterWords.test(this.orari.martedi);\n }\n case 3: {\n return filterWords.test(this.orari.mercoledi);\n }\n case 4: {\n return filterWords.test(this.orari.giovedi);\n }\n case 5: {\n return filterWords.test(this.orari.venerdi);\n }\n case 6: {\n return filterWords.test(this.orari.sabato);\n }\n }\n }\n}\n","import Bean from 'bean';\n/// \n/*global google*/\n\nconst DEFAULT_POSITION = {\n lat: 45.464664,\n lng: 9.18854\n};\nconst ZOOM_LEVELS = [14, 12, 10, 9];\nconst DEFAULT_MAP_CONFIG = {\n gestureHandling: 'cooperative',\n fullscreenControl: false,\n clickableIcons: false,\n streetViewControl: false,\n mapTypeControl: false,\n restriction: {\n latLngBounds: {\n east: 26.261931937499988,\n north: 49.40446378193331,\n south: 35.1656304335784,\n west: -3.7966618125000107\n },\n strictBounds: false\n },\n zoom: ZOOM_LEVELS[0],\n minZoom: 9\n};\nexport default class Map {\n /**\n * @param {Object} payload\n * @param {HTMLElement} payload.elem\n * @param {google.maps.MapOptions} [payload.config]\n * @param {google.maps.LatLng | google.maps.LatLngLiteral} [payload.browserPosition]\n */\n constructor({ elem, config = {}, browserPosition }, cb) {\n if (!elem) elem = /** @type {HTMLElement} */ (document.querySelector('#gmap'));\n if (!elem) throw new Error('Map Class cannot be instance cause map element is missing!');\n if (browserPosition) config.center = browserPosition;\n if (!config.center) config.center = DEFAULT_POSITION;\n /**\n * @type {google.maps.MapOptions}\n */\n this.mapConfig = { ...DEFAULT_MAP_CONFIG, ...config };\n /**\n * @type {google.maps.Map}\n */\n this.mapInstance;\n /**\n * @type {HTMLElement}\n */\n this.$map = elem;\n\n const mapLoaded = () => {\n this.loaded = true;\n console.log('map is loaded');\n //cb(this);\n };\n if (window.mapLoaded) {\n mapLoaded();\n } else {\n Bean.on(document.body, 'map:loaded', () => {\n Bean.off(document.body, 'map:loaded');\n mapLoaded();\n });\n }\n }\n\n initMap() {\n this.mapInstance = new google.maps.Map(this.$map, this.mapConfig);\n this.positionMarker = new google.maps.Marker({\n position: this.mapConfig.center\n });\n this.positionMarker.setMap(this.mapInstance);\n this.directionsService = new google.maps.DirectionsService();\n this.directionsRenderer = new google.maps.DirectionsRenderer({ suppressMarkers: true });\n this.directionsRenderer.setMap(this.mapInstance);\n }\n}\n","import StoreClass from './storeClass';\nimport { get } from '../libs/Axios';\n/// \n/**\n * Filter type, this type represents the connection between a filter option and a store\n * @typedef {Object} storeFilters\n * @property {Set} types\n * @property {Set} services\n * @property {Set} deparments\n * @property {Date} openingDate\n */\n\nexport default class StoreList {\n constructor(url, type, cb) {\n /**\n * @type {String}\n */\n this.storeUrl = url;\n /**\n * @type {storeFilters}\n */\n this.filters = {\n types: new Set(),\n openingDate: undefined,\n services: new Set(),\n deparments: new Set()\n };\n /**\n * @type {storeFilters}\n */\n this.preFilters = {\n types: new Set(),\n openingDate: undefined,\n services: new Set(),\n deparments: new Set()\n };\n\n /**\n * @type {String}\n */\n this.listType = type;\n /**\n * @type {StoreClass[]}\n */\n this.stores = [];\n this.getStores(cb);\n this.dirty = true;\n }\n\n /**\n * @param {HTMLElement} filterElem\n * @returns {Boolean} true if filter was added to the list\n */\n triggerFilterAction(filterElem) {\n if (!filterElem) return false;\n /**\n * @type {String}\n */\n const value = filterElem.dataset?.filterValue;\n if (!value) return false;\n /**\n * @type {String}\n */\n const type = filterElem.dataset?.filter;\n switch (type) {\n case 'type': {\n this.dirty = true;\n this.toggleFilter(this.filters.types, value);\n return this.filters.types.has(value);\n }\n case 'service': {\n this.dirty = true;\n this.toggleFilter(this.filters.services, value);\n return this.filters.services.has(value);\n }\n case 'department': {\n this.dirty = true;\n this.toggleFilter(this.filters.deparments, value);\n return this.filters.deparments.has(value);\n }\n default: {\n return false;\n }\n }\n }\n\n /**\n * @param {Set} filterSet\n * @param {String | Number} value\n */\n toggleFilter(filterSet, value) {\n filterSet[filterSet.has(value) ? 'delete' : 'add'](value);\n }\n\n /**\n * @param {StoreClass} store\n * @returns {Boolean}\n */\n applyFiltersToStore(store) {\n return (\n (this.listType === 'EDITORIAL' || this.listType === (store.storelocatorType || 'EDITORIAL')) &&\n store.hasType(this.filters.types) &&\n store.hasServizio(Array.from(this.filters.services)) &&\n store.hasReparto(Array.from(this.filters.deparments)) &&\n store.isOpen(this.filters.openingDate)\n );\n }\n\n /**\n * @param {Function} cb\n */\n async getStores(cb) {\n /**\n * @type {StoreClass[]}\n */\n if (this.listType === 'EDITORIAL') {\n this.stores = [];\n const { data } = await get(this.storeUrl);\n if (!data) return;\n this.stores = [...data.stores.map((store) => new StoreClass(store))];\n cb?.();\n } else {\n this.stores = [];\n const { data } = await get(this.storeUrl);\n if (!data) return;\n this.stores = [...data.stores.map((store) => new StoreClass(store)), ...data.stations.map((store) => new StoreClass(store))];\n cb?.();\n }\n }\n clearFilters() {\n this.preFilters.deparments.clear();\n this.preFilters.services.clear();\n this.preFilters.types.clear();\n this.preFilters.openingDate = null;\n this.filters.deparments.clear();\n this.filters.services.clear();\n this.filters.types.clear();\n this.filters.openingDate = null;\n }\n}\n","module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n <% if(store.urlVolantini) { %>\\n
\\n \" alt=\"Carrefour Logo\" class=\"<%= store.type %> brand-logo\" />\\n

<%= store.name %>

\\n
\\n <% } else { %>\\n \" alt=\"Carrefour Logo\" class=\"<%= store.type %> brand-logo\" />\\n

<%= store.name %>

\\n

<%= store.addr %>

\\n <% } %>\\n <% if(store.urlVolantini) { %>\\n
\\n

<%= store.indirizzo %>

\\n

<%= store.citta %> (<%= store.provincia %>)

\\n
\\n \\n <% } else { %>\\n <% if(store.isStoreSelector) { %>\\n
\\n
\" method=\"POST\">\\n \" value=\"<%= store.csrfToken %>\" />\\n \" />\\n \\n
\\n
\\n <% } else { %>\\n
\\n \"> <%= store.detail %>\\n \" target=\"_blank\"><%= store.indications %>\\n \\n
\\n <% if(store.urlQoda) { %>\\n \\n <% } %>\\n <% } %>\\n <% } %>\\n
', __filename = \"src/microtemplates/stores/storeInfoWindow.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n ');\n __line = 2;\n if (store.urlVolantini) {\n __append('\\n
\\n \"Carrefour\\n

');\n __line = 5;\n __append(escapeFn(store.name));\n __append(\"

\\n
\\n \");\n __line = 7;\n } else {\n __append('\\n \"Carrefour\\n

');\n __line = 9;\n __append(escapeFn(store.name));\n __append('

\\n

');\n __line = 10;\n __append(escapeFn(store.addr));\n __append(\"

\\n \");\n __line = 11;\n }\n __append(\"\\n \");\n __line = 12;\n if (store.urlVolantini) {\n __append('\\n
\\n

');\n __line = 14;\n __append(escapeFn(store.indirizzo));\n __append(\"

\\n

\");\n __line = 15;\n __append(escapeFn(store.citta));\n __append(\" (\");\n __append(escapeFn(store.provincia));\n __append(')

\\n
\\n \\n \");\n __line = 25;\n } else {\n __append(\"\\n \");\n __line = 26;\n if (store.isStoreSelector) {\n __append('\\n
\\n
\\n \\n \\n \\n
\\n
\\n \");\n __line = 34;\n } else {\n __append('\\n \\n \");\n __line = 40;\n if (store.urlQoda) {\n __append('\\n \\n \");\n __line = 44;\n }\n __append(\"\\n \");\n __line = 45;\n }\n __append(\"\\n \");\n __line = 46;\n }\n __append(\"\\n
\");\n __line = 47;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}"],"sourceRoot":""}