{"version":3,"file":"scripts/search/searchform.js","mappings":"mBA6CA,SAASA,IACL,IAAIC,EAAeC,SAASC,cAAc,UACjBD,SAASC,cAAc,iBAEzBC,SACnBH,EAAaI,UAAW,EACxBJ,EAAaK,YAAcL,EAAaM,QAAQC,sBAEhDP,EAAaI,UAAW,EACxBJ,EAAaK,YAAc,IAInC,SAASG,EAA8BC,GACnC,IAAIC,EAAkBT,SAASC,cAAc,aACzCS,EAAmBV,SAASC,cAAc,cAE9CQ,EAAgBE,MAAQH,EAAMA,MAAMI,SAASC,SAASC,MACtDJ,EAAiBC,MAAQH,EAAMA,MAAMI,SAASC,SAASE,OAG3D,WACI,IAAIC,EAAqBhB,SAASC,cAAc,iBAChD,IAAIgB,EAAajB,SAASC,cAAc,8BAExC,ICtEJ,MACIiB,YAAYC,EAAoBC,GACxBC,OAAOC,SACPC,KAAKC,oBAAsBL,EAC3BI,KAAKE,gBAAkBL,EACvBG,KAAKG,8BACLH,KAAKI,cAAcC,YAAY,gBAAiBL,KAAKM,eAAeC,KAAKP,OACzEA,KAAKC,oBAAoBO,iBAAiB,WAAW,SAAUC,GACrC,KAAlBA,EAAMC,SACND,EAAME,qBAMtBV,oBACAC,gBACAE,cAEAD,8BACIH,KAAKI,cAAgB,IAAIL,OAAOa,KAAKC,OAAOC,aAAad,KAAKC,oBAAqB,CAE/Ec,sBAAuB,CAAEC,QAAS,CAAC,KAAM,KAAM,KAAM,KAAM,SAInEC,WACI,OAAOjB,KAAKI,cAAcc,WAG9BZ,iBACIN,KAAKE,gBAAgB,CACbjB,MAAOe,KAAKiB,eDsCIvB,EAAYV,GAEpCS,IACK0B,UAAUC,YAIX3B,EAAmBe,iBAAiB,UAChC,YA5EhB,SAA2B7B,GACvB,IAAIc,EAAqBhB,SAASC,cAAc,iBAC5CQ,EAAkBT,SAASC,cAAc,aACzCS,EAAmBV,SAASC,cAAc,cAC1CF,EAAeC,SAASC,cAAc,UACtC2C,EAAc5C,SAASC,cAAc,SACrC4C,EAAeD,EAAYjC,MAE3BT,GACAH,EAAaI,UAAW,EACxBJ,EAAaK,YAAcL,EAAaM,QAAQC,oBAChDoC,UAAUC,YAAYG,oBAS1B,SAAiBC,GACM/C,SAASC,cAAc,UAC7BU,MAAQ,GAErBiC,EAAYjC,MAAQ,UACpB,IACIqC,EAAWD,EAASE,OAAOD,SAASE,QADpB,GAEhBC,EAAYJ,EAASE,OAAOE,UAAUD,QAFtB,GAIpBzC,EAAgBE,MAAQqC,EACxBtC,EAAiBC,MAAQwC,KAG7B,WACInC,EAAmBd,SAAU,EAC7Bc,EAAmBb,UAAW,EAC9BJ,EAAaK,YAAcL,EAAaM,QAAQ+C,iBAEhDtD,SAzBAW,EAAgBE,MAAQ,GACxBD,EAAiBC,MAAQ,GACzBZ,EAAaI,UAAW,EACxBJ,EAAaK,YAAcL,EAAaM,QAAQ+C,iBAChDR,EAAYjC,MAAQkC,GA4DRQ,CAAkB9B,KAAKrB,aAL/Bc,EAAmBd,SAAU,EAC7Bc,EAAmBb,UAAW,IAStCL,IAlBJ,I","sources":["webpack://BokaWeb/./src/js/components/search/searchform.js","webpack://BokaWeb/./src/js/services/GooglePlaceAutoComplete.js"],"sourcesContent":["import GooglePlaceAutoComplete from '../../services/GooglePlaceAutoComplete';\r\n\r\nfunction searchUseLocation(checked) {\r\n let useLocationElement = document.querySelector(\"#use-location\");\r\n let latitudeElement = document.querySelector(\"#latitude\");\r\n let longitudeElement = document.querySelector(\"#longitude\");\r\n let whereElement = document.querySelector(\"#where\");\r\n let sortElement = document.querySelector(\"#sort\");\r\n let oldSortValue = sortElement.value;\r\n\r\n if (checked) {\r\n whereElement.disabled = true;\r\n whereElement.placeholder = whereElement.dataset.placeholderLocation;\r\n navigator.geolocation.getCurrentPosition(success, error);\r\n } else {\r\n latitudeElement.value = \"\";\r\n longitudeElement.value = \"\";\r\n whereElement.disabled = false;\r\n whereElement.placeholder = whereElement.dataset.placeholderWhere;\r\n sortElement.value = oldSortValue;\r\n }\r\n\r\n function success(position) {\r\n let whereElement = document.querySelector(\"#where\");\r\n whereElement.value = \"\";\r\n\r\n sortElement.value = \"Closest\";\r\n let decimalPlaces = 3; // Within 111 m of the user. Preserve the users privacy by not using precise location.\r\n let latitude = position.coords.latitude.toFixed(decimalPlaces);\r\n let longitude = position.coords.longitude.toFixed(decimalPlaces);\r\n\r\n latitudeElement.value = latitude;\r\n longitudeElement.value = longitude;\r\n }\r\n\r\n function error() {\r\n useLocationElement.checked = false;\r\n useLocationElement.disabled = true;\r\n whereElement.placeholder = whereElement.dataset.placeholderWhere;\r\n\r\n disableWhereInputIfUseLocation();\r\n }\r\n\r\n}\r\n\r\nfunction disableWhereInputIfUseLocation() {\r\n let whereElement = document.querySelector(\"#where\");\r\n let useLocationElement = document.querySelector(\"#use-location\");\r\n\r\n if (useLocationElement.checked) {\r\n whereElement.disabled = true;\r\n whereElement.placeholder = whereElement.dataset.placeholderLocation;\r\n } else {\r\n whereElement.disabled = false;\r\n whereElement.placeholder = \"\";\r\n }\r\n}\r\n\r\nfunction onChangeLatitudeAndLongitude (place) {\r\n let latitudeElement = document.querySelector(\"#latitude\");\r\n let longitudeElement = document.querySelector(\"#longitude\");\r\n\r\n latitudeElement.value = place.place.geometry.location.lat();\r\n longitudeElement.value = place.place.geometry.location.lng();\r\n}\r\n\r\n(function () {\r\n let useLocationElement = document.querySelector(\"#use-location\");\r\n var placeInput = document.querySelector('.google-place-autocomplete');\r\n\r\n new GooglePlaceAutoComplete(placeInput, onChangeLatitudeAndLongitude);\r\n\r\n if (useLocationElement) {\r\n if (!navigator.geolocation) {\r\n useLocationElement.checked = false;\r\n useLocationElement.disabled = true;\r\n } else {\r\n useLocationElement.addEventListener(\"change\",\r\n function () {\r\n searchUseLocation(this.checked);\r\n });\r\n }\r\n }\r\n\r\n disableWhereInputIfUseLocation();\r\n\r\n})();\r\n","class GooglePlaceAutoComplete {\r\n constructor(streetAddressInput, onPlaceChanged) {\r\n if (window.google) {\r\n this._streetAddressInput = streetAddressInput;\r\n this._onPlaceChanged = onPlaceChanged;\r\n this.InitGooglePlaceAutocomplete();\r\n this._autocomplete.addListener('place_changed', this.OnPlaceChanged.bind(this));\r\n this._streetAddressInput.addEventListener('keydown', function (event) {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n }\r\n });\r\n }\r\n }\r\n\r\n _streetAddressInput;\r\n _onPlaceChanged;\r\n _autocomplete;\r\n\r\n InitGooglePlaceAutocomplete() {\r\n this._autocomplete = new google.maps.places.Autocomplete(this._streetAddressInput, {\r\n //Give results in Sweden, Norway, Finland, Denmark and Ă…land Islands\r\n componentRestrictions: { country: ['SE', 'NO', 'FI', 'DK', 'AX'] }\r\n });\r\n }\r\n\r\n GetPlace() {\r\n return this._autocomplete.getPlace();\r\n }\r\n\r\n OnPlaceChanged() {\r\n this._onPlaceChanged({\r\n place: this.GetPlace()\r\n });\r\n }\r\n}\r\n\r\nexport default GooglePlaceAutoComplete;\r\n"],"names":["disableWhereInputIfUseLocation","whereElement","document","querySelector","checked","disabled","placeholder","dataset","placeholderLocation","onChangeLatitudeAndLongitude","place","latitudeElement","longitudeElement","value","geometry","location","lat","lng","useLocationElement","placeInput","constructor","streetAddressInput","onPlaceChanged","window","google","this","_streetAddressInput","_onPlaceChanged","InitGooglePlaceAutocomplete","_autocomplete","addListener","OnPlaceChanged","bind","addEventListener","event","keyCode","preventDefault","maps","places","Autocomplete","componentRestrictions","country","GetPlace","getPlace","navigator","geolocation","sortElement","oldSortValue","getCurrentPosition","position","latitude","coords","toFixed","longitude","placeholderWhere","searchUseLocation"],"sourceRoot":""}