{"version":3,"file":"storeLocator.js","mappings":"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","sources":["webpack://sfra/./cartridges/app_custom_site/cartridge/client/default/js/storeLocator/storeLocator.js","webpack://sfra/./cartridges/app_storefront_base/cartridge/client/default/js/util.js","webpack://sfra/webpack/bootstrap","webpack://sfra/./cartridges/app_custom_site/cartridge/client/default/js/storeLocator.js"],"sourcesContent":["/* eslint-disable */\n\n/* globals google */\n\n/**\n * appends params to a url\n * @param {string} url - Original url\n * @param {Object} params - Parameters to append\n * @returns {string} result url with appended parameters\n */\nfunction appendToUrl(url, params) {\n let newUrl = url;\n newUrl += (newUrl.indexOf('?') !== -1 ? '&' : '?') + Object.keys(params).map((key) => `${key}=${encodeURIComponent(params[key])}`).join('&');\n\n return newUrl;\n}\n\n/**\n * Uses google maps api to render a map\n */\nfunction maps() {\n const infowindow = new google.maps.InfoWindow();\n\n // Init U.S. Map in the center of the viewport\n const latlng = new google.maps.LatLng(37.09024, -95.712891);\n const mapOptions = {\n scrollwheel: false,\n zoom: 4,\n center: latlng,\n };\n\n const map = new google.maps.Map($('.map-canvas')[0], mapOptions);\n let mapdiv = $('.map-canvas').attr('data-locations');\n\n mapdiv = JSON.parse(mapdiv);\n\n const bounds = new google.maps.LatLngBounds();\n\n // Customized google map marker icon with svg format\n // const markerImg = {\n // path: 'M13.5,30.1460153 L16.8554555,25.5 L20.0024287,25.5 C23.039087,25.5 25.5,'\n // + '23.0388955 25.5,20.0024287 L25.5,5.99757128 C25.5,2.96091298 23.0388955,0.5 '\n // + '20.0024287,0.5 L5.99757128,0.5 C2.96091298,0.5 0.5,2.96110446 0.5,5.99757128 '\n // + 'L0.5,20.0024287 C0.5,23.039087 2.96110446,25.5 5.99757128,25.5 L10.1445445,'\n // + '25.5 L13.5,30.1460153 Z',\n // fillColor: '#0070d2',\n // fillOpacity: 1,\n // scale: 1.1,\n // strokeColor: 'white',\n // strokeWeight: 1,\n // anchor: new google.maps.Point(13, 30),\n // labelOrigin: new google.maps.Point(12, 12),\n // };\n\n Object.keys(mapdiv).forEach((key) => {\n const item = mapdiv[key];\n const label = parseInt(key, 10) + 1;\n const storeLocation = new google.maps.LatLng(item.latitude, item.longitude);\n const marker = new google.maps.Marker({\n position: storeLocation,\n map,\n title: item.name,\n // icon: markerImg,\n label: { text: label.toString(), color: 'white', fontSize: '16px' },\n });\n\n marker.addListener('click', () => {\n infowindow.setOptions({\n content: item.infoWindowHtml,\n });\n infowindow.open(map, marker);\n });\n\n // Create a minimum bound based on a set of storeLocations\n bounds.extend(marker.position);\n });\n // Fit the all the store marks in the center of a minimum bounds when any store has been found.\n if (mapdiv && mapdiv.length !== 0) {\n map.fitBounds(bounds);\n }\n}\n\n/**\n * Renders the results of the search and updates the map\n * @param {Object} data - Response from the server\n */\nfunction updateStoresResults(data) {\n const $resultsDiv = $('.results');\n const $mapDiv = $('.map-canvas');\n const hasResults = data.stores.length > 0;\n\n if (!hasResults) {\n $('.store-locator-no-results').show();\n } else {\n $('.store-locator-no-results').hide();\n }\n\n $resultsDiv.empty()\n .data('has-results', hasResults)\n .data('radius', data.radius)\n .data('search-key', data.searchKey);\n\n $mapDiv.attr('data-locations', data.locations);\n\n if ($mapDiv.data('has-google-api')) {\n maps();\n } else {\n $('.store-locator-no-apiKey').show();\n }\n\n if (data.storesResultsHtml) {\n $resultsDiv.append(data.storesResultsHtml);\n }\n}\n\n/**\n * Search for stores with new zip code\n * @param {HTMLElement} element - the target html element\n * @returns {boolean} false to prevent default event\n */\nfunction search(element) {\n const dialog = element.closest('.in-store-inventory-dialog');\n const spinner = dialog.length ? dialog.spinner() : $.spinner();\n spinner.start();\n const $form = element.closest('.store-locator');\n const radius = $('.results').data('radius');\n let url = $form.attr('action');\n\n const urlParams = { radius: radius, buttonSelect: true };\n\n const payload = $form.is('form') ? $form.serialize() : { postalCode: $form.find('[name=\"postalCode\"]').val() };\n\n url = appendToUrl(url, urlParams);\n\n $.ajax({\n url,\n type: $form.attr('method'),\n data: payload,\n dataType: 'json',\n success(data) {\n spinner.stop();\n updateStoresResults(data);\n },\n });\n return false;\n}\n\nmodule.exports = {\n init() {\n if ($('.map-canvas').data('has-google-api')) {\n maps();\n } else {\n $('.store-locator-no-apiKey').show();\n }\n\n if (!$('.results').data('has-results')) {\n $('.store-locator-no-results').show();\n }\n },\n\n detectLocation() {\n // clicking on detect location.\n $('.detect-location').on('click', () => {\n $.spinner().start();\n if (!navigator.geolocation) {\n $.spinner().stop();\n return;\n }\n\n navigator.geolocation.getCurrentPosition((position) => {\n const $detectLocationButton = $('.detect-location');\n let url = $detectLocationButton.data('action');\n const radius = $('.results').data('radius');\n const urlParams = {\n radius,\n lat: position.coords.latitude,\n long: position.coords.longitude,\n };\n\n url = appendToUrl(url, urlParams);\n $.ajax({\n url,\n type: 'get',\n dataType: 'json',\n success(data) {\n $.spinner().stop();\n updateStoresResults(data);\n },\n });\n });\n });\n },\n\n search() {\n $('.store-locator-container form.store-locator').submit(function (e) {\n e.preventDefault();\n search($(this));\n });\n $('.store-locator-container .btn-storelocator-search[type=\"button\"]').click(function (e) {\n e.preventDefault();\n search($(this));\n });\n\n $('#store-postal-code').keypress(function (e) {\n if (e.which == 13) {\n $('.store-locator-container .btn-storelocator-search[type=\"button\"]').trigger('click');\n return false;\n }\n });\n },\n\n changeRadius() {\n $('.store-locator-container .radius').change(function () {\n const radius = $(this).val();\n const searchKeys = $('.results').data('search-key');\n let url = $(this).data('action-url');\n let urlParams = {};\n\n if (searchKeys.postalCode) {\n urlParams = {\n radius,\n postalCode: searchKeys.postalCode,\n };\n } else if (searchKeys.lat && searchKeys.long) {\n urlParams = {\n radius,\n lat: searchKeys.lat,\n long: searchKeys.long,\n };\n }\n\n urlParams.buttonSelect = true;\n\n url = appendToUrl(url, urlParams);\n const dialog = $(this).closest('.in-store-inventory-dialog');\n const spinner = dialog.length ? dialog.spinner() : $.spinner();\n spinner.start();\n $.ajax({\n url,\n type: 'get',\n dataType: 'json',\n success(data) {\n spinner.stop();\n updateStoresResults(data);\n },\n });\n });\n },\n selectStore() {\n $('.store-locator-container').on('click', '.select-store', ((e) => {\n e.preventDefault();\n\n let inputRadio = $(e.target).parents('.form-check').find(':radio');\n inputRadio.prop('checked', true);\n\n const selectedStore = $(':checked', '.results-card .results');\n const data = {\n storeID: selectedStore.val(),\n searchRadius: $('#radius').val(),\n searchPostalCode: $('.results').data('search-key').postalCode,\n storeDetailsHtml: selectedStore.siblings('label').find('.store-details').html(),\n event: e,\n };\n\n $('body').trigger('store:selected', data);\n }));\n },\n updateSelectStoreButton() {\n $('body').on('change', '.select-store-input', (() => {\n //$('.select-store').prop('disabled', false);\n }));\n },\n};\n","'use strict';\n\nmodule.exports = function (include) {\n if (typeof include === 'function') {\n include();\n } else if (typeof include === 'object') {\n Object.keys(include).forEach(function (key) {\n if (typeof include[key] === 'function') {\n include[key]();\n }\n });\n }\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","const processInclude = require('base/util');\n\n$(document).ready(() => {\n processInclude(require('./storeLocator/storeLocator'));\n});\n"],"names":["appendToUrl","url","params","newUrl","indexOf","Object","keys","map","key","encodeURIComponent","join","maps","infowindow","google","InfoWindow","latlng","LatLng","mapOptions","scrollwheel","zoom","center","Map","$","mapdiv","attr","JSON","parse","bounds","LatLngBounds","forEach","item","label","parseInt","storeLocation","latitude","longitude","marker","Marker","position","title","name","text","toString","color","fontSize","addListener","setOptions","content","infoWindowHtml","open","extend","length","fitBounds","updateStoresResults","data","$resultsDiv","$mapDiv","hasResults","stores","show","hide","empty","radius","searchKey","locations","storesResultsHtml","append","search","element","dialog","closest","spinner","start","$form","urlParams","buttonSelect","payload","is","serialize","postalCode","find","val","ajax","type","dataType","success","stop","module","exports","init","detectLocation","on","navigator","geolocation","getCurrentPosition","$detectLocationButton","lat","coords","long","submit","e","preventDefault","click","keypress","which","trigger","changeRadius","change","searchKeys","selectStore","inputRadio","target","parents","prop","selectedStore","storeID","searchRadius","searchPostalCode","storeDetailsHtml","siblings","html","event","updateSelectStoreButton","include","processInclude","require","document","ready"],"sourceRoot":""}