{"version":3,"file":"branch-finder.js?v=d0ab1361428c0232a5d3","mappings":"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","sources":["webpack://RdoWeb/./ResourcePackages/Main/assets/src/scripts/filters/to-miles.js","webpack://RdoWeb/./ResourcePackages/Main/assets/src/scripts/functions/element-enumerator.js","webpack://RdoWeb/./ResourcePackages/Main/assets/src/scripts/functions/widget-initializer.js","webpack://RdoWeb/./ResourcePackages/Main/assets/src/scripts/functions/google-utils.js","webpack://RdoWeb/./ResourcePackages/Main/assets/src/scripts/widgets/branch-finder.js","webpack://RdoWeb/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://RdoWeb/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://RdoWeb/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://RdoWeb/./node_modules/@babel/runtime/helpers/esm/defineProperty.js"],"sourcesContent":["import { widgetInitialisation } from \"../functions/widget-init\";\r\nimport { NumberUtils } from \"../functions/number-utils\";\r\n\r\nwidgetInitialisation(initToMilesFilter);\r\n\r\nfunction initToMilesFilter() {\r\n Vue.filter('toMiles', function (value, options) {\r\n options = options || {};\r\n\r\n if (typeof value !== \"number\") {\r\n var parsedValue = NumberUtils.tryParse(value);\r\n if (parsedValue === null)\r\n return value;\r\n\r\n value = parsedValue;\r\n }\r\n\r\n if (value === 0)\r\n return \"\";\r\n\r\n var minimumFractionDigits = '2';\r\n if (typeof options.minimumFractionDigits === \"number\")\r\n minimumFractionDigits = options.minimumFractionDigits.toString();\r\n\r\n var formattedToPrecision = value.toFixed(minimumFractionDigits);\r\n var result = formattedToPrecision;\r\n if (formattedToPrecision.startsWith(\"0\"))\r\n result = formattedToPrecision.substring(1);\r\n\r\n var showMilesLabel = true;\r\n if (options.hasOwnProperty(\"showMilesLabel\"))\r\n showMilesLabel = options.showMilesLabel;\r\n\r\n if (showMilesLabel)\r\n result = `${result} Miles Away`;\r\n\r\n return result;\r\n });\r\n}","export var ElementsEnumerator = function (elementsClass) {\r\n this.elementsClass = elementsClass;\r\n};\r\n\rElementsEnumerator.prototype.getElements = function () {\r var elements = document.getElementsByClassName(this.elementsClass);\r\n var elementIdPrefix = this.elementsClass + \"-\";\r\n for (var i = 0; i < elements.length; i++) {\r\n var element = elements[i];\r\n element.setAttribute(\"id\", (elementIdPrefix + (i + 1)));\r\n }\r return elements;\r};","import { widgetInitialisation } from \"./widget-init\";\r\nimport { ElementsEnumerator } from \"./element-enumerator\";\r\n\r\nconst initializedVueAppAttrName = \"data-vue-initialized\";\r\n\r\nexport var WidgetInitializer = function (elementsClass) {\r\n this.elementsClass = elementsClass;\r\n};\r\n\r\nWidgetInitializer.prototype.initialize = function (initializationCallback) {\r\n var that = this;\r\n widgetInitialisation(function () {\r\n return innerInitialization.call(that, initializationCallback);\r\n });\r\n};\r\n\r\nfunction innerInitialization(initializationCallback) {\r\n var elementsEnumerator = new ElementsEnumerator(this.elementsClass);\r\n var notInitializedElements = elementsEnumerator.getElements();\r\n for (var i = 0; i < notInitializedElements.length; i++) {\r\n var element = notInitializedElements[i];\r\n if (element.hasAttribute(initializedVueAppAttrName))\r\n return;\r\n\r\n var newElement = initializationCallback(element);\r\n if (newElement)\r\n { element = newElement; }\r\n\r\n element.setAttribute(initializedVueAppAttrName, '');\r\n }\r\n};","import { Constants } from \"./constants\";\r\n\r\nexport var GoogleUtils = {\r\n getGeocodeRequestUrl: function (key, address) {\r return `${Constants.GOOGLE.GEOCODE.URL}?language=en&${Constants.GOOGLE.GEOCODE.PARAMETERS.KEY}=${key}&${Constants.GOOGLE.GEOCODE.PARAMETERS.ADDRESS}=${address}`;\r },\r\r extractGeocodeLocationDetails: function (response) {\r\n if (!response)\r\n return null;\r\n\r\n if (!Array.isArray(response.results))\r\n return null;\r\n\r\n if (response.results.length === 0)\r\n return null;\r\n\r\n var firstResult = response.results[0];\r\n if (!firstResult)\r\n return null;\r\n\r\n if (!firstResult.geometry)\r\n return null;\r\n\r\n if (!firstResult.geometry.location)\r\n return null;\r\n\r\n var locationDetails = {};\r\n\r\n if (!firstResult.geometry.location.lat)\r\n return null;\r\n\r\n locationDetails.latitude = firstResult.geometry.location.lat;\r\n\r\n if (!firstResult.geometry.location.lng)\r\n return null;\r\n\r\n locationDetails.longitude = firstResult.geometry.location.lng;\r\n\r\n if (!Array.isArray(firstResult.address_components))\r\n return null;\r\n\r\n var stateAddressComponent = firstResult.address_components.find(component => component.types.some(type => type === \"administrative_area_level_1\"));\r\n if (!stateAddressComponent)\r\n return null;\r\n\r\n if (!stateAddressComponent.short_name)\r\n return null;\r\n\r\n locationDetails.stateCode = stateAddressComponent.short_name;\r\n locationDetails.stateName = stateAddressComponent.long_name || \"\";\r\n\r\n return locationDetails;\r\n }\r}","import { WidgetInitializer } from \"../functions/widget-initializer\";\r\nimport { ConfigUtils } from \"../functions/config-utils\";\r\nimport { Constants } from \"../functions/constants\";\r\nimport { GoogleUtils } from \"../functions/google-utils\";\r\nimport { LocalStorageUtils } from \"../functions/local-storage-utils\";\r\nimport { BranchUtils } from \"../functions/branch-utils\";\r\nimport { ArrayUtils } from \"../functions/array-utils\";\r\n\r\nimport '../filters/to-miles';\r\n\r\nvar widgetInitializer = new WidgetInitializer(Constants.COMPONENTS.BRANCH_FINDER);\r\nGlobalApp.registerInitializationHandler(Constants.COMPONENTS.BRANCH_FINDER, function () {\r\n widgetInitializer.initialize(initBranchFinderApp);\r\n});\r\n\r\nfunction initBranchFinderApp(element) {\r\n var config = ConfigUtils.getConfigFor(element);\r\n var vueApp = new Vue({\r\n el: '#' + element.id,\r\n data: {\r\n initializationReadyHook: GlobalApp.getInitializationReadyHook(),\r\n type_filters: config.equipmentTypes,\r\n locations_data: [],\r\n filters_open: false,\r\n has_preselection: false,\r\n searchTerm: '',\r\n map: null,\r\n markers: [],\r\n myStoreId: null,\r\n search_request: {\r\n \"equipmentTypes\": [],\r\n \"pageNumber\": \"1\",\r\n \"pageSize\": \"20\",\r\n \"searchRadius\": Constants.LOCAL_STORAGE.DEFAULT_RADIUS\r\n },\r\n mapCenter: {\r\n latitude: 0,\r\n longitude: 0\r\n },\r\n radius_options: config.radiusOptions\r\n },\r\n watch: {\r\n mapLoaded: {\r\n immediate: true,\r\n handler(newVal, oldVal) {\r\n if (newVal)\r\n this.init();\r\n }\r\n },\r\n search_request: {\r\n immediate: true,\r\n deep: true,\r\n handler(newVal, oldVal) {\r\n {\r\n if (newVal && newVal.equipmentTypes) {\r\n this.has_preselection = newVal.equipmentTypes.length !== 0\r\n }\r\n }\r\n }\r\n },\r\n },\r\n\r\n computed: {\r\n mapLoaded() {\r\n return window.mapLoaded;\r\n }\r\n },\r\n\r\n methods: {\r\n init: async function init() {\r\n await this.initSearchFilters();\r\n\r\n this.initGoogleMaps();\r\n\r\n try {\r\n await this.search(false);\r\n } catch (e) {\r\n GlobalApp.ErrorHandler.autoHandle(e);\r\n }\r\n\r\n // If the only branch in the list of results is the Online branch - recenter the map\r\n if (this.locations_data.length <= 1) {\r\n this.centerMap();\r\n }\r\n\r\n this.initializationReadyHook(element.id);\r\n },\r\n initSearchFilters: async function () {\r\n var queryLocationFilters = await BranchUtils.getQueryLocationFilters();\r\n\r\n this.mapCenter = queryLocationFilters.searchFilters;\r\n var deviceLocationFilters = queryLocationFilters.distanceFilters;\r\n\r\n this.search_request = { ...this.search_request, ...this.mapCenter, ...deviceLocationFilters };\r\n\r\n if (this.search_request?.equipmentTypes?.length > 0) {\r\n this.filters_open = true;\r\n this.has_preselection = true;\r\n }\r\n },\r\n initGoogleMaps: function () {\r\n this.map = new window.google.maps.Map(this.$refs[\"map\"], {\r\n zoom: Constants.LOCATIONS_GOOGLE_MAP.ZOOM,\r\n maxZoom: Constants.LOCATIONS_GOOGLE_MAP.MAX_ZOOM\r\n });\r\n },\r\n search: function (scrollToResults) {\r\n var $this = this;\r\n this.persistSearchParameters();\r\n\r\n if (!this.searchTerm)\r\n return $this.executeBranchSearch();\r\n\r\n var geocodeUrl = GoogleUtils.getGeocodeRequestUrl(GlobalApp.generalSettings.googleMapApiV3Key, this.searchTerm);\r\n return GlobalApp.FetchClient.fetchJson(geocodeUrl, {\r\n method: 'GET',\r\n skipHeaders: ['Accept', 'Content-Type', 'Cache-Control']\r\n }).then(locationData => {\r\n var locationDetails = GoogleUtils.extractGeocodeLocationDetails(locationData);\r\n if (locationDetails) {\r\n $this.search_request.Latitude = locationDetails.latitude;\r\n $this.search_request.Longitude = locationDetails.longitude;\r\n } else {\r\n return $this.getOnlineBranch();\r\n }\r\n if (window.isMobile && typeof scrollToResults === 'object') {\r\n window.scroll({\r\n top: 630, \r\n left: 0, \r\n behavior: 'smooth'\r\n });\r\n }\r\n \r\n return $this.executeBranchSearch();\r\n })\r\n },\r\n async getOnlineBranch() {\r\n var onlineBranch = await GlobalApp.BranchService.getOnlineBranch();\r\n if (onlineBranch && onlineBranch.BranchName)\r\n this.locations_data = [onlineBranch];\r\n },\r\n async executeBranchSearch() {\r\n let branchesData = await GlobalApp.BranchService.query(this.search_request);\r\n this.locations_data = branchesData?.Items || [];\r\n if (ArrayUtils.isNotEmpty(this.locations_data) === false) {\r\n await this.getOnlineBranch();\r\n }\r\n\r\n this.removeOldMarkers();\r\n this.setMarkers();\r\n this.drawMarkers();\r\n },\r\n toggleFilters: function toggleFilters() {\r\n this.filters_open = !this.filters_open;\r\n },\r\n getButtonText: function getButtonText(mystore) {\r\n return mystore ? 'My Store' : 'Make My Store';\r\n },\r\n setMyStore: function setMyStore(item) {\r\n this.myStoreId = item.Id;\r\n GlobalApp.MyStoreService.updateMyStorePreferencesAndNotify(this, item);\r\n },\r\n myStoreUpdateEventHandler: function (object, branchDetails) {\r\n if (object === this)\r\n return;\r\n\r\n if (!branchDetails)\r\n return;\r\n\r\n this.myStoreId = branchDetails.Id;\r\n },\r\n setMarkers: function setMarkers() {\r\n this.markers = [];\r\n\r\n var _icon = {\r\n url: \"/ResourcePackages/Main/assets/static_assets/location-pin-green.svg\",\r\n scaledSize: new google.maps.Size(33, 38)\r\n // origin: new google.maps.Point(0, 0),\r\n // anchor: new google.maps.Point(0, 0)\r\n };\r\n\r\n this.locations_data.map(el => {\r\n var $this = this;\r\n var marker = new window.google.maps.Marker({\r\n position: { lat: el.Address.Latitude, lng: el.Address.Longitude },\r\n map: null,\r\n displayed: true,\r\n icon: _icon,\r\n name: el.BranchName,\r\n equipmentTypes: el.equipmentTypes,\r\n infowindow: $this.getInfoWindow(el)\r\n });\r\n this.markers.push(marker);\r\n\r\n var $map = $this.map;\r\n google.maps.event.addListener(marker, 'click', function () { \r\n if (window.current_info_window) {\r\n window.current_info_window.close()\r\n }\r\n marker.infowindow.open({\r\n anchor: this,\r\n $map\r\n });\r\n window.current_info_window = marker.infowindow;\r\n });\r\n });\r\n },\r\n getInfoWindow: function getInfoWindow(location) {\r\n var address_string = `${location.Address.Street}
${location.Address.City}, ${location.Address.StateCode} ${location.Address.Zip}`;\r\n var phones = JSON.parse(location.PhoneNumbers);\r\n var phone_string = '';\r\n phones.map(el => {\r\n if (el.isVisible) {\r\n var phone_line = `${el.name}: ${el.value}`\r\n phone_string += phone_line;\r\n }\r\n });\r\n var contentString = `