{"version":3,"sources":["webpack:///./src/client/default/js/components/hpVolantiniComponent.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./src/microtemplates/stores/flyerServices.ejs"],"names":["hpVolantiniComponent","element","isMobileApp","$options","appVersion","mobileVersionWithoutGeolocPostMessage","parseInt","initComponent","registerMessageHandler","payload","latitude","longitude","currentPosition","lat","lng","appPostMessage","action","mapContainer","filter","filterhome","searchContainer","brand","street","km","spesaOnline","findCurrentPositionBtn","storeDetailCta","active","typing","noResults","this","previousSearch","pacContainer","document","createElement","classList","add","$el","querySelector","SELECTORS","appendChild","store","url","Store","isMarketStore","type","pinMarket","isExpressStore","pinExpress","pinCarrefour","size","google","maps","Size","scaledSize","infoWindow","markerClusterer","activeMarker","authLocation","selectedAddress","numberSelected","nearest","input","btnSubmit","containerall","container","loadingContainer","storelocatorType","storeList","StoreList","storeUrl","showStores","bind","originalStoreList","selectStoreBinded","selectStore","infoWindowInitBinded","infoWindowInit","window","addEventListener","autocompleteInstance","autocompleteMultisearch","wmkey","gmkey","initAutocomplete","lazyMapInit","initFilter","clearField","clickFindCurrentPositionCB","filterStoreTypes","storesLoaded","initStores","map","loaded","dirty","stores","length","visibleStores","storeIndex","index","marker","setVisible","mapInstance","getBounds","contains","position","applyFiltersToStore","indexOf","repaint","loading","redirectUrl","Cookies","get","urlParams","URLSearchParams","location","search","redirect","remove","href","toString","querySelectorAll","forEach","filterBtn","el","toggle","CLASSES","updateStoreList","a","getClientLocation","GoogleMapClass","elem","browserPosition","initMap","debounceBoundariesChanged","debounce","event","avoidMapChange","center","doSearch","removeListener","idleListener","addListener","endLoading","undefined","promiseArray","push","Promise","resolve","reject","wait","setTimeout","clearTimeout","navigatorGeolocation","race","then","pos","catch","e","console","info","isNaN","coords","clientLocation","geolocation","error","woosLocation","success","mapLoaded","filtersServiceSelected","split","s","toggleFilter","filters","services","serviceCheckbox","$filterTriggers","find","filterCheckbox","toggleFilterButton","Marker","icon","getIconMarker","infoWindowListener","close","InfoWindow","content","infoWindowTpl","id","msi","name","insegna","addr","descrizione","indirizzo","citta","provincia","iconUrl","storeLogo","detail","storeDetail","indications","storeIndications","qodaCta","urlQoda","urlVolantini","urlVolantiniCta","storeVolantiniCta","isStoreSelector","isstoreselector","storeSelectCta","storeSelectEndpoint","csrfToken","csrfTokenName","directionExternalUrl","maxWidth","storePosition","activeMarkerName","open","MarkerClusterer","imagePath","storePin","gridSize","maxZoom","ignoreHidden","debounceAutocomplete","value","keyCode","clearList","inputValue","$previousSearch","autocompleteMulti","results","renderPredictions","place","$pacContainer","target","$on","presel","notFound","innerHTML","code","preventDefault","selectAddress","arrowSelect","result","i","itemList","setAttribute","api","highlight","className","blur","address","description","getAutocompleteDetails","setCenter","positionMarker","setPosition","long","$off","params","isVolantino","data","filteredStores","availableStores","Msi","calculateDistances","storesWithDistance","UrlVolantini","detailsMulti","geometry","baseUrl","filtersActive","filterValues","f","getAttribute","Type","googleMapContainer","sortedStores","sortStores","servicesTemplate","elementSelected","currentTarget","set","distance","cookieName","JSON","stringify","codice","datainserimento","Date","getTime","expires","localStorage","setItem","match","pageYOffset","documentElement","scrollTop","body","storeDetailSelector","distanceMatrix","Latitude","Longitude","wmresponse","distances","rows","elements","distanceKm","status","getKmFromDistanceText","text","distanceText","durationText","duration","storesSorted","storeByDistance","sort","s1","s2","slice","concat","getStoreByBrandAndDistance","distancePart","distanceValue","cm","m","toLowerCase","Geocoder","geocode","formatted_address","alert","part","typesToSearch","cap","city","civic","administrativeAreaLevel3","administrativeAreaLevel2","addressPart","addressComponent","types","short_name","n","options","num","storeTypes","includes","BaseComponent","factory","module","exports","OldCookies","noConflict","extend","arguments","attributes","key","decode","replace","decodeURIComponent","init","converter","path","defaults","toUTCString","test","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","cookie","json","jar","cookies","parts","join","charAt","read","parse","getJSON","withConverter","anonymous","locals","escapeFn","include","rethrow","err","str","flnm","lineno","esc","lines","start","Math","max","end","min","filename","context","line","curr","message","markup","_MATCH_HTML","encode_char","_ENCODE_HTML_RULES","c","__line","__lines","__filename","__output","__append","Id","Insegna","Descrizione"],"mappings":"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","file":"js/component-hpVolantiniComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../base/baseComponent';\nimport { get } from '../libs/Axios';\nimport Cookies from 'js-cookie';\nimport StoreList from '../classes/storeList';\nimport GoogleMapClass from '../classes/googleMapClass';\nimport { debounce } from 'underscore';\nimport infoWindowTpl from 'MICROTEMPLATES/stores/storeInfoWindow.ejs';\nimport { match } from '../utilities/resolutionHandler';\n\nimport { geolocation, distanceMatrix, autocompleteMultisearch } from '../utilities/woosmapUtils';\nimport { navigatorGeolocation } from '../utilities/geolocationUtils';\nimport { appPostMessage } from '../utilities/postMessage';\nimport { registerMessageHandler } from '../utilities/postMessageHandler';\nimport servicesTemplate from 'MICROTEMPLATES/stores/flyerServices.ejs';\nimport MarkerClusterer from '@google/markerclustererplus';\nimport Store from '../classes/storeClass';\n\n/// \n/**\n * @typedef { import(\"../classes/storeClass\").default } StoreClass\n */\n/* global google */\n\nexport default class hpVolantiniComponent extends BaseComponent {\n get SELECTORS() {\n return {\n mapContainer: '#gmap',\n filter: '.filter-type-map',\n filterhome: '.filter-to-home',\n searchContainer: '.search-volantini',\n brand: '.dts-bar-store-type',\n street: '.dts-bar-street',\n km: '.dts-bar-km',\n spesaOnline: '.volantini-store-card-first',\n findCurrentPositionBtn: '.iamhere',\n storeDetailCta: '.store-detail'\n };\n }\n\n get CLASSES() {\n return {\n active: 'selected',\n typing: 'typing',\n noResults: 'no-results'\n };\n }\n\n get $previousSearch() {\n if (!this.previousSearch) {\n this.previousSearch = '';\n }\n return this.previousSearch;\n }\n\n get $pacContainer() {\n if (!this.pacContainer) {\n this.pacContainer = document.createElement('div');\n this.pacContainer.classList.add('pac-container');\n this.pacContainer.classList.add('maps');\n this.$el.querySelector(this.SELECTORS.searchContainer).appendChild(this.pacContainer);\n }\n return this.pacContainer;\n }\n\n /**\n *\n * @param {Store} store\n * @returns {google.maps.Icon}\n */\n getIconMarker(store) {\n let url;\n if ((store instanceof Store && store.isMarketStore()) || store.type === 'market') url = this.$options.pinMarket;\n else if ((store instanceof Store && store.isExpressStore()) || store.type === 'express') url = this.$options.pinExpress;\n else url = this.$options.pinCarrefour;\n const size = new google.maps.Size(33.6, 45);\n return { url: url, size: size, scaledSize: size };\n }\n\n constructor(element) {\n super(element);\n this.isMobileApp = this.$options.isMobileApp;\n this.appVersion = this.$options.appVersion;\n this.mobileVersionWithoutGeolocPostMessage = this.isMobileApp && (!this.appVersion || (this.appVersion && parseInt(this.appVersion) < 18));\n if (!this.isMobileApp || this.mobileVersionWithoutGeolocPostMessage) {\n this.initComponent();\n } else {\n //Post message handler for Location Requested\n registerMessageHandler('SEND_LOCATION', (payload) => {\n const { latitude, longitude } = payload;\n this.currentPosition = { lat: latitude, lng: longitude };\n this.initComponent();\n });\n //Send Location Request to APP\n appPostMessage({ action: 'REQUEST_LOCATION' });\n }\n }\n\n initComponent() {\n /**\n * @type {google.maps.InfoWindow}\n */\n this.infoWindow;\n this.markerClusterer;\n this.activeMarker;\n this.authLocation = false;\n this.selectedAddress = null;\n this.numberSelected = 0;\n this.nearest = this.$options.nearest ? true : false;\n this.input = /** @type {HTMLInputElement} */ (document.querySelector('#volantiniAddressAutocomplete'));\n this.btnSubmit = /** @type {HTMLInputElement} */ (document.querySelector('.js-btn-dts'));\n this.containerall = /** @type {HTMLElement} */ (document.querySelector('.volantini-adress-container'));\n this.container = /** @type {HTMLElement} */ (document.querySelector('.volantini-adress-js'));\n this.loadingContainer = /** @type {HTMLElement} */ (document.querySelector('.js-loader-wrapper'));\n this.storelocatorType = this.$options.storelocatorType || 'STORE';\n this.storeList = new StoreList(this.$options.storeUrl, this.storelocatorType, this.showStores.bind(this));\n this.originalStoreList;\n\n // functions binded\n this.selectStoreBinded = this.selectStore.bind(this);\n this.infoWindowInitBinded = this.infoWindowInit.bind(this);\n\n window.addEventListener('load', () => {\n this.autocompleteInstance = autocompleteMultisearch(this.$options.wmkey, this.$options.gmkey);\n this.initAutocomplete();\n });\n //This check is moved as middleware in Volantini-Home route\n // this.checkCookie();\n this.lazyMapInit();\n //this.initAutocomplete();\n this.initFilter();\n this.clearField();\n\n this.findCurrentPositionBtn = document.querySelector(this.SELECTORS.findCurrentPositionBtn);\n\n this.findCurrentPositionBtn.addEventListener('click', () => {\n this.clickFindCurrentPositionCB();\n });\n this.filterStoreTypes();\n }\n\n showStores() {\n if (!this.storesLoaded) this.initStores();\n if (!this.map?.loaded || !this.storeList?.dirty || this.storeList?.stores?.length === 0 || !this.storesLoaded) return;\n this.visibleStores?.map((storeIndex) => this.originalStoreList[storeIndex.index].marker.setVisible(false));\n //this.visibleStores?.map((storeIndex) => this.originalStoreList[storeIndex.index].marker.setMap(null));\n this.visibleStores = this.originalStoreList\n .filter((store) => {\n return this.map.mapInstance.getBounds() && this.map.mapInstance.getBounds().contains(store.position) && this.storeList.applyFiltersToStore(store);\n })\n .map((store) => {\n store.marker.setVisible(true);\n //store.marker.setMap(this.map.mapInstance);\n return {\n index: this.originalStoreList.indexOf(store)\n };\n });\n if (this.markerClusterer) this.markerClusterer.repaint();\n this.storeList.dirty = false;\n // this.updateStoreList();\n }\n\n checkCookie() {\n if (this.nearest) {\n document.querySelector('body').classList.add('strong-loader');\n this.loading();\n }\n let redirectUrl = Cookies.get('c4_volantini_store');\n var urlParams = new URLSearchParams(window.location.search);\n if (this.$options.redirect) {\n Cookies.remove('c4_volantini_store');\n } else if (!this.nearest && redirectUrl) {\n location.href = redirectUrl + (urlParams ? '?' + urlParams.toString() : '');\n }\n }\n\n initFilter() {\n this.$el.querySelectorAll(this.SELECTORS.filter).forEach((filterBtn) => {\n filterBtn.addEventListener('click', (el) => {\n filterBtn.classList.toggle(this.CLASSES.active);\n this.updateStoreList();\n });\n });\n }\n\n async lazyMapInit() {\n this.loading(document.querySelector('.store-locator-map-container'));\n if (!this.isMobileApp || this.mobileVersionWithoutGeolocPostMessage) {\n await this.getClientLocation();\n } else if (!this.currentPosition) {\n this.currentPosition = { lat: 45.5718999, lng: 9.1483656 }; //Default position: Paderno Dugnano\n }\n this.map = new GoogleMapClass({ elem: document.querySelector(this.SELECTORS.mapContainer), browserPosition: this.currentPosition }, this.initStores.bind(this));\n this.map.initMap();\n\n const debounceBoundariesChanged = debounce((event) => {\n if (this.avoidMapChange) return (this.avoidMapChange = false);\n let center = this.map.mapInstance.center;\n this.storeList.dirty = true;\n this.doSearch(center.lat(), center.lng());\n this.showStores();\n\n google.maps.event.removeListener(idleListener);\n }, 1000);\n\n const idleListener = this.map.mapInstance.addListener('idle', debounceBoundariesChanged);\n\n this.map.mapInstance.addListener('zoom_changed', debounceBoundariesChanged);\n\n if (!this.nearest || !this.authLocation) {\n this.endLoading(document.querySelector('.store-locator-map-container'));\n }\n }\n\n async getClientLocation() {\n let clientLocation;\n /**\n * @type {Position} position\n */\n\n var promiseArray = [];\n var position = undefined;\n promiseArray.push(\n new Promise((resolve, reject) => {\n const wait = setTimeout(() => {\n clearTimeout(wait);\n reject('Location has timed out');\n }, 10000);\n })\n );\n\n promiseArray.push(navigatorGeolocation());\n position = await Promise.race(promiseArray)\n .then((pos) => {\n return pos;\n })\n .catch((e) => console.info('navigator geolocation error: ', e));\n\n if (position && !isNaN(position.coords.latitude) && !isNaN(position.coords.longitude)) {\n this.authLocation = true;\n clientLocation = { lat: position.coords.latitude, lng: position.coords.longitude };\n } else {\n let woosLocation = await geolocation(this.$options.wmkey).catch((e) => console.error('Woosmap error: ', e));\n if (woosLocation && woosLocation.success) clientLocation = { lat: woosLocation.latitude, lng: woosLocation.longitude };\n }\n if (this.currentPosition && this.currentPosition.lat === clientLocation.lat && this.currentPosition.lng === clientLocation.lng) return 'stop';\n this.currentPosition = /** @type {google.maps.LatLngLiteral} */ (clientLocation);\n }\n\n initStores(map) {\n const mapContainer = map ? map : this.map;\n if (!window.mapLoaded || !mapContainer || this.storeList?.stores?.length === 0) return;\n // Set prefilled filters\n if (this.$options.filtersServiceSelected) {\n this.$options.filtersServiceSelected.split(',').forEach((s) => {\n this.storeList.toggleFilter(this.storeList.filters.services, s);\n let serviceCheckbox = this.$filterTriggers.find((el) => el.classList.contains(`${this.CLASSES.filterCheckbox}-service-${s}`));\n if (serviceCheckbox) {\n this.toggleFilterButton(true, serviceCheckbox);\n }\n });\n }\n this.originalStoreList = this.storeList.stores;\n\n this.originalStoreList.forEach((store) => {\n store.marker = new google.maps.Marker({ position: store.position, map: mapContainer.mapInstance, icon: this.getIconMarker(store) });\n store.marker.setVisible(false);\n //store.marker.setMap(null);\n store.marker.addListener('click', () => {\n if (this.infoWindow) {\n // remove listener of previously info window\n if (this.infoWindowListener) google.maps.event.removeListener(this.infoWindowListener);\n\n this.infoWindow.close();\n }\n this.infoWindow = new google.maps.InfoWindow({\n content: infoWindowTpl({\n store: {\n id: store.id,\n type: store.type,\n msi: store.msi,\n name: store.insegna,\n addr: store.descrizione,\n indirizzo: store.indirizzo,\n citta: store.citta,\n provincia: store.provincia,\n url: store.url,\n iconUrl: this.$options.storeLogo,\n detail: this.$options.storeDetail,\n indications: this.$options.storeIndications,\n position: store.position,\n qodaCta: this.$options.qodaCta,\n urlQoda: store.urlQoda,\n urlVolantini: store.urlVolantini,\n urlVolantiniCta: this.$options.storeVolantiniCta,\n isStoreSelector: this.$options.isstoreselector,\n storeSelectCta: this.$options.storeSelectCta,\n storeSelectEndpoint: this.$options.storeSelectEndpoint,\n csrfToken: this.$options.csrfToken,\n csrfTokenName: this.$options.csrfTokenName,\n directionExternalUrl: store.directionExternalUrl\n }\n }),\n maxWidth: 320\n });\n\n // init infoWindow event listener\n this.infoWindowListener = this.infoWindow.addListener('domready', this.infoWindowInitBinded);\n\n this.infoWindow.storePosition = store.position;\n this.activeMarker = store.position;\n this.activeMarkerName = store.insegna + ', ' + store.descrizione;\n this.infoWindow.open(mapContainer.mapInstance, store.marker);\n });\n });\n this.markerClusterer = new MarkerClusterer(\n mapContainer.mapInstance,\n this.originalStoreList.map((store) => store.marker),\n { imagePath: this.$options.storePin, gridSize: 60, maxZoom: 14, ignoreHidden: true }\n );\n this.storeList.dirty = true;\n this.storesLoaded = true;\n this.updateStoreList();\n }\n\n initAutocomplete() {\n var input = /** @type {HTMLInputElement} */ (document.querySelector('#volantiniAddressAutocomplete'));\n // eslint-disable-next-line no-undef\n //var autocomplete = autocompleteInstance.autocompleteMulti(input);\n //const _addEventListener = input.addEventListener;\n const debounceAutocomplete = debounce(async (e) => {\n if (this.input.value.length < 1 && e.keyCode == 8) {\n this.$el.querySelector(this.SELECTORS.searchContainer).classList.remove(this.CLASSES.typing);\n this.clearList();\n } else {\n this.$el.querySelector(this.SELECTORS.searchContainer).classList.add(this.CLASSES.typing);\n } /* \n document.querySelector('.storeSelectio-sidebar').classList.remove('initial-state'); */\n\n let inputValue = input.value;\n if (inputValue !== this.$previousSearch) {\n this.previousSearch = inputValue;\n //let selectedItem = document.getElementById('selected-item');\n //selectedItem.innerHTML = '';\n if (input.value.length > 0) {\n this.autocompleteInstance.autocompleteMulti(inputValue).then(\n (results) => this.renderPredictions(results),\n (error) => console.error(error)\n );\n }\n }\n\n let place = this.$pacContainer;\n if (place) {\n if (e.target.value.length > 1 && e.keyCode != 13) {\n place.classList.add('not-found');\n } else {\n place.classList.remove('not-found');\n }\n }\n }, 500);\n\n this.$on('keyup', debounceAutocomplete, this.input);\n\n this.$on(\n 'blur',\n () => {\n this.numberSelected = 0;\n let presel = this.$el.querySelector('.pac-item-selected');\n if (presel) {\n presel.classList.remove('pac-item-selected');\n }\n let place = this.$pacContainer;\n if (place) {\n place.classList.remove('not-found');\n }\n },\n this.input\n );\n\n this.$on(\n 'focus',\n (e) => {\n this.$pacContainer.classList.remove('d-none');\n let place = this.$pacContainer;\n if (place && !place.querySelector('p')) {\n let notFound = document.createElement('p');\n notFound.innerHTML = 'nessuna corrispondenza trovata';\n place.appendChild(notFound);\n }\n if (place && !this.input.value && e.target.value) {\n place.classList.add('not-found');\n }\n },\n this.input\n );\n this.input.addEventListener(\n 'keydown',\n (e) => {\n if (e.code === 'Enter' || e.keyCode == 13) {\n e.preventDefault();\n this.selectAddress(this.numberSelected > 0 ? this.numberSelected - 1 : 0);\n } else if (e.code === 'ArrowDown' || e.keyCode == 40) {\n this.arrowSelect(1);\n } else if (e.code === 'ArrowUp' || e.keyCode == 38) {\n this.arrowSelect(-1);\n }\n },\n this.input\n );\n\n //this.input.addEventListener = addEventListenerWrapper;\n }\n renderPredictions(results) {\n this.clearList();\n this.numberSelected = 0;\n if (!results || results.length === 0) {\n this.selectedAddress = null;\n return;\n }\n this.selectedAddress = results;\n results.forEach((result, i) => {\n let itemList = document.createElement('p');\n itemList.setAttribute('class', 'pac-item');\n itemList.setAttribute('placeid', result.id);\n itemList.setAttribute('api', result.api);\n itemList.innerHTML = result.highlight;\n itemList.addEventListener('click', (event) => {\n this.selectAddress(i);\n });\n this.$pacContainer.appendChild(itemList);\n });\n if (results.length > 0) {\n this.$pacContainer.className = 'pac-container predictions maps ' + results[0].api;\n }\n }\n // eslint-disable-next-line no-undef\n async selectAddress(i) {\n if (!this.selectedAddress) {\n return;\n }\n this.$pacContainer.classList.add('d-none');\n this.input.blur();\n let index = i || 0;\n let address = this.selectedAddress[index];\n this.input.value = address.description;\n let location = await this.getAutocompleteDetails(address);\n this.currentPosition = location;\n this.map.mapInstance.setCenter(location);\n this.map.positionMarker.setPosition(location);\n this.storeList.dirty = true;\n this.doSearch(location.lat, location.lng);\n this.showStores();\n }\n\n async doSearch(lat, long) {\n if (!lat || !long) {\n return;\n }\n this.$off('click.slectDtsStore');\n this.container.innerHTML = '';\n // this.loading(this.loadingContainer);\n var params = {\n lat,\n long,\n isVolantino: true\n };\n\n const { data } = await get(this.$options.url, { params });\n\n const { stores } = data;\n\n if (stores && stores.length > 0) {\n let filteredStores =\n this.$options.availableStores && this.$options.availableStores !== ''\n ? stores.filter((s) => {\n return this.$options.availableStores.split(',').indexOf(s.Msi) > -1;\n })\n : stores;\n let storesWithDistance = await this.calculateDistances(lat, long, filteredStores);\n this.storeList.stores = storesWithDistance;\n if (this.nearest && this.authLocation) {\n window.location.href = storesWithDistance[0].UrlVolantini;\n } else if (this.nearest) {\n this.endLoading();\n document.querySelector('body').classList.remove('strong-loader');\n }\n this.updateStoreList();\n this.containerall.classList.remove('d-none');\n // this.endLoading(this.loadingContainer);\n }\n\n this.$el.querySelector('.volantini-filter-store-type').classList.remove('d-none');\n }\n\n async getAutocompleteDetails(address) {\n const { id, api } = address;\n const result = await this.autocompleteInstance.detailsMulti({ id, api });\n return result && result.geometry && result.geometry.location;\n }\n updateStoreList() {\n this.$el.classList.add('open');\n let stores = this.storeList.stores;\n const baseUrl = this.$options.baseUrl + '?storeId=';\n const filtersActive = this.$el.querySelectorAll(`${this.SELECTORS.filter}.${this.CLASSES.active}`);\n if (filtersActive && filtersActive.length > 0 && filtersActive.length < 3) {\n let filterValues = [];\n filtersActive.forEach((f) => {\n filterValues.push(f.getAttribute('data-filter-value'));\n });\n stores = stores.filter((s) => {\n return filterValues.indexOf(s.Type) > -1;\n });\n }\n let googleMapContainer = document.querySelector(this.SELECTORS.mapContainer);\n let sortedStores = this.sortStores(stores);\n if (sortedStores.length === 0) {\n googleMapContainer.classList.add(this.CLASSES.noResults);\n this.containerall.classList.add(this.CLASSES.noResults);\n } else {\n googleMapContainer.classList.remove(this.CLASSES.noResults);\n this.containerall.classList.remove(this.CLASSES.noResults);\n }\n this.container.innerHTML = servicesTemplate({ stores: sortedStores, baseUrl: baseUrl });\n var card = this.$el.querySelectorAll('.volantini-store-card');\n card.forEach((el) => {\n this.$on('click.slectDtsStore', this.selectStoreBinded, el);\n });\n }\n\n selectStore(e) {\n let elementSelected = e.currentTarget;\n let url = elementSelected.getAttribute('data-option-url');\n Cookies.set('c4_volantini_store', url);\n\n let insegna = elementSelected.getAttribute('data-option-brand');\n let msi = elementSelected.getAttribute('data-option-msi');\n let distance = elementSelected.getAttribute('data-option-distance');\n let cookieName = insegna === 'express' ? 'c4_volantino_express' : insegna === 'market' ? 'c4_volantino_market' : 'c4_volantino_iper';\n Cookies.set(cookieName, JSON.stringify({ codice: msi, datainserimento: new Date().getTime() }), {\n expires: 30\n });\n localStorage.setItem('fl_st_dist', JSON.stringify({ codice: msi, distance: distance }));\n\n this.avoidMapChange = true;\n // const found = this.originalStoreList.find((store) => store.msi == msi);\n\n // this.map.mapInstance.setCenter(found.marker.getPosition());\n // let storeRef = found;\n // if (this.infoWindow) this.infoWindow.close();\n // this.infoWindow = new google.maps.InfoWindow({\n // content: infoWindowTpl({\n // store: {\n // id: storeRef.id,\n // type: storeRef.type,\n // name: storeRef.insegna,\n // addr: storeRef.descrizione,\n // url: storeRef.url,\n // iconUrl: this.$options.storeLogo,\n // detail: this.$options.storeDetail,\n // indications: this.$options.storeIndications,\n // position: storeRef.position,\n // qodaCta: this.$options.qodaCta,\n // urlQoda: storeRef.urlQoda,\n // urlVolantini: storeRef.urlVolantini,\n // urlVolantiniCta: this.$options.storeVolantiniCta,\n // isStoreSelector: this.$options.isstoreselector,\n // storeSelectCta: this.$options.storeSelectCta,\n // storeSelectEndpoint: this.$options.storeSelectEndpoint,\n // csrfToken: this.$options.csrfToken,\n // csrfTokenName: this.$options.csrfTokenName,\n // directionExternalUrl: storeRef.directionExternalUrl\n // }\n // })\n // });\n // this.infoWindow.storePosition = storeRef.position;\n // this.activeMarker = storeRef.position;\n // this.activeMarkerName = storeRef.insegna + ', ' + storeRef.descrizione;\n // storeRef.marker.setVisible(true);\n // this.infoWindow.open(this.map.mapInstance, storeRef.marker);\n\n if (match('lg', null)) {\n if (window.pageYOffset != document.documentElement.scrollTop) {\n document.body.scrollTop = 0;\n } else {\n document.documentElement.scrollTop = 0;\n }\n }\n }\n\n infoWindowInit() {\n // debug init\n // console.log('INIT INFO WINDOW');\n const storeDetailSelector = document.querySelector(this.SELECTORS.storeDetailCta);\n\n if (storeDetailSelector) {\n this.$off('click', this.selectStoreBinded, storeDetailSelector);\n this.$on('click', this.selectStoreBinded, storeDetailSelector);\n }\n }\n\n async calculateDistances(lat, lng, storeList) {\n let wmresponse = await distanceMatrix(\n { lat, lng },\n storeList.map((s) => {\n return {\n lat: s.Latitude,\n lng: s.Longitude\n };\n }),\n this.$options.wmkey\n );\n\n // fix error on distances if response is not success, return storeList as fallback\n if (!wmresponse.success) {\n return storeList;\n }\n\n let distances = wmresponse.rows?.[0].elements;\n return storeList.map((s, i) => {\n return {\n ...s,\n distanceKm: distances[i].status === 'OK' ? this.getKmFromDistanceText(distances[i].distance.text) : 9999,\n distanceText: distances[i].status === 'OK' ? distances[i].distance.text : '',\n durationText: distances[i].status === 'OK' ? distances[i].duration.text : ''\n };\n });\n }\n\n sortStores(storeList) {\n let storesSorted = [];\n let storeByDistance = storeList.sort((s1, s2) => {\n return s1.distanceKm - s2.distanceKm;\n });\n const filtersActive = this.$el.querySelectorAll(`${this.SELECTORS.filter}.${this.CLASSES.active}`);\n let filterValues = [];\n filtersActive.forEach((f) => {\n filterValues.push(f.getAttribute('data-filter-value'));\n });\n if (filterValues.length === 0 || filterValues.length === 3) {\n storesSorted = storeByDistance\n .slice(0, 3)\n .concat(this.getStoreByBrandAndDistance(storeByDistance.slice(3), 'iper', 50).slice(0, 3))\n .concat(this.getStoreByBrandAndDistance(storeByDistance.slice(3), 'market', 20).slice(0, 10))\n .concat(this.getStoreByBrandAndDistance(storeByDistance.slice(3), 'express', 10).slice(0, 20));\n } else if (filterValues.length === 1) {\n let brand = filterValues[0];\n let distance = brand === 'market' ? 20 : brand === 'express' ? 10 : 50;\n storesSorted = this.getStoreByBrandAndDistance(storeByDistance, brand, distance).slice(0, 20);\n } else if (filterValues.length === 2) {\n if (filterValues.indexOf('iper') > -1) {\n storesSorted = storeByDistance\n .slice(0, 3)\n .concat(this.getStoreByBrandAndDistance(storeByDistance.slice(3), 'iper', 50).slice(0, 5))\n .concat(this.getStoreByBrandAndDistance(storeByDistance.slice(3), filterValues.indexOf('market') > -1 ? 'express' : 'market', 20).slice(0, 12));\n } else {\n storesSorted = storeByDistance\n .slice(0, 3)\n .concat(this.getStoreByBrandAndDistance(storeByDistance.slice(3), 'market', 20).slice(0, 8))\n .concat(this.getStoreByBrandAndDistance(storeByDistance.slice(3), 'express', 10).slice(0, 9));\n }\n }\n\n return storesSorted;\n }\n\n getStoreByBrandAndDistance(storeList, brand, distance) {\n return storeList.filter((s) => {\n return s.Type === brand && s.distanceKm <= distance;\n });\n }\n\n getKmFromDistanceText(distanceText) {\n const unitConversion = {\n cm: 0.00001,\n m: 0.001,\n km: 1\n };\n\n let distancePart = distanceText.split(' ');\n let distanceValue = +distancePart[0];\n let distanceUnit = distancePart[1];\n return unitConversion[distanceUnit.toLowerCase()] * distanceValue;\n }\n\n positionFind(location) {\n this.doSearch(location.coords.latitude, location.coords.longitude);\n // eslint-disable-next-line no-undef\n const geocoder = new google.maps.Geocoder();\n geocoder.geocode(\n {\n location: {\n lat: location.coords.latitude,\n lng: location.coords.longitude\n }\n },\n (results, status) => {\n if (status === 'OK') {\n if (results[0]) {\n const place = results[0];\n this.input.value = place.formatted_address;\n } else {\n window.alert('No results found');\n }\n } else {\n window.alert('Geocoder failed due to: ' + status);\n }\n }\n );\n }\n\n clearField() {\n this.$on(\n 'click',\n (e) => {\n e.preventDefault();\n this.input.value = '';\n this.$el.querySelector(this.SELECTORS.searchContainer).classList.remove(this.CLASSES.typing);\n this.clearList();\n },\n this.$el.querySelector('.clear-position')\n );\n }\n\n getAddressPart(address, part) {\n let addressParts = {\n cap: ['postal_code'],\n city: ['locality', 'administrative_area_level_3'],\n address: ['route'],\n civic: ['street_number'],\n administrativeAreaLevel3: ['administrative_area_level_3'],\n administrativeAreaLevel2: ['administrative_area_level_2']\n };\n\n let typesToSearch = addressParts[part] || [];\n let addressPart = address.find((addressComponent) => {\n let typesIntersection = addressComponent.types.filter((type) => {\n return typesToSearch.indexOf(type) !== -1;\n });\n return typesIntersection.length > 0;\n });\n\n return addressPart ? addressPart.short_name : null;\n }\n\n clearList() {\n this.$el.querySelectorAll('.pac-item').forEach((el) => el.remove());\n }\n\n arrowSelect(n) {\n let options = this.$el.querySelectorAll('.pac-item');\n let presel = this.$el.querySelector('.pac-item-selected');\n if (presel) {\n presel.classList.remove('pac-item-selected');\n }\n\n let num = this.numberSelected + n;\n if (num > options.length) {\n num = 1;\n } else if (num < 1) {\n num = options.length;\n }\n this.numberSelected = num;\n options[num - 1].classList.add('pac-item-selected');\n }\n\n async clickFindCurrentPositionCB(e) {\n if (e) e.preventDefault();\n if (!this.isMobileApp) {\n await this.getClientLocation();\n }\n this.map.mapInstance.setCenter(this.currentPosition);\n this.map.positionMarker.setPosition(this.currentPosition);\n }\n\n filterStoreTypes() {\n if (this.$options.storeTypes) {\n let storeTypes = this.$options.storeTypes.split('-');\n this.$el.querySelectorAll(this.SELECTORS.filter).forEach((filterBtn) => {\n if (storeTypes.includes(filterBtn.getAttribute('data-filter-value'))) {\n filterBtn.classList.toggle(this.CLASSES.active);\n }\n });\n this.updateStoreList();\n }\n }\n}\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\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 = '<% stores.forEach(function(store){ %>\\n\"\\n class=\"volantini-store-card store-card <%= store.Type %>\"\\n data-option-url=\"<%= store.UrlVolantini %>\"\\n data-option-brand=\"<%= store.Type %>\"\\n data-option-msi=\"<%= store.Msi %>\"\\n data-option-distance=\"<%= store.distanceText %>\"\\n>\\n

\\n

\" data-lng=\"<%= store.Longitude %>\" data-id=\"<%= store.Id %>\"><%= store.Insegna %>

\\n

<%= store.Descrizione %>

\\n

<%= store.distanceText %> <% if (store.durationText) { %>(<%= store.durationText %>)<% } %>

\\n

\\n
\\n\\n<% }); %>\\n', __filename = \"src/microtemplates/stores/flyerServices.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n stores.forEach(function(store) {\n __append('\\n\\n

\\n

');\n __append(escapeFn(store.Insegna));\n __append('

\\n

');\n __line = 11;\n __append(escapeFn(store.Descrizione));\n __append('

\\n

');\n __line = 12;\n __append(escapeFn(store.distanceText));\n __append(\" \");\n if (store.durationText) {\n __append(\"(\");\n __append(escapeFn(store.durationText));\n __append(\")\");\n }\n __append(\"

\\n

\\n
\\n\\n\");\n __line = 16;\n });\n __append(\"\\n\");\n __line = 17;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}"],"sourceRoot":""}