Your IP : 172.69.7.234


Current Path : /var/www/element/data/www/revenuestory.ru/bitrix/js/location/google/dist/
Upload File :
Current File : /var/www/element/data/www/revenuestory.ru/bitrix/js/location/google/dist/google.bundle.js.map

{"version":3,"file":"google.bundle.js","sources":["../src/loader.js","../src/autocompleteservice.js","../src/map.js","../src/photoservice.js","../src/geocodingservice.js","../src/google.js"],"sourcesContent":["/**\n * Loads google source services\n */\nexport default class Loader\n{\n\tstatic #loadingPromise = null;\n\n\tstatic #createSrc(apiKey, languageId)\n\t{\n\t\treturn 'https://maps.googleapis.com/maps/api/js'\n\t\t\t+ `?key=${apiKey}`\n\t\t\t+ '&libraries=places'\n\t\t\t+ `&language=${languageId}`\n\t\t\t+ `&region=${this.#getRegion(languageId)}`;\n\t}\n\n\tstatic #getRegion(languageId: string): string\n\t{\n\t\tconst map = {\n\t\t\t'en': 'US',\n\t\t\t'uk': 'UA',\n\t\t\t'zh': 'CN',\n\t\t\t'ja': 'JP',\n\t\t\t'vi': 'VN',\n\t\t\t'ms': 'MY',\n\t\t\t'hi': 'IN'\n\t\t};\n\n\t\treturn typeof map[languageId] !== 'undefined' ? map[languageId] : languageId.toUpperCase();\n\t}\n\n\t/**\n\t * Loads google services\n\t * @param {string} apiKey\n\t * @param {string} languageId\n\t * @returns {Promise}\n\t */\n\tstatic load(apiKey: string, languageId: string): Promise\n\t{\n\t\tif (Loader.#loadingPromise === null)\n\t\t{\n\t\t\tLoader.#loadingPromise = new Promise((resolve) => {\n\n\t\t\t\tBX.load(\n\t\t\t\t\t[Loader.#createSrc(apiKey, languageId)],\n\t\t\t\t\t() => {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn Loader.#loadingPromise;\n\t}\n}","/* global google */\n\nimport {Loc} from 'main.core';\nimport {Location, AutocompleteServiceBase, LocationType} from 'location.core';\nimport type {AutocompleteServiceParams} from 'location.core';\n\nexport default class AutocompleteService extends AutocompleteServiceBase\n{\n\t/** {string} */\n\t#languageId;\n\t/** {google.maps.places.AutocompleteService} */\n\t#googleAutocompleteService;\n\t/** {Promise} */\n\t#loaderPromise;\n\t/** {GoogleSource} */\n\t#googleSource;\n\t/** {string} */\n\t#localStorageKey = 'locationGoogleAutocomplete';\n\t/** {number} */\n\t#localStorageResCount = 30;\n\t/** {number} */\n\t#biasBoundRadius = 50000;\n\n\tconstructor(props)\n\t{\n\t\tsuper(props);\n\t\tthis.#languageId = props.languageId;\n\t\tthis.#googleSource = props.googleSource;\n\t\t// Because googleSource could still be in the process of loading\n\t\tthis.#loaderPromise = props.googleSource.loaderPromise\n\t\t\t.then(() => {\n\t\t\t\tthis.#initAutocompleteService();\n\t\t\t});\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\t#getLocalStoredResults(query: string, params: AutocompleteServiceParams): object\n\t{\n\t\tlet result = null;\n\n\t\tlet storedResults = this.#getStoredResults();\n\n\t\tfor(const [index, item] of storedResults.entries())\n\t\t{\n\t\t\tif(item && typeof item.query !== 'undefined' && item.query === query)\n\t\t\t{\n\t\t\t\tresult = {...item};\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t#getPredictionPromiseLocalStorage(query: string, params: AutocompleteServiceParams): ?Promise\n\t{\n\t\tlet result = null;\n\t\t\tconst answer = this.#getLocalStoredResults(query, params);\n\n\t\tif(answer !== null)\n\t\t{\n\t\t\tresult = new Promise((resolve) => {\n\t\t\t\t\tresolve(\n\t\t\t\t\t\tthis.#convertToLocationsList(answer.answer, answer.status)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t#getStoredResults()\n\t{\n\t\tlet storedResults = BX.localStorage.get(this.#localStorageKey);\n\n\t\tif (\n\t\t\tstoredResults\n\t\t\t&& storedResults.results\n\t\t\t&& Array.isArray(storedResults.results)\n\t\t)\n\t\t{\n\t\t\treturn storedResults.results;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\t#setPredictionResult(query, params, answer, status): void\n\t{\n\t\tlet storedResults = this.#getStoredResults();\n\n\t\tstoredResults.push({\n\t\t\tstatus: status,\n\t\t\tquery: query,\n\t\t\tanswer: answer\n\t\t});\n\n\t\tif(storedResults.length > this.#localStorageResCount)\n\t\t{\n\t\t\tstoredResults.shift();\n\t\t}\n\n\t\tBX.localStorage.set(this.#localStorageKey, {'results': storedResults}, 86400);\n\t}\n\n\t#getPredictionPromise(query: string, params: AutocompleteServiceParams)\n\t{\n\t\tlet result = this.#getPredictionPromiseLocalStorage(query, params);\n\n\t\tif(!result)\n\t\t{\n\t\t\tconst queryPredictionsParams = {\n\t\t\t\tinput: query,\n\t\t\t};\n\n\t\t\tif(params.biasPoint)\n\t\t\t{\n\t\t\t\tqueryPredictionsParams.location = new google.maps.LatLng(\n\t\t\t\t\tparams.biasPoint.latitude,\n\t\t\t\t\tparams.biasPoint.longitude\n\t\t\t\t);\n\t\t\t\tqueryPredictionsParams.radius = this.#biasBoundRadius;\n\t\t\t}\n\n\t\t\tresult = new Promise((resolve) => {\n\t\t\t\t\tthis.#googleAutocompleteService.getQueryPredictions(\n\t\t\t\t\t\tqueryPredictionsParams,\n\t\t\t\t\t\t(res, status) => {\n\t\t\t\t\t\t\tconst locationsList = this.#convertToLocationsList(res, status);\n\t\t\t\t\t\t\tthis.#setPredictionResult(query, params, res, status);\n\t\t\t\t\t\t\tresolve(locationsList);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns Promise witch  will transfer locations list\n\t * @param {string} query\n\t * @param {AutocompleteServiceParams} params\n\t * @returns {Promise}\n\t */\n\tautocomplete(query: string, params: AutocompleteServiceParams): Promise<Array<Location>, Error>\n\t{\n\t\tif(query === '')\n\t\t{\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\tresolve([]);\n\t\t\t});\n\t\t}\n\n\t\t// Because google.maps.places.AutocompleteService could be still in the process of loading\n\t\treturn this.#loaderPromise\n\t\t\t.then(() => {\n\t\t\t\treturn this.#getPredictionPromise(query, params);\n\t\t\t},\n\t\t\t(error) => BX.debug(error)\n\t\t);\n\t}\n\n\t#initAutocompleteService()\n\t{\n\t\tif(typeof google === 'undefined' || typeof google.maps.places.AutocompleteService === 'undefined')\n\t\t{\n\t\t\tthrow new Error('google.maps.places.AutocompleteService must be defined');\n\t\t}\n\n\t\tthis.#googleAutocompleteService = new google.maps.places.AutocompleteService();\n\t}\n\n\t#convertToLocationsList(data, status)\n\t{\n\t\tif(status === 'ZERO_RESULTS')\n\t\t{\n\t\t\treturn [];\n\t\t}\n\n\t\tif(!data || status !== 'OK')\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst result = [];\n\n\t\tfor(const item of data)\n\t\t{\n\t\t\tif(item.place_id)\n\t\t\t{\n\t\t\t\tlet name;\n\n\t\t\t\tif(item.structured_formatting && item.structured_formatting.main_text)\n\t\t\t\t{\n\t\t\t\t\tname = item.structured_formatting.main_text;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tname = item.description;\n\t\t\t\t}\n\n\t\t\t\tconst location = new Location({\n\t\t\t\t\tsourceCode: this.#googleSource.sourceCode,\n\t\t\t\t\texternalId: item.place_id,\n\t\t\t\t\tname: name,\n\t\t\t\t\tlanguageId: this.#languageId\n\t\t\t\t});\n\n\t\t\t\tif(item.structured_formatting && item.structured_formatting.secondary_text)\n\t\t\t\t{\n\t\t\t\t\tlocation.setFieldValue(\n\t\t\t\t\t\tLocationType.TMP_TYPE_CLARIFICATION,\n\t\t\t\t\t\titem.structured_formatting.secondary_text\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst typeHint = this.#getTypeHint(item.types);\n\n\t\t\t\tif(typeHint)\n\t\t\t\t{\n\t\t\t\t\tlocation.setFieldValue(\n\t\t\t\t\t\tLocationType.TMP_TYPE_HINT,\n\t\t\t\t\t\tthis.#getTypeHint(item.types)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tresult.push(location);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t#getTypeHint(types: Array): String\n\t{\n\t\tlet result = '';\n\n\t\tif(types.indexOf('locality') >= 0)\n\t\t{\n\t\t\tresult = Loc.getMessage('LOCATION_GOO_AUTOCOMPLETE_TYPE_LOCALITY');\n\t\t}\n\t\telse if(types.indexOf('sublocality') >= 0)\n\t\t{\n\t\t\tresult = Loc.getMessage('LOCATION_GOO_AUTOCOMPLETE_TYPE_SUBLOCAL');\n\t\t}\n\t\telse if(types.indexOf('store') >= 0)\n\t\t{\n\t\t\tresult = Loc.getMessage('LOCATION_GOO_AUTOCOMPLETE_TYPE_STORE');\n\t\t}\n\t\telse if(types.indexOf('restaurant') >= 0)\n\t\t{\n\t\t\tresult = Loc.getMessage('LOCATION_GOO_AUTOCOMPLETE_TYPE_RESTAURANT');\n\t\t}\n\t\telse if(types.indexOf('cafe') >= 0)\n\t\t{\n\t\t\tresult = Loc.getMessage('LOCATION_GOO_AUTOCOMPLETE_TYPE_CAFE');\n\t\t}\n\t\t/*\n\t\telse\n\t\t{\n\t\t\tresult = types.join(', ');\n\t\t}\n\t\t*/\n\n\t\treturn result;\n\t}\n}\n","import {Event} from 'main.core';\nimport {Location, LocationRepository, ControlMode, MapBase, ErrorPublisher} from 'location.core';\n\n/**\n * Class for the autocomplete locations and addresses inputs\n */\nexport default class Map extends MapBase\n{\n\tstatic #onChangedEvent = 'onChanged';\n\n\t/** {string} */\n\t#languageId;\n\t/** {google.maps.Map} */\n\t#googleMap;\n\t/** {GoogleSource} */\n\t#googleSource;\n\t/** {number} */\n\t#zoom;\n\t/** {google.maps.Marker} */\n\t#locationMarker;\n\t/** {ControlMode} */\n\t#mode;\n\t/** Location */\n\t#location;\n\t#geocoder;\n\t#locationRepository;\n\t#timerId = null;\n\t#isUpdating = false;\n\t#changeDelay;\n\t#loaderPromise = null;\n\n\tconstructor(props)\n\t{\n\t\tsuper(props);\n\t\tthis.#languageId = props.languageId;\n\t\tthis.#googleSource = props.googleSource;\n\t\tthis.#locationRepository = props.locationRepository || new LocationRepository();\n\t\tthis.#changeDelay = props.changeDelay || 700;\n\t}\n\n\trender(props: object)\n\t{\n\t\tthis.#loaderPromise = this.#googleSource.loaderPromise.then(() => {\n\t\t\tthis.#initGoogleMap(props);\n\t\t});\n\n\t\treturn this.#loaderPromise;\n\t}\n\n\tget loaderPromise()\n\t{\n\t\treturn this.#loaderPromise;\n\t}\n\n\tset mode(mode: string)\n\t{\n\t\tthis.#mode = mode;\n\n\t\tif(this.#locationMarker)\n\t\t{\n\t\t\tthis.#locationMarker.setDraggable(mode === ControlMode.edit);\n\t\t}\n\t}\n\n\t#convertLocationToPosition(location: ?Location): Object\n\t{\n\t\tif(!location)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tif(typeof google === 'undefined' || typeof google.maps === 'undefined')\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn new google.maps.LatLng(location.latitude, location.longitude);\n\t}\n\n\t#adjustZoom(): void\n\t{\n\t\tif(!this.#location)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tlet zoom = Map.#chooseZoomByLocation(this.#location);\n\n\t\tif(zoom !== null && zoom !== this.#zoom)\n\t\t{\n\t\t\tthis.zoom = zoom;\n\t\t}\n\t}\n\n\tget zoom(): number\n\t{\n\t\treturn this.#zoom;\n\t}\n\n\tset zoom(zoom: number): void\n\t{\n\t\tthis.#zoom = zoom;\n\n\t\tif(this.#googleMap)\n\t\t{\n\t\t\tthis.#googleMap.setZoom(zoom);\n\t\t}\n\t}\n\n\t#getPositionToLocationPromise(position): Promise\n\t{\n\t\treturn new Promise( (resolve) => {\n\t\t\tthis.#geocoder.geocode({'location': position}, (results, status)  => {\n\t\t\t\tif (status === 'OK' && results[0])\n\t\t\t\t{\n\t\t\t\t\tresolve(results[0].place_id);\n\t\t\t\t}\n\t\t\t\telse if(status === 'ZERO_RESULTS')\n\t\t\t\t{\n\t\t\t\t\tresolve('');\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthrow Error('Geocoder failed due to: ' + status);\n\t\t\t\t}\n\t\t\t});\n\t\t})\n\t\t.then((placeId) => {\n\t\t\tlet result;\n\n\t\t\tif(placeId)\n\t\t\t{\n\t\t\t\tresult = this.#locationRepository.findByExternalId(\n\t\t\t\t\tplaceId,\n\t\t\t\t\tthis.#googleSource.sourceCode,\n\t\t\t\t\tthis.#languageId\n\t\t\t\t);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult = new Promise((resolve) => {\n\t\t\t\t\tresolve(null);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t});\n\t}\n\n\tset location(location: Location)\n\t{\n\t\tthis.#location = location;\n\t\tlet position = this.#convertLocationToPosition(location);\n\n\t\tif(position)\n\t\t{\n\t\t\tif(this.#locationMarker)\n\t\t\t{\n\t\t\t\tthis.#isUpdating = true;\n\t\t\t\tthis.#locationMarker.setPosition(position);\n\t\t\t\tthis.#isUpdating = false;\n\t\t\t}\n\n\t\t\tif(this.#googleMap)\n\t\t\t{\n\t\t\t\tif(!this.#locationMarker.getMap())\n\t\t\t\t{\n\t\t\t\t\tthis.#locationMarker.setMap(this.#googleMap);\n\t\t\t\t}\n\n\t\t\t\tthis.#googleMap.panTo(position);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(this.#locationMarker)\n\t\t\t{\n\t\t\t\tthis.#locationMarker.setMap(null);\n\t\t\t}\n\t\t}\n\n\t\tthis.#adjustZoom();\n\t}\n\n\tget location(): Location\n\t{\n\t\treturn this.#location;\n\t}\n\n\tonLocationChangedEventSubscribe(listener: function): void\n\t{\n\t\tthis.subscribe(Map.#onChangedEvent, listener);\n\t}\n\n\t#emitOnLocationChangedEvent(location: ?Location)\n\t{\n\t\tif(this.#mode === ControlMode.edit)\n\t\t{\n\t\t\tthis.emit(Map.#onChangedEvent, { location: location\t});\n\t\t}\n\t}\n\n\t#onMarkerUpdatePosition()\n\t{\n\t\tif(!this.#isUpdating && this.#mode === ControlMode.edit)\n\t\t{\n\t\t\tthis.#createTimer(this.#locationMarker.getPosition());\n\t\t}\n\t}\n\n\t#createTimer(position)\n\t{\n\t\tif(this.#timerId !== null)\n\t\t{\n\t\t\tclearTimeout(this.#timerId);\n\t\t}\n\n\t\tthis.#timerId = setTimeout(() => {\n\t\t\t\tthis.#timerId = null;\n\t\t\t\tthis.#googleMap.panTo(position);\n\t\t\t\tthis.#fulfillOnChangedEvent(position);\n\t\t\t},\n\t\t\tthis.#changeDelay\n\t\t);\n\t}\n\n\t#fulfillOnChangedEvent(position)\n\t{\n\t\tthis.#getPositionToLocationPromise(position)\n\t\t.then(this.#emitOnLocationChangedEvent.bind(this))\n\t\t.catch((response) => {\n\t\t\tErrorPublisher.getInstance().notify(response.errors);\n\t\t});\n\t}\n\n\t#onMapClick(position)\n\t{\n\t\tif(this.#mode === ControlMode.edit)\n\t\t{\n\t\t\tif(!this.#locationMarker.getMap)\n\t\t\t{\n\t\t\t\tthis.#locationMarker.setMap(this.#googleMap);\n\t\t\t}\n\n\t\t\tthis.#locationMarker.setPosition(position);\n\t\t\tthis.#createTimer(position);\n\t\t}\n\t}\n\n\t#initGoogleMap(props): void\n\t{\n\t\tthis.#mode = props.mode;\n\t\tthis.#location = props.location || null;\n\n\t\tif(typeof google === 'undefined' || typeof google.maps.Map === 'undefined')\n\t\t{\n\t\t\tthrow new Error('google.maps.Map must be defined');\n\t\t}\n\n\t\tlet position = this.#convertLocationToPosition(this.#location);\n\n\t\tlet mapProps = {\n\t\t\tgestureHandling: 'greedy',\n\t\t\tdisableDefaultUI: true,\n\t\t\tzoomControl: true,\n\t\t\tzoomControlOptions: {\n\t\t\t\tposition: google.maps.ControlPosition.TOP_LEFT\n\t\t\t}\n\t\t};\n\n\t\tlet zoom = Map.#chooseZoomByLocation(this.#location);\n\n\t\tif(zoom)\n\t\t{\n\t\t\tmapProps.zoom = zoom;\n\t\t}\n\n\t\tif(position)\n\t\t{\n\t\t\tmapProps.center = position;\n\t\t}\n\n\t\tthis.#googleMap = new google.maps.Map(\n\t\t\tprops.mapContainer,\n\t\t\tmapProps\n\t\t);\n\n\t\tthis.#googleMap.addListener('click', (e) => {\n\t\t\tthis.#onMapClick(e.latLng);\n\t\t});\n\n\t\tif(typeof google.maps.Marker === 'undefined')\n\t\t{\n\t\t\tthrow new Error('google.maps.Marker must be defined');\n\t\t}\n\n\t\tthis.#locationMarker = new google.maps.Marker({\n\t\t\tposition: position,\n\t\t\tmap: this.#googleMap,\n\t\t\tdraggable: this.#mode === ControlMode.edit\n\t\t});\n\n\t\tthis.#locationMarker.addListener('position_changed', () => {\n\t\t\tthis.#onMarkerUpdatePosition();\n\t\t});\n\n\t\tif(typeof google.maps.Geocoder === 'undefined')\n\t\t{\n\t\t\tthrow new Error('google.maps.Geocoder must be defined');\n\t\t}\n\n\t\tthis.#geocoder = new google.maps.Geocoder;\n\t}\n\n\tstatic #chooseZoomByLocation(location: ?Location): number\n\t{\n\t\tlet result = 18;\n\n\t\tif(location)\n\t\t{\n\t\t\tlet locationType = location.type;\n\n\t\t\tif(locationType > 0)\n\t\t\t{\n\t\t\t\tif(locationType < 100)\n\t\t\t\t\tresult = 1;\n\t\t\t\telse if(locationType === 100)\n\t\t\t\t\tresult = 4;\n\t\t\t\telse if(locationType <= 200)\n\t\t\t\t\tresult = 6;\n\t\t\t\telse if(locationType <= 300)\n\t\t\t\t\tresult = 11;\n\t\t\t\telse if(locationType <= 340)\n\t\t\t\t\tresult = 16;\n\t\t\t\telse if(locationType > 340)\n\t\t\t\t\tresult = 18;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tget googleMap()\n\t{\n\t\treturn this.#googleMap;\n\t}\n\n\tdestroy()\n\t{\n\t\tEvent.unbindAll(this);\n\t\tthis.#googleMap = null;\n\t\tthis.#locationMarker = null;\n\t\tthis.#geocoder = null;\n\t\tthis.#timerId = null;\n\t\tthis.#loaderPromise = null;\n\t\tsuper.destroy();\n\t}\n}","import {PhotoServiceBase, BasePhotoServiceRequestPhotosPropsType} from \"location.core\";\n\nexport default class PhotoService extends PhotoServiceBase\n{\n\t#map;\n\t#service;\n\t#googleSource;\n\t#loadingPromise;\n\n\tconstructor(props)\n\t{\n\t\tsuper(props);\n\t\tthis.#googleSource = props.googleSource;\n\t\tthis.#map = props.map;\n\t}\n\n\t#getLoaderPromise()\n\t{\n\t\tif(!this.#loadingPromise)\n\t\t{\n\t\t\t//map haven't rendered yet\t`\n\t\t\tif(this.#map.loaderPromise === null)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.#loadingPromise = this.#map.loaderPromise.then(() => {\n\t\t\t\tthis.#service = new google.maps.places.PlacesService(this.#map.googleMap);\n\t\t\t});\n\t\t}\n\n\t\treturn this.#loadingPromise;\n\t}\n\n\trequestPhotos(props: BasePhotoServiceRequestPhotosPropsType): Promise\n\t{\n\t\treturn new Promise((resolve) => {\n\n\t\t\tlet promise = this.#getLoaderPromise();\n\n\t\t\tif(!promise)\n\t\t\t{\n\t\t\t\tresolve([]);\n\t\t\t}\n\n\t\t\tlet loaderPromise = this.#getLoaderPromise();\n\n\t\t\tif(!loaderPromise)\n\t\t\t{\n\t\t\t\tresolve([]);\n\t\t\t}\n\n\t\t\tloaderPromise\n\t\t\t .then(() => {\n\t\t\t\tif(props.location.sourceCode !== this.#googleSource.sourceCode)\n\t\t\t\t{\n\t\t\t\t\tresolve([]);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif(props.location.externalId.length <= 0)\n\t\t\t\t{\n\t\t\t\t\tresolve([]);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.#service.getDetails(\n\t\t\t\t\t{\n\t\t\t\t\t\tplaceId: props.location.externalId,\n\t\t\t\t\t\tfields: ['photos']\n\t\t\t\t\t},\n\t\t\t\t\tfunction(place, status)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet resultPhotos = [];\n\n\t\t\t\t\t\tif (status === google.maps.places.PlacesServiceStatus.OK)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(Array.isArray(place.photos))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlet count = 0;\n\n\t\t\t\t\t\t\t\tfor(let gPhoto of place.photos)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tresultPhotos.push({\n\t\t\t\t\t\t\t\t\t\turl: gPhoto.getUrl(),\n\t\t\t\t\t\t\t\t\t\twidth: gPhoto.width,\n\t\t\t\t\t\t\t\t\t\theight: gPhoto.height,\n\t\t\t\t\t\t\t\t\t\tdescription: Array.isArray(gPhoto.html_attributions) ? gPhoto.html_attributions.join('<br>') : '',\n\t\t\t\t\t\t\t\t\t\tthumbnail: {\n\t\t\t\t\t\t\t\t\t\t\turl: gPhoto.getUrl({\n\t\t\t\t\t\t\t\t\t\t\t\tmaxHeight: props.thumbnailHeight,\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth: props.thumbnailWidth\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\twidth: props.thumbnailWidth,\n\t\t\t\t\t\t\t\t\t\t\theight: props.thumbnailHeight\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tcount++;\n\n\t\t\t\t\t\t\t\t\tif(props.maxPhotoCount && count >= props.maxPhotoCount)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(resultPhotos);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n}","import {Location, AddressType, LocationType, GeocodingServiceBase} from 'location.core';\n\nexport default class GeocodingService extends GeocodingServiceBase\n{\n\t#map;\n\t#geocoder;\n\t#loadingPromise;\n\t#googleSource;\n\n\tconstructor(props)\n\t{\n\t\tsuper(props);\n\n\t\tthis.#map = props.map;\n\t\tthis.#googleSource = props.googleSource;\n\t}\n\n\t#getLoaderPromise()\n\t{\n\t\tif(!this.#loadingPromise)\n\t\t{\n\t\t\t//map haven't rendered yet\t`\n\t\t\tif(this.#googleSource.loaderPromise === null)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.#loadingPromise = this.#googleSource.loaderPromise.then(() => {\n\t\t\t\tthis.#geocoder = new google.maps.Geocoder();\n\t\t\t});\n\t\t}\n\n\t\treturn this.#loadingPromise;\n\t}\n\n\t#convertLocationType(types: Array)\n\t{\n\t\tlet typeMap = {\n\t\t\t'country': LocationType.COUNTRY,\n\t\t\t'locality': LocationType.LOCALITY,\n\t\t\t'postal_town': LocationType.LOCALITY,\n\t\t\t'route': LocationType.STREET,\n\t\t\t'street_address': LocationType.ADDRESS_LINE_1,\n\t\t\t'administrative_area_level_4': LocationType.ADM_LEVEL_4,\n\t\t\t'administrative_area_level_3': LocationType.ADM_LEVEL_3,\n\t\t\t'administrative_area_level_2': LocationType.ADM_LEVEL_2,\n\t\t\t'administrative_area_level_1': LocationType.ADM_LEVEL_1,\n\t\t\t'floor': LocationType.FLOOR,\n\t\t\t'postal_code': AddressType.POSTAL_CODE,\n\t\t\t'room': LocationType.ROOM,\n\t\t\t'sublocality': LocationType.SUB_LOCALITY,\n\t\t\t'sublocality_level_1': LocationType.SUB_LOCALITY_LEVEL_1,\n\t\t\t'sublocality_level_2': LocationType.SUB_LOCALITY_LEVEL_2,\n\t\t\t'street_number': LocationType.BUILDING\n\t\t};\n\n\t\tlet result = LocationType.UNKNOWN;\n\n\t\tfor (let item of types)\n\t\t{\n\t\t\tif(typeof typeMap[item] !== 'undefined')\n\t\t\t{\n\t\t\t\tresult = typeMap[item];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t#convertResultToLocations(data: Array)\n\t{\n\t\tlet result = [];\n\n\t\tfor (let item of data)\n\t\t{\n\t\t\tlet location = new Location;\n\t\t\tlocation.sourceCode = this.#googleSource.sourceCode;\n\t\t\tlocation.languageId = this.#googleSource.languageId;\n\t\t\tlocation.externalId = item.place_id;\n\t\t\tlocation.type = this.#convertLocationType(item.types);\n\t\t\tlocation.name = item.formatted_address;\n\t\t\tlocation.latitude = item.geometry.location.lat();\n\t\t\tlocation.longitude = item.geometry.location.lng();\n\t\t\tresult.push(location);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tgeocodeConcrete(addressString: string): Promise\n\t{\n\t\treturn new Promise((resolve) => {\n\n\t\t\tconst loaderPromise = this.#getLoaderPromise();\n\n\t\t\tif(!loaderPromise)\n\t\t\t{\n\t\t\t\tresolve([]);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tloaderPromise\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.#geocoder.geocode({address: addressString}, (results, status) => {\n\t\t\t\t\t\tif(status === 'OK') {\n\t\t\t\t\t\t\tresolve(this.#convertResultToLocations(results));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(status === 'ZERO_RESULTS')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresolve([]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tBX.debug(`Geocode was not successful for the following reason: ${status}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t});\n\t}\n}","import {Type} from \"main.core\";\nimport {BaseSource, SourceCreationError} from \"location.core\";\nimport Loader from \"./loader\";\nimport AutocompleteService from \"./autocompleteservice\";\nimport Map from \"./map\";\nimport PhotoService from \"./photoservice\";\nimport GeocodingService from \"./geocodingservice\";\n\nexport class Google extends BaseSource\n{\n\tstatic code = 'GOOGLE';\n\t#languageId = '';\n\t#sourceLanguageId = '';\n\t#loaderPromise = null;\n\t#map;\n\t#photoService;\n\t#geocodingService;\n\t#autocompleteService;\n\n\tconstructor(props: Object)\n\t{\n\t\tsuper(props);\n\n\t\tif(!Type.isString(props.languageId) || props.languageId.trim() === '')\n\t\t{\n\t\t\tthrow new SourceCreationError('props.languageId must be a string');\n\t\t}\n\n\t\tthis.#languageId = props.languageId;\n\n\t\tif(!Type.isString(props.sourceLanguageId) || props.sourceLanguageId.trim() === '')\n\t\t{\n\t\t\tthrow new SourceCreationError('props.sourceLanguageId must be a string');\n\t\t}\n\n\t\tthis.#sourceLanguageId = props.sourceLanguageId;\n\n\t\tif(!Type.isString(props.apiKey) || props.apiKey.trim() === '')\n\t\t{\n\t\t\tthrow new SourceCreationError('props.apiKey must be a string');\n\t\t}\n\n\t\tthis.#loaderPromise = Loader.load(props.apiKey, props.sourceLanguageId);\n\n\t\tthis.#map = new Map({\n\t\t\tgoogleSource: this,\n\t\t\tlanguageId: this.#languageId,\n\t\t});\n\n\t\tthis.#autocompleteService = new AutocompleteService({\n\t\t\tgoogleSource: this,\n\t\t\tlanguageId: this.#languageId\n\t\t});\n\n\t\tthis.#photoService = new PhotoService({\n\t\t\tgoogleSource: this,\n\t\t\tmap: this.#map\n\t\t});\n\n\t\tthis.#geocodingService = new GeocodingService({\n\t\t\tgoogleSource: this,\n\t\t\tmap: this.#map\n\t\t});\n\t}\n\n\tget sourceCode(): string\n\t{\n\t\treturn Google.code;\n\t}\n\n\tget loaderPromise(): Promise\n\t{\n\t\treturn this.#loaderPromise;\n\t}\n\n\tget map()\n\t{\n\t\treturn this.#map;\n\t}\n\n\tget autocompleteService()\n\t{\n\t\treturn this.#autocompleteService;\n\t}\n\n\tget photoService()\n\t{\n\t\treturn this.#photoService;\n\t}\n\n\tget geocodingService()\n\t{\n\t\treturn this.#geocodingService;\n\t}\n\n\tget languageId()\n\t{\n\t\treturn this.#languageId;\n\t}\n}"],"names":["Loader","apiKey","languageId","Promise","resolve","BX","load","map","toUpperCase","AutocompleteService","props","googleSource","loaderPromise","then","query","params","error","debug","AutocompleteServiceBase","result","storedResults","entries","index","item","answer","status","localStorage","get","results","Array","isArray","push","length","shift","set","queryPredictionsParams","input","biasPoint","location","google","maps","LatLng","latitude","longitude","radius","getQueryPredictions","res","locationsList","places","Error","data","place_id","name","structured_formatting","main_text","description","Location","sourceCode","externalId","secondary_text","setFieldValue","LocationType","TMP_TYPE_CLARIFICATION","typeHint","types","TMP_TYPE_HINT","indexOf","Loc","getMessage","Map","locationRepository","LocationRepository","changeDelay","listener","subscribe","Event","unbindAll","mode","setDraggable","ControlMode","edit","zoom","setZoom","position","setPosition","getMap","setMap","panTo","MapBase","locationType","type","geocode","placeId","findByExternalId","emit","getPosition","clearTimeout","setTimeout","_classPrivateMethodGet","bind","catch","response","ErrorPublisher","getInstance","notify","errors","mapProps","gestureHandling","disableDefaultUI","zoomControl","zoomControlOptions","ControlPosition","TOP_LEFT","center","mapContainer","addListener","e","latLng","Marker","draggable","Geocoder","PhotoService","promise","getDetails","fields","place","resultPhotos","PlacesServiceStatus","OK","photos","count","gPhoto","url","getUrl","width","height","html_attributions","join","thumbnail","maxHeight","thumbnailHeight","maxWidth","thumbnailWidth","maxPhotoCount","PhotoServiceBase","PlacesService","googleMap","GeocodingService","addressString","address","GeocodingServiceBase","typeMap","COUNTRY","LOCALITY","STREET","ADDRESS_LINE_1","ADM_LEVEL_4","ADM_LEVEL_3","ADM_LEVEL_2","ADM_LEVEL_1","FLOOR","AddressType","POSTAL_CODE","ROOM","SUB_LOCALITY","SUB_LOCALITY_LEVEL_1","SUB_LOCALITY_LEVEL_2","BUILDING","UNKNOWN","formatted_address","geometry","lat","lng","Google","Type","isString","trim","SourceCreationError","sourceLanguageId","code","BaseSource"],"mappings":"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"}