{"version":3,"sources":["webpack:///./src/client/default/js/components/WoosmapStaticMap.js","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/classes/woosmap/woosmapClass.js"],"names":["PIN_SIZE","height","width","WoosmapStaticMap","element","initWoosmap","this","$options","wmkey","defaultMarker","url","pin","scaledSize","woosmap","Woosmap","$el","WOOSMAP_KEY","markers","DEFAULT_MARKER","geolocation","config","center","lat","lng","zoom","gestureHandling","disableDefaultUI","disableTilt","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","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","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","initWoosmapScript","woosmapKey","script","createElement","src","defer","initMap","event","Event","dispatchEvent","head","appendChild","initWoosmapMultiSearchScript","onload","result","success","ipCoord","latitude","longitude","console","distanceMatrix","origin","destinations","map","destination","rows","autocompleteLocalties","searchInputId","autocompleteOptions","localities","Autocomplete","autocompleteMultisearch","multisearch","apiOrder","fallbackBreakpoint","params","components","country","language","types","address","places","getKmFromDistanceText","distanceText","distancePart","split","distanceValue","cm","m","km","toLowerCase","reverseGeocoding","getPositionObject","position","renderRouteResult","legs","routes","end_address","start_location","end_location","distance","text","duration","steps","step","instructions","summary","renderTransitRouteResult","route","seconds","hours","Math","floor","remainingSeconds","minutes","leg","type","travel_mode","name","transport","mode","short_name","long_name","DEFAULT_GEOLOCATION","DEFAULT_MAP_CONFIG","minZoom","MARKERS","$elm","mapConfig","addEventListener","woosmapLoaded","bind","currentPosition","visible","marker","Marker","setMap","getGeolocation","setPosition","setMarker","setCenter","getCenter","Map","directionsService","DirectionsService","directionsRenderer","DirectionsRenderer","transitService","TransitService","transitRenderer","TransitRenderer","getCurrentPosition","content","InfoWindow","getBounds","flyTo","eventName","callback","call","arguments","detail","CustomEvent","removeEventListener","setZoom","setDirections","setRoutes","payload","travelMode","TravelMode"],"mappings":"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","file":"js/component-WoosmapStaticMap-js.chunks.js","sourcesContent":["'use strict';\n\nimport BaseComponent from '../base/baseComponent';\nimport Woosmap from '../classes/woosmap/woosmapClass';\n\nconst PIN_SIZE = { height: 45, width: 33.5 };\n\nexport default class WoosmapStaticMap extends BaseComponent {\n get WOOSMAP_KEY() {\n return this.$options.wmkey;\n }\n\n get DEFAULT_MARKER() {\n return {\n defaultMarker: {\n url: this.$options.pin,\n scaledSize: PIN_SIZE\n }\n };\n }\n\n constructor(element) {\n super(element);\n\n this.initWoosmap();\n }\n\n initWoosmap() {\n //construct Map\n this.woosmap = new Woosmap(this.$el, this.WOOSMAP_KEY, {\n markers: this.DEFAULT_MARKER,\n geolocation: false,\n config: {\n center: { lat: this.$options.lat, lng: this.$options.lng },\n zoom: 18,\n gestureHandling: 'none',\n disableDefaultUI: true,\n disableTilt: true\n }\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","'use strict';\n\n/// <reference types=\"woosmap\" />\n/* global woosmap */\n\nimport { get } from '../libs/Axios';\n\nexport async function initWoosmapScript(woosmapKey) {\n // Create the script tag, set the appropriate attributes\n const script = document.createElement('script');\n script.src = `https://sdk.woosmap.com/map/map.js?key=${woosmapKey}&callback=initMap`;\n script.defer = true;\n\n // The callback function\n window.initMap = function() {\n // JS API is loaded and available\n const event = new Event('woosmap:loaded');\n document.body.dispatchEvent(event);\n };\n\n // Append the 'script' element to 'head'\n document.head.appendChild(script);\n}\n\nexport async function initWoosmapMultiSearchScript() {\n // Create the script tag, set the appropriate attributes\n const event = new Event('woosmap:multisearch:loaded');\n const script = document.createElement('script');\n script.src = `https://sdk.woosmap.com/multisearch/multisearch.js`;\n script.defer = true;\n\n script.onload = () => document.body.dispatchEvent(event);\n\n // Append the 'script' element to 'head'\n document.body.appendChild(script);\n}\n/**\n * @returns {Promise<woosmap.geolocationResponse>}\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) {\n return new 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: woosmapKey,\n params: {\n components: {\n country: ['it']\n },\n language: 'it',\n types: []\n }\n }\n });\n}\n\nexport function 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\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/**\n *\n * @param {woosmap.map.LatLng} position\n * @returns { {lat: number, lng: number} }\n */\nexport function getPositionObject(position) {\n return { lat: position.lat(), lng: position.lng() };\n}\n\n/**\n *\n * @param { {status: String, result: Array<any>} } result\n * @returns { Object }\n */\nexport function renderRouteResult(result) {\n const legs = result.routes[0]?.legs[0];\n return {\n end_address: legs?.end_address,\n start_location: legs?.start_location,\n end_location: legs?.end_location,\n distance: legs?.distance.text,\n duration: legs?.duration.text,\n steps: legs?.steps.map((step) => {\n let { instructions, distance, duration } = step;\n let { summary } = instructions;\n return {\n summary,\n distance,\n duration\n };\n })\n };\n}\n\n/**\n *\n * @param {Number} seconds\n * @returns {String}\n */\nfunction formatDuration(seconds) {\n const hours = Math.floor(seconds / 3600);\n const remainingSeconds = seconds % 3600;\n const minutes = Math.floor(remainingSeconds / 60);\n return `${hours} ore ${minutes} minuti`;\n}\n\n// @TODO i seguenti testi sono da spostare sulle traduzioni... (prima o poi)\n/**\n *\n * @param {*} result\n * @returns { Array<any> }\n */\nexport function renderTransitRouteResult(result) {\n return {\n start_location: result.routes[0]?.legs[0]?.start_location?.location,\n routes: result.routes.map((route) => ({\n duration: formatDuration(route.duration),\n legs: route.legs.map((leg) => {\n if (leg.end_location.type === 'place') {\n return 'Sei arrivato a destinazione';\n }\n\n if (leg.travel_mode === 'pedestrian') {\n return `Procedi a piedi verso ${leg.end_location.name}`;\n }\n\n if (leg.travel_mode === 'transit') {\n const { mode, short_name, long_name } = leg.transport;\n\n if (mode === 'bus' || mode === 'lightRail' || mode === 'subway') {\n const transportType = mode === 'bus' ? 'il bus' : mode === 'subway' ? 'la metro' : 'il tram';\n return `Prendi ${transportType} ${short_name || ''} e scendi alla fermata ${leg.end_location.name}`;\n }\n\n if (['highSpeedTrain', 'intercityTrain', 'interRegionalTrain', 'regionalTrain', 'cityTrain'].includes(mode)) {\n return `Prendi il treno ${long_name || ''} e scendi alla fermata ${leg.end_location.name}`;\n }\n\n if (mode === 'ferry') {\n return `Prendi il traghetto da ${leg.start_location.name} verso ${leg.end_location.name}`;\n }\n\n return `Prendi ${mode} e scendi alla fermata ${leg.end_location.name}`;\n }\n\n return 'Percorso non definito';\n })\n }))\n };\n}\n","'use strict';\n\n/// <reference types=\"woosmap\" />\n/* global woosmap */\n\nimport { geolocation, initWoosmapScript } from '../../utilities/woosmapUtils';\n\nconst DEFAULT_GEOLOCATION = { lat: 45.5718999, lng: 9.1483656 }; // Paderno Dugnano\nconst PIN_SIZE = { height: 50, width: 32 };\nconst DEFAULT_MAP_CONFIG = {\n gestureHandling: 'cooperative',\n minZoom: 9,\n zoom: 12\n};\nconst MARKERS = {\n defaultMarker: {\n url: 'https://images.woosmap.com/marker.png',\n scaledSize: PIN_SIZE\n }\n};\n\nexport default class Woosmap {\n constructor($elm, wmkey, options = {}) {\n this.mapConfig = { ...DEFAULT_MAP_CONFIG, ...options.config };\n this.markers = { ...MARKERS, ...options.markers };\n this.geolocation = typeof options.geolocation == 'undefined' ? true : options.geolocation;\n this.wmkey = wmkey;\n this.$elm = $elm;\n\n initWoosmapScript(wmkey);\n\n this.initMap();\n }\n\n initMap() {\n document.body.addEventListener('woosmap:loaded', this.woosmapLoaded.bind(this));\n }\n\n async getGeolocation() {\n const res = await geolocation(this.wmkey);\n\n if (res && res.success) {\n this.currentPosition = { lat: res.latitude, lng: res.longitude };\n } else {\n this.currentPosition = DEFAULT_GEOLOCATION; //Default position: Paderno Dugnano\n }\n }\n\n setMarker({ position, icon, visible }) {\n const marker = new woosmap.map.Marker({\n position,\n icon: icon || this.markers.defaultMarker,\n visible\n });\n\n if (visible) {\n marker.setMap(this.map);\n }\n\n return marker;\n }\n\n async getCurrentPosition() {\n await this.getGeolocation();\n this.setPosition(this.currentPosition);\n }\n\n // set current position marker\n setPosition(position) {\n if (this.defaultMarker) {\n this.defaultMarker.setMap(null);\n }\n\n this.defaultMarker = this.setMarker({\n position,\n visible: true\n });\n\n this.map.setCenter(position);\n return this;\n }\n\n getPosition() {\n const center = this.map.getCenter();\n return { lat: center.lat(), lng: center.lng() };\n }\n\n async woosmapLoaded() {\n //construct Map\n this.map = new woosmap.map.Map(this.$elm, this.mapConfig);\n this.directionsService = new woosmap.map.DirectionsService();\n this.directionsRenderer = new woosmap.map.DirectionsRenderer();\n\n this.transitService = new woosmap.map.TransitService();\n this.transitRenderer = new woosmap.map.TransitRenderer();\n\n if (this.geolocation) {\n await this.getCurrentPosition();\n } else {\n this.setPosition(this.mapConfig.center);\n }\n\n document.body.dispatchEvent(new Event('woosmap:mapLoaded'));\n }\n\n setInfoWindow(content, options = {}) {\n return new woosmap.map.InfoWindow({ content, ...options });\n }\n\n getBounds() {\n return this.map.getBounds();\n }\n\n flyTo(center, zoom) {\n return this.map.flyTo({ center, zoom });\n }\n\n addListener(eventName, callback) {\n this.$elm.addEventListener(eventName, callback.call(this, arguments));\n }\n\n dispatch(eventName, detail) {\n const event = new CustomEvent(eventName, { detail });\n this.$elm.dispatchEvent(event);\n }\n\n removeListener(eventName, callback) {\n this.$elm.removeEventListener(eventName, callback);\n }\n\n setZoom(zoom) {\n this.map.setZoom(zoom || DEFAULT_MAP_CONFIG.zoom);\n return this;\n }\n\n setRouteDirection(result) {\n this.directionsRenderer.setDirections(result);\n }\n\n setTransitRoutes(result) {\n this.transitRenderer.setRoutes(result.routes);\n }\n\n calcTransitRoute(payload, cb) {\n this.directionsRenderer.setMap(null);\n\n this.transitRenderer.setMap(this.map);\n this.transitService.route(payload).then(cb);\n }\n\n calcRoute(payload, cb) {\n this.transitRenderer.setMap(null);\n\n payload.travelMode = woosmap.map.TravelMode[payload.travelMode];\n\n this.directionsRenderer.setMap(this.map);\n this.directionsService.route(payload, cb);\n }\n}\n"],"sourceRoot":""}