{"version":3,"sources":["webpack:///./modules/MapLoader.ts"],"names":["__webpack_require__","r","__webpack_exports__","_PharmacyFinder__WEBPACK_IMPORTED_MODULE_1__","_helpers_gMapHelpers__WEBPACK_IMPORTED_MODULE_2__","_helpers_DOMHelpers__WEBPACK_IMPORTED_MODULE_3__","MapLoader","element","_this","this","googleApiSrc","document","querySelectorAll","length","window","Eucerin","mapLoad","querySelector","lazyLoadLayerMap","addEventsOnInput","setup","selector","Array","from","filter","node","dataset","moduleInitialized","forEach","prototype","searchInput","searchInputIcon","sanitizeInput","input","div","createElement","appendChild","createTextNode","replace","innerHTML","addEventListener","e","key","searchInputVal","value","localStorage","setItem","location","hash","closest","initMap","head","getElementsByTagName","script","type","src","setAttribute","Object"],"mappings":"+FAAAA,EAAAC,EAAAC,GAAAF,EAAA,QAAAG,EAAAH,EAAA,IAAAI,EAAAJ,EAAA,KAAAK,EAAAL,EAAA,GAUAM,EAAA,WAWI,SAAAA,EAAmBC,GAAnB,IAAAC,EAAAC,KAAmBA,KAAAF,UAVnBE,KAAAC,aAAe,+CAA+CN,EAAA,EAAU,sDAW1CO,SAASC,iBAAiB,SAASH,KAAKC,aAAY,MAAMG,OAAS,EAoBzF,IAAIV,EAAA,QAAeM,KAAKF,UAVxBO,OAAOC,QAAQC,QAAU,WACrB,IAAIb,EAAA,QAAeK,EAAKD,UAGtBE,KAAKF,QAAQU,cAAc,iBAC7BR,KAAKS,oBAObT,KAAKU,mBAoDb,OAlFWb,EAAAc,MAAP,SAAaC,QAAA,IAAAA,MAVM,6BAWfC,MAAMC,KAAKZ,SAASC,iBAAiBS,IAAWG,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAACrB,GACpH,IAAID,EAAUC,GACdA,EAAQmB,QAAQC,kBAAoB,UA8B5CrB,EAAAuB,UAAAV,iBAAA,eAAAX,EAAAC,KACUqB,EAAcrB,KAAKF,QAAQU,cAAc,qCACzCc,EAAkBtB,KAAKF,QAAQU,cAAc,qCAE7Ce,EAAgB,SAACC,GACnB,IAAMC,EAAMvB,SAASwB,cAAc,OAEnC,OADAD,EAAIE,YAAYzB,SAAS0B,eAAeJ,EAAMK,QAAQ,KAAM,YACrDJ,EAAIK,WAGXT,GACAA,EAAYU,iBAAiB,WAAY,SAACC,GACxB,UAAVA,EAAEC,MACFlC,EAAKmC,eAAiBX,EAAcF,EAAYc,OAChDC,aAAaC,QAAQ,gBAAiBtC,EAAKmC,gBAC3C7B,OAAOiC,SAASC,KAAO,2BAK/BlB,GAAeC,GACfA,EAAgBS,iBAAiB,QAAS,WACtChC,EAAKmC,eAAiBX,EAAcF,EAAYc,OAChDC,aAAaC,QAAQ,gBAAiBtC,EAAKmC,mBAMvDrC,EAAAuB,UAAAX,iBAAA,WACQT,KAAKF,QAAQ0C,QAAQ,iCACrBxC,KAAKyC,WAGb5C,EAAAuB,UAAAqB,QAAA,WACI,IAAIC,EAAOxC,SAASyC,qBAAqB,QAAQ,GAC7CC,EAAS1C,SAASwB,cAAc,UAMpC,GALAkB,EAAOC,KAAO,kBACdD,EAAOE,IAAM9C,KAAKC,aAClB2C,EAAOG,aAAa,QAAS,IAC7BH,EAAOG,aAAa,QAAS,IAEzBC,OAAApD,EAAA,EAAAoD,CAAoBJ,GAEpB,OADAvC,OAAOC,QAAQC,WACR,EAGXmC,EAAKf,YAAYiB,IAEzB/C,EAtFA,eAwFA,IAAIA,EAAUc","file":"./modules/MapLoader.4c30ad1c.js","sourcesContent":["/// \r\n\r\nimport '../../less/modules/pharmacy-finder-map.less';\r\n\r\nconst moduleSelector = '[data-module=\"MapLoader\"]'\r\n\r\nimport PharmacyFinder from './PharmacyFinder';\r\nimport { gMapApiKey } from \"../helpers/gMapHelpers\";\r\nimport { isScriptTagRendered } from '../helpers/DOMHelpers';\r\n\r\nexport default class MapLoader {\r\n googleApiSrc = `https://maps.googleapis.com/maps/api/js?key=${gMapApiKey}&libraries=geometry&callback=window.Eucerin.mapLoad`;\r\n searchInputVal: string;\r\n\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new MapLoader(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n const isGoogleApiLoaded = document.querySelectorAll(`[src=\"${this.googleApiSrc}\"]`).length > 0;\r\n\r\n //if (this.element.closest(\".pharmacy-finder-layer\")) {\r\n // setTimeout(() => {\r\n // const cmpContent = document.querySelector(\".cp-pharmacy-finder .cmplazypreviewiframe\").cloneNode(true);\r\n // this.element.prepend(cmpContent);\r\n // }, 500)\r\n //}\r\n\r\n if (!isGoogleApiLoaded) {\r\n window.Eucerin.mapLoad = () => {\r\n new PharmacyFinder(this.element);\r\n }\r\n\r\n if (!(this.element.querySelector(\".cmplazyload\"))) {\r\n this.lazyLoadLayerMap();\r\n }\r\n\r\n\r\n } else {\r\n new PharmacyFinder(this.element);\r\n }\r\n this.addEventsOnInput();\r\n }\r\n \r\n addEventsOnInput() {\r\n const searchInput = this.element.querySelector('.cp-pharmacy-finder__header input') as HTMLInputElement;\r\n const searchInputIcon = this.element.querySelector('.cp-pharmacy-finder_wrapper-icons');\r\n\r\n const sanitizeInput = (input: string) => {\r\n const div = document.createElement('div');\r\n div.appendChild(document.createTextNode(input.replace(/\"/g, \""\")));\r\n return div.innerHTML;\r\n };\r\n\r\n if (searchInput) {\r\n searchInput.addEventListener('keypress', (e: KeyboardEvent) => {\r\n if (e.key === 'Enter') {\r\n this.searchInputVal = sanitizeInput(searchInput.value);\r\n localStorage.setItem(\"pfSearchValue\", this.searchInputVal);\r\n window.location.hash = 'layer=pharmacy-finder';\r\n }\r\n });\r\n }\r\n\r\n if (searchInput && searchInputIcon) {\r\n searchInputIcon.addEventListener('click', () => {\r\n this.searchInputVal = sanitizeInput(searchInput.value);\r\n localStorage.setItem(\"pfSearchValue\", this.searchInputVal);\r\n });\r\n }\r\n }\r\n\r\n\r\n lazyLoadLayerMap() {\r\n if (this.element.closest('.layer.pharmacy-finder-layer'))\r\n this.initMap();\r\n }\r\n\r\n initMap() {\r\n var head = document.getElementsByTagName('head')[0];\r\n var script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.src = this.googleApiSrc;\r\n script.setAttribute('async', \"\");\r\n script.setAttribute('defer', \"\");\r\n\r\n if (isScriptTagRendered(script)) {\r\n window.Eucerin.mapLoad();\r\n return false;\r\n }\r\n\r\n head.appendChild(script);\r\n }\r\n}\r\n\r\nnew MapLoader.setup();"],"sourceRoot":""}