{"version":3,"file":"sxa-search.12f6856175e6c9b75df1.js","mappings":"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","sources":["webpack://sitecore-platform/./sxa-base-themes/Core-Libraries/Scripts/xaquery.js","webpack://sitecore-platform/./sxa-base-themes/XA-API/Scripts/xa.js","webpack://sitecore-platform/./sxa-base-themes/Google-Maps-JS-Connector/Scripts/component-google-maps-connector.js","webpack://sitecore-platform/./sxa-base-themes/Maps/Scripts/component-location-service.js","webpack://sitecore-platform/./sxa-base-themes/Maps/Scripts/component-map.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-location-service.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-ajax.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-base-model.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-base-view.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-facet-data.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-facet-daterange.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-facet-dropdown.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-facet-managed-range.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-facet-range-slider.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-facet-slider.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-facet-summary.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-load-more.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-page-selector.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-page-size.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-parameters.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-query.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-radius-filter.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-results-count.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-results-filter.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-results.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-router.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-service.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-sort.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-url.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search-variant-filter.js","webpack://sitecore-platform/./sxa-base-themes/SearchTheme/Scripts/component-search.js"],"sourcesContent":["/* Through the magic of webpack jQuery is already exposed on global scope */\r\n// require('jquery-ui-dist/jquery-ui.min'); // TODO: Find and remove SXA components depending in this\r\n\r\nconst $xa = jQuery;\r\n\r\n$xa.shouldInitialize = function () {\r\n return typeof window !== 'undefined' && !!window?.Sitecore?.WebEditSettings?.editing;\r\n};\r\n\r\nwindow.$xa = $xa;\r\nexport default $xa;","import $xa from '../../Core-Libraries/Scripts/xaquery';\r\n\r\nexport const XA = (function ($xa, document) {\r\n var api = {}, onPreInitHandlers, onPostInitHandlers, modules = {};\r\n onPreInitHandlers = new Array();\r\n onPostInitHandlers = new Array();\r\n api.register = function (name, api, init) {\r\n modules[name] = {\r\n name: name,\r\n api: api,\r\n init: init || api.init || (function () { })\r\n };\r\n };\r\n api.hasPageModes = function () {\r\n\r\n return !!(window.Sitecore && window.Sitecore.PageModes);\r\n };\r\n\r\n api.registerOnPreInitHandler = function (handler) {\r\n onPreInitHandlers.push(handler);\r\n };\r\n\r\n api.registerOnPostInitHandler = function (handler) {\r\n onPostInitHandlers.push(handler);\r\n };\r\n\r\n var initScheduled = false;\r\n\r\n api.init = function () {\r\n if(typeof window === 'undefined') {\r\n return false;\r\n }\r\n\r\n if (!initScheduled) {\r\n initScheduled = true;\r\n XA.ready(function () {\r\n try {\r\n for (var name in modules)\r\n if (modules.hasOwnProperty(name)) {\r\n $xa.each(onPreInitHandlers, function (i, h) { h.process(name, modules[name]); });\r\n modules[name].init();\r\n $xa.each(onPostInitHandlers, function (i, h) { h.process(name, modules[name]); });\r\n }\r\n }\r\n finally {\r\n initScheduled = false;\r\n }\r\n });\r\n }\r\n };\r\n api.ready = function (fn) {\r\n $(document).ready(fn);\r\n };\r\n api.component = {};\r\n api.connector = {};\r\n api.cookies = {\r\n shouldSendSameSiteNone: function (useragent) {\r\n return !this.isSameSiteNoneIncompatible(useragent);\r\n },\r\n isSameSiteNoneIncompatible: function (useragent) {\r\n return this.hasWebKitSameSiteBug(useragent) ||\r\n this.dropsUnrecognizedSameSiteCookies(useragent);\r\n },\r\n hasWebKitSameSiteBug: function (useragent) {\r\n return this.isIosVersion(12, useragent) ||\r\n (this.isMacosxVersion(10, 14, useragent) &&\r\n (this.isSafari(useragent) || this.isMacEmbeddedBrowser(useragent)));\r\n },\r\n dropsUnrecognizedSameSiteCookies: function (useragent) {\r\n if (this.isUcBrowser(useragent)) {\r\n return !this.isUcBrowserVersionAtLeast(12, 13, 2, useragent);\r\n }\r\n return this.isChromiumBased(useragent) &&\r\n this.isChromiumVersionAtLeast(51, useragent) &&\r\n !this.isChromiumVersionAtLeast(67, useragent);\r\n },\r\n isIosVersion: function (major, useragent) {\r\n var regex = /\\(iP.+; CPU .*OS (\\d+)[_\\d]*.*\\) AppleWebKit\\//;\r\n return useragent.match(regex) !== null && useragent.match(regex)[0] == major.toString();\r\n },\r\n isMacosxVersion: function (major, minor, useragent) {\r\n var regex = /\\(Macintosh;.*Mac OS X (\\d+)_(\\d+)[_\\d]*.*\\) AppleWebKit\\//;\r\n return useragent.match(regex) !== null &&\r\n ((useragent.match(regex)[0] == major.toString()) &&\r\n useragent.match(regex)[1] == minor.toString());\r\n },\r\n isSafari: function (useragent) {\r\n var safari_regex = /Version\\/.* Safari\\//;\r\n return useragent.match(safari_regex) !== null &&\r\n !this.isChromiumBased(useragent);\r\n },\r\n isMacEmbeddedBrowser: function (useragent) {\r\n var regex = /^Mozilla\\/[\\.\\d]+ \\(Macintosh;.*Mac OS X [_\\d]+\\) AppleWebKit\\/[\\.\\d]+ \\(KHTML, like Gecko\\)$/;\r\n return useragent.match(regex) !== null;\r\n },\r\n isChromiumBased: function (useragent) {\r\n var regex = /Chrom(e|ium)/;\r\n return useragent.match(regex) !== null;\r\n },\r\n isChromiumVersionAtLeast: function (major, useragent) {\r\n var regex = /Chrom[^ \\/]+\\/(\\d+)[\\.\\d]* /;\r\n var version = parseInt(useragent.match(regex)[1]);\r\n return version >= major;\r\n },\r\n isUcBrowser: function (useragent) {\r\n var regex = /UCBrowser\\//;\r\n return useragent.match(regex) !== null;\r\n },\r\n isUcBrowserVersionAtLeast: function (major, minor, build, useragent) {\r\n var regex = /UCBrowser\\/(\\d+)\\.(\\d+)\\.(\\d+)[\\.\\d]* /;\r\n var major_version = parseInt(useragent.match(regex)[0]);\r\n var minor_version = parseInt(useragent.match(regex)[1]);\r\n var build_version = parseInt(useragent.match(regex)[2]);\r\n if (major_version != major) {\r\n return major_version > major;\r\n }\r\n if (minor_version != minor) {\r\n return minor_version > minor;\r\n }\r\n return build_version >= build;\r\n },\r\n createCookie: function (name, value, days, sameSite, sameSiteForce) {\r\n var cookieValue = \"\", sameSiteValue = \"\";\r\n if (days) {\r\n var date = new Date();\r\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\r\n var expires = \"; expires=\" + date.toUTCString();\r\n }\r\n else {\r\n expires = \"\";\r\n }\r\n if (sameSite && sameSite.length > 0 && (sameSiteForce || this.shouldSendSameSiteNone(window.navigator.userAgent))) {\r\n sameSiteValue = \"SameSite=\" + sameSite + \";\";\r\n }\r\n document.cookie = name + \"=\" + value + expires + \";\" + sameSiteValue + \" path=/\";\r\n },\r\n readCookie: function (name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1, c.length);\r\n }\r\n if (c.indexOf(nameEQ) == 0) {\r\n return c.substring(nameEQ.length, c.length);\r\n }\r\n }\r\n return null;\r\n },\r\n removeCookieWarning: function () {\r\n var cookieWarning = $xa(\".privacy-warning\");\r\n cookieWarning.remove();\r\n }\r\n };\r\n api.queryString = {\r\n getQueryParam: function (variable) {\r\n if (variable != null) {\r\n variable = variable.toLocaleLowerCase();\r\n }\r\n var query = window.location.search.substring(1);\r\n var vars = query.split(\"&\");\r\n for (var i = 0; i < vars.length; i++) {\r\n var pair = vars[i].split(\"=\");\r\n if (decodeURIComponent(pair[0].toLocaleLowerCase()) === variable) {\r\n return decodeURIComponent(pair[1]);\r\n }\r\n }\r\n return null;\r\n }\r\n };\r\n var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;\r\n var eventListenerSupported = window.addEventListener;\r\n api.dom = {\r\n observeDOM: function (obj, callback) {\r\n if (MutationObserver) {\r\n var obs = new MutationObserver(function (mutations) {\r\n if (mutations[0].addedNodes.length || mutations[0].removedNodes.length)\r\n callback();\r\n });\r\n var options = {\r\n childList: true,\r\n subtree: true\r\n };\r\n obs.observe(obj, options);\r\n }\r\n else if (eventListenerSupported) {\r\n obj.addEventListener('DOMNodeInserted', callback, false);\r\n obj.addEventListener('DOMNodeRemoved', callback, false);\r\n }\r\n }\r\n };\r\n return api;\r\n})($xa, document);\r\n\r\nXA.init();\r\nwindow.XA = XA;\r\n\r\nexport default XA;","XA.connector.mapsConnector = (function ($, document) {\r\n\r\n \"use strict\";\r\n\r\n var api = {},\r\n maps = [],\r\n markers = [],\r\n map,\r\n getMapType,\r\n createMarker,\r\n infoWindows = [],\r\n addMarker,\r\n callbacks = [],\r\n animationTimeout,\r\n loading = false;\r\n\r\n getMapType = function (options) {\r\n switch (options.mode) {\r\n case 'Roadmap': {\r\n return google.maps.MapTypeId.ROADMAP;\r\n }\r\n case 'Satellite': {\r\n return google.maps.MapTypeId.SATELLITE;\r\n }\r\n case 'Hybrid':{\r\n return google.maps.MapTypeId.HYBRID;\r\n }\r\n default: {\r\n return google.maps.MapTypeId.ROADMAP;\r\n }\r\n }\r\n };\r\n\r\n createMarker = function(mapId, data) {\r\n var marker;\r\n if (data.icon === null) {\r\n marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(data.latitude, data.longitude),\r\n map: maps[mapId],\r\n title: data.title\r\n });\r\n } else {\r\n marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(data.latitude, data.longitude),\r\n map: maps[mapId],\r\n title: data.title,\r\n icon: data.icon\r\n });\r\n }\r\n if (data.latitude === '' && data.longitude === '') {\r\n //if marker doesn't have coordinated then create it but doesn't show it on the map\r\n marker.setVisible(false);\r\n }\r\n return marker;\r\n };\r\n\r\n addMarker = function(mapId, marker, data) {\r\n //save POI id - this will be used while removing dynamic POIs from the map\r\n marker.id = data.id;\r\n\r\n if (markers[mapId]) {\r\n markers[mapId].push({ marker: marker, type: data.type});\r\n } else {\r\n markers[mapId] = [];\r\n markers[mapId].push({ marker: marker, type: data.type});\r\n }\r\n };\r\n\r\n api.loadScript = function(key, callback) {\r\n //save each callback and call them all when script will be loaded - protection for loading maps twice\r\n callbacks.push(callback);\r\n\r\n if (!loading) {\r\n loading = true;\r\n var script = document.createElement(\"script\"),\r\n src = \"https://maps.googleapis.com/maps/api/js?v=3.exp\";\r\n script.type = \"text/javascript\";\r\n if (typeof key !== \"undefined\" && key !== \"\") {\r\n src += \"&key=\" + key + \"&v=3.exp&signed_in=false\";\r\n } else {\r\n src += \"&signed_in=false\";\r\n }\r\n src += \"&libraries=places&callback=XA.connector.mapsConnector.scriptsLoaded\";\r\n script.src = src;\r\n script.onload = function () {\r\n console.log(\"Google loader has been loaded, waiting for maps api\");\r\n };\r\n document.body.appendChild(script);\r\n }\r\n };\r\n\r\n api.scriptsLoaded = function () {\r\n var i, length = callbacks.length;\r\n for (var i = 0; i < length; i++) {\r\n callbacks[i].call();\r\n }\r\n loading = false;\r\n };\r\n\r\n api.showMap = function(mapId, options, viewBounds) {\r\n var mapOptions,\r\n listener,\r\n idleListener,\r\n scrollwheel = options.disableMapZoomOnScroll !== \"1\",\r\n mapDragging = options.disableMapScrolling !== \"1\";\r\n\r\n if (viewBounds instanceof Array) {\r\n mapOptions = {\r\n zoom: options.zoom,\r\n scrollwheel: scrollwheel,\r\n draggable: mapDragging,\r\n center: new google.maps.LatLng(viewBounds[0], viewBounds[1]),\r\n mapTypeId: getMapType(options)\r\n };\r\n map = new google.maps.Map(document.getElementById(options.canvasId), mapOptions);\r\n } else {\r\n mapOptions = {\r\n scrollwheel: scrollwheel,\r\n draggable: mapDragging,\r\n mapTypeId: getMapType(options)\r\n };\r\n map = new google.maps.Map(document.getElementById(options.canvasId), mapOptions);\r\n map.fitBounds(viewBounds);\r\n if (options.poiCount < 2) {\r\n idleListener = google.maps.event.addListener(map, \"idle\", function() {\r\n if (Object.keys(markers).length > 0 && markers[mapId].length < 2) {\r\n map.setZoom(options.zoom);\r\n google.maps.event.removeListener(idleListener);\r\n }\r\n });\r\n }\r\n }\r\n\r\n listener = google.maps.event.addListener(map, \"zoom_changed\", function(a, b, c, d) {\r\n var zoom = map.getZoom();\r\n if (zoom < 1) {\r\n map.setZoom(1);\r\n }\r\n });\r\n\r\n maps[mapId] = map;\r\n };\r\n\r\n api.renderPoi = function(mapId, data) {\r\n var marker = createMarker(mapId, data),\r\n key = mapId + \"#\" + data.id;\r\n\r\n addMarker(mapId, marker, data);\r\n\r\n if (data.html !== \"\" && data.html !== null) {\r\n infoWindows[key] = new google.maps.InfoWindow({\r\n content: data.html\r\n });\r\n }\r\n\r\n if (typeof infoWindows[key] !== \"undefined\") {\r\n (function(currentKey, marker) {\r\n google.maps.event.addListener(marker, \"click\", function() {\r\n for (var key in infoWindows) {\r\n if (infoWindows.hasOwnProperty(key)) {\r\n infoWindows[key].close();\r\n }\r\n }\r\n infoWindows[currentKey].open(maps[mapId], marker);\r\n });\r\n })(key, marker);\r\n }\r\n };\r\n\r\n api.renderDynamicPoi = function(mapId, data, getPoiContent) {\r\n var marker = createMarker(mapId, data);\r\n\r\n addMarker(mapId, marker, data);\r\n\r\n google.maps.event.addListener(marker, \"click\", function () {\r\n if (typeof (getPoiContent) === \"function\") {\r\n var poiId = data.id,\r\n poiTypeId = data.poiTypeId,\r\n poiVariantId = data.poiVariantId;\r\n\r\n if (poiVariantId == null) {\r\n return;\r\n }\r\n\r\n getPoiContent(poiId, poiTypeId, poiVariantId, function (result) {\r\n if (infoWindows[mapId]) {\r\n infoWindows[mapId].close();\r\n }\r\n infoWindows[mapId] = new google.maps.InfoWindow({\r\n content: result.Html\r\n });\r\n infoWindows[mapId].open(maps[mapId], marker);\r\n });\r\n }\r\n });\r\n };\r\n\r\n api.clearMarkers = function(mapId) {\r\n var mapMarkers;\r\n if (markers.hasOwnProperty(mapId)) {\r\n mapMarkers = markers[mapId];\r\n for (var i = 0; i < mapMarkers.length; i++) {\r\n if (mapMarkers[i].type === \"Dynamic\") {\r\n mapMarkers[i].marker.setMap(null);\r\n }\r\n }\r\n markers[mapId] = mapMarkers.filter(function (markerData) {\r\n if (markerData.type === \"Static\" || markerData.type === \"MyLocation\") {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n }\r\n };\r\n\r\n api.updateMapPosition = function (mapId) {\r\n var map = maps[mapId],\r\n marker,\r\n mapMarkers = [],\r\n bounds = new google.maps.LatLngBounds(),\r\n i;\r\n\r\n if (markers.hasOwnProperty(mapId)) {\r\n mapMarkers = markers[mapId];\r\n }\r\n\r\n for (var i =0; i < mapMarkers.length; i++) {\r\n marker = mapMarkers[i].marker;\r\n bounds.extend(new google.maps.LatLng(marker.position.lat(), marker.position.lng()));\r\n }\r\n\r\n map.fitBounds(bounds);\r\n };\r\n\r\n api.centerMap = function(mapId, data, centerMap, animate) {\r\n var map = maps[mapId],\r\n mapMarkers = [],\r\n animatedMarker;\r\n\r\n if (centerMap) {\r\n map.setCenter(new google.maps.LatLng(data.coordinates[0], data.coordinates[1]));\r\n }\r\n\r\n if (animate) {\r\n if (markers.hasOwnProperty(mapId)) {\r\n mapMarkers = markers[mapId];\r\n }\r\n for (var i = 0; i < mapMarkers.length; i++) {\r\n mapMarkers[i].marker.setAnimation(null);\r\n if (mapMarkers[i].marker.id === data.id) {\r\n animatedMarker = mapMarkers[i].marker;\r\n mapMarkers[i].marker.setMap(null);\r\n }\r\n }\r\n if (typeof animatedMarker !== \"undefined\") {\r\n animatedMarker.setMap(map);\r\n animatedMarker.setAnimation(google.maps.Animation.BOUNCE);\r\n animationTimeout = setTimeout(function () {\r\n animatedMarker.setMap(map);\r\n }, 2000);\r\n }\r\n }\r\n };\r\n\r\n api.getCentralPoint = function(poisCoords) {\r\n var i,\r\n poiCoords,\r\n count = poisCoords.length,\r\n bounds = new google.maps.LatLngBounds();\r\n\r\n for (var i = 0; i < count; i++) {\r\n poiCoords = poisCoords[i];\r\n if (poiCoords.latitude !== \"\" && poiCoords.longitude !== \"\") {\r\n bounds.extend(new google.maps.LatLng(poiCoords.latitude, poiCoords.longitude));\r\n }\r\n }\r\n return bounds;\r\n };\r\n\r\n api.locationAutocomplete = function(queryParams, successCallback, failCallback){\r\n var autocomplete = new google.maps.places.AutocompleteService(),\r\n maxResults = queryParams.maxResults <= 0 ? 1 : queryParams.maxResults;\r\n autocomplete.getQueryPredictions({input : queryParams.text}, function(results){\r\n var predictions = [], length;\r\n if(results != null && results.length) {\r\n length = results.length >= maxResults ? maxResults : results.length;\r\n\r\n for (var i = 0; i < length; i++) {\r\n predictions.push(_.extend(results[i], {text : results[i].description}));\r\n }\r\n\r\n successCallback(predictions);\r\n }\r\n else {\r\n failCallback();\r\n }\r\n });\r\n };\r\n\r\n api.addressLookup = function (queryParams, successCallback, failCallback) {\r\n var search,\r\n query;\r\n\r\n if(queryParams.hasOwnProperty(\"place_id\")){ //places lookup\r\n search = new google.maps.places.PlacesService(typeof map !== \"undefined\" ? map : new google.maps.Map(document.createElement(\"div\")));\r\n search.getDetails({\r\n placeId : queryParams[\"place_id\"]\r\n }, function(results,status){\r\n if (status == google.maps.places.PlacesServiceStatus.OK) {\r\n if(typeof(results) !== \"undefined\" && typeof(results.geometry.location) !== \"undefined\"){\r\n successCallback([results.geometry.location.lat(),results.geometry.location.lng()]);\r\n return;\r\n }\r\n }\r\n failCallback();\r\n });\r\n }\r\n else { //standard lookup\r\n query = {\r\n address : queryParams.text\r\n };\r\n search = new google.maps.Geocoder();\r\n search.geocode(query, function(results,status){\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n if(typeof(results[0]) !== \"undefined\" && typeof(results[0].geometry.location) !== \"undefined\"){\r\n successCallback([results[0].geometry.location.lat(),results[0].geometry.location.lng()]);\r\n return;\r\n }\r\n }\r\n failCallback();\r\n });\r\n }\r\n };\r\n\r\n api.updateMyPoiLocation = function(mapId, coordinates, zoom) {\r\n var map = maps[mapId],\r\n mapMarkers = [],\r\n myLocationMarker;\r\n\r\n if (markers.hasOwnProperty(mapId)) {\r\n mapMarkers = markers[mapId];\r\n myLocationMarker = mapMarkers.filter(function (marker) {\r\n if (marker.type === \"MyLocation\") {\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (myLocationMarker.length > 0) {\r\n myLocationMarker[0].marker.setPosition(new google.maps.LatLng(coordinates[0], coordinates[1]));\r\n myLocationMarker[0].marker.setVisible(true);\r\n this.updateMapPosition(mapId);\r\n if (typeof zoom !== \"undefined\") {\r\n map.setZoom(zoom);\r\n }\r\n }\r\n }\r\n };\r\n\r\n return api;\r\n\r\n})(jQuery, document);\r\n","XA.component.locationService = (function ($, document) {\r\n\r\n \"use strict\";\r\n\r\n var api = {},\r\n getCurrentLocation,\r\n getLocationOptions,\r\n detectBrowser,\r\n gettingLocation = false,\r\n errorCallbacks = [],\r\n successCallbacks = [],\r\n reportError;\r\n\r\n\r\n getCurrentLocation = function(success, error) {\r\n var i;\r\n\r\n errorCallbacks.push(error);\r\n successCallbacks.push(success);\r\n\r\n if (gettingLocation) {\r\n //process for getting current location has already been started, just subscribe for proper event and wait\r\n return;\r\n }\r\n gettingLocation = true;\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n function (position) {\r\n for (var i = 0; i < successCallbacks.length; i++) {\r\n successCallbacks[i]([position.coords.latitude, position.coords.longitude]);\r\n }\r\n gettingLocation = false;\r\n },\r\n function (error) {\r\n reportError(\"Error while detecting user location location\");\r\n gettingLocation = false;\r\n },\r\n getLocationOptions()\r\n );\r\n } else {\r\n reportError(\"Your browser doesn\\'t support geolocation\");\r\n gettingLocation = false;\r\n }\r\n };\r\n\r\n getLocationOptions = function() {\r\n var browser = detectBrowser();\r\n if (browser.indexOf(\"Chrome\") !== -1) {\r\n return {\r\n enableHighAccuracy: true,\r\n timeout: 10000,\r\n maximumAge: 0\r\n };\r\n } else {\r\n return {\r\n timeout: 1000,\r\n maximumAge: Infinity\r\n };\r\n }\r\n };\r\n\r\n detectBrowser = function() {\r\n var ua = navigator.userAgent,\r\n tem,\r\n M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n\r\n if (/trident/i.test(M[1])) {\r\n tem= /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return \"IE \" + (tem[1] || \"\");\r\n }\r\n if (M[1] === \"Chrome\") {\r\n tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\r\n if(tem != null) {\r\n return tem.slice(1).join(\" \").replace(\"OPR\", \"Opera\");\r\n }\r\n }\r\n M= M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, \"-?\"];\r\n if ((tem= ua.match(/version\\/(\\d+)/i)) != null) {\r\n M.splice(1, 1, tem[1]);\r\n }\r\n return M.join(\" \");\r\n };\r\n\r\n reportError = function(errorMessage) {\r\n var i;\r\n for (var i = 0; i < errorCallbacks.length; i++) {\r\n if (typeof errorCallbacks[i] === \"function\") {\r\n errorCallbacks[i](errorMessage);\r\n }\r\n }\r\n };\r\n\r\n api.detectLocation = function(success, error) {\r\n getCurrentLocation(success, error);\r\n };\r\n\r\n return api;\r\n\r\n}(jQuery, document));\r\n\r\nXA.register(\"locationService\", XA.component.locationService);\r\n","XA.component.map = (function ($, document) {\r\n\r\n \"use strict\";\r\n\r\n var api = {},\r\n maps = [],\r\n searchEndpoint,\r\n searchResultsSignatures = [],\r\n key,\r\n urlHelperModel,\r\n apiModel,\r\n queryModel,\r\n mapsConnector,\r\n scriptsLoaded = false,\r\n initialize,\r\n searchResults,\r\n pushMapData,\r\n resultsLoaded,\r\n myLocationChanged,\r\n myLocationData,\r\n mapViews = [],\r\n MapModel,\r\n MapView;\r\n\r\n resultsLoaded = function (data) {\r\n searchResults = data;\r\n };\r\n\r\n myLocationChanged = function (data) {\r\n myLocationData = data;\r\n };\r\n\r\n initialize = function () {\r\n var i, mapsCount = maps.length;\r\n for (var i = 0; i < mapsCount; i++) {\r\n //crate Backbone.js views - one view per component on the page\r\n mapViews.push(new MapView({el: maps[i], model: new MapModel()}));\r\n }\r\n if (typeof (XA.component.search) !== \"undefined\") {\r\n pushMapData();\r\n }\r\n };\r\n\r\n pushMapData = function() {\r\n var notInitializedMaps,\r\n resultsExists = typeof searchResults !== \"undefined\",\r\n myLocationExists = typeof myLocationData !== \"undefined\";\r\n\r\n if (resultsExists || myLocationExists) {\r\n //in case that results were loaded before initialization of view and model, trigger another event with\r\n //previously loaded results\r\n //this will happen just once - while initialization\r\n //remember about checking if all maps are already rendered\r\n notInitializedMaps = mapViews.filter(function (view) {\r\n if (view.model.get(\"showed\") === false) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n\r\n if (notInitializedMaps.length > 0) {\r\n setTimeout(pushMapData, 1000);\r\n } else {\r\n if (resultsExists) {\r\n XA.component.search.vent.trigger(\"internal-results-loaded\", searchResults);\r\n }\r\n if (myLocationExists) {\r\n XA.component.search.vent.trigger(\"internal-my-location-coordinates-changed\", myLocationData);\r\n }\r\n }\r\n }\r\n };\r\n\r\n MapModel = Backbone.Model.extend({\r\n defaults: {\r\n dataProperties: {},\r\n dynamicPoiList: [],\r\n showed: false,\r\n myLocation: [\"\", \"\"],\r\n id: null,\r\n loadMore: false\r\n },\r\n initialize: function() {\r\n var sig = this.get(\"dataProperties\").searchResultsSignature,\r\n hash = queryModel.parseHashParameters(window.location.hash),\r\n param = typeof (sig) !== \"undefined\" && sig !== \"\" ? sig + \"_g\" : \"g\";\r\n\r\n if (typeof (XA.component.search) !== \"undefined\") {\r\n XA.component.search.vent.on(\"results-loaded\", this.updateDynamicPoiList.bind(this));\r\n XA.component.search.vent.on(\"internal-results-loaded\", this.updateDynamicPoiList.bind(this));\r\n XA.component.search.vent.on(\"my-location-coordinates-changed\", this.changeMyLocation.bind(this));\r\n XA.component.search.vent.on(\"internal-my-location-coordinates-changed\", this.changeMyLocation.bind(this));\r\n XA.component.search.vent.on(\"hashChanged\", this.hashChanged.bind(this));\r\n }\r\n\r\n if (hash.hasOwnProperty(param) && hash[param] !== \"\") {\r\n //if Location Filter component is on the page it could already fill \"g\" hash parameter\r\n this.set(\"myLocation\", hash[param].split(\"|\"));\r\n }\r\n },\r\n getPoiVariant: function (poiTypeId, poiVariantId) {\r\n var mapping = this.get(\"dataProperties\").typeToVariantMapping,\r\n typeId;\r\n\r\n if (typeof poiTypeId !== \"undefined\" && poiTypeId != null) {\r\n typeId = \"{\" + poiTypeId.toUpperCase() + \"}\";\r\n if (mapping.hasOwnProperty(typeId)) {\r\n return mapping[typeId];\r\n } else {\r\n return poiVariantId;\r\n }\r\n }\r\n return poiVariantId;\r\n },\r\n updateDynamicPoiList: function(searchResults) {\r\n var dynamicPoiList = [],\r\n signature = this.get(\"dataProperties\").searchResultsSignature,\r\n geolocationData = searchResults.data.filter(function (result) {\r\n if (result.hasOwnProperty(\"Geospatial\")) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }),\r\n i,\r\n poi;\r\n\r\n if (signature !== searchResults.searchResultsSignature) {\r\n return;\r\n }\r\n\r\n //save information that those POIs comes from load more action\r\n this.set(\"loadMore\", searchResults.loadMore);\r\n\r\n for (var i = 0; i < geolocationData.length; i++) {\r\n poi = geolocationData[i];\r\n\r\n //don't show POIs which doesn't have Latitude and Longitude\r\n if (poi.Geospatial.Latitude === 0 || poi.Geospatial.Longitude === 0) {\r\n continue;\r\n }\r\n\r\n dynamicPoiList.push({\r\n id: poi.Id,\r\n type: \"Dynamic\",\r\n title: poi.Name,\r\n latitude: poi.Geospatial.Latitude,\r\n longitude: poi.Geospatial.Longitude,\r\n icon: poi.Geospatial.PoiIcon,\r\n poiTypeId: poi.Geospatial.PoiTypeId,\r\n poiVariantId: this.getPoiVariant(poi.Geospatial.PoiTypeId, poi.Geospatial.PoiVariantId)\r\n });\r\n }\r\n\r\n this.set(\"dynamicPoiList\", dynamicPoiList);\r\n },\r\n changeMyLocation: function (myLocationData) {\r\n var sig = this.get(\"dataProperties\").searchResultsSignature;\r\n if (sig === myLocationData.sig) {\r\n this.set(\"myLocation\", myLocationData.coordinates);\r\n }\r\n },\r\n hashChanged: function (hash) {\r\n var sig = this.get(\"dataProperties\").searchResultsSignature,\r\n location = hash[sig !== \"\" ? sig + \"_g\" : \"g\"],\r\n myLocationDataSignature = typeof myLocationData !== \"undefined\" ? myLocationData.sig : \"\",\r\n parts;\r\n\r\n if (sig === myLocationDataSignature && typeof location !== \"undefined\" && location !== null && location !== \"\") {\r\n parts = location.split(\"|\");\r\n if (parts.length > 1) {\r\n this.set(\"myLocation\", [parts[0], parts[1]]);\r\n }\r\n }\r\n }\r\n });\r\n\r\n MapView = Backbone.View.extend({\r\n initialize : function () {\r\n var dataProperties = this.$el.data(),\r\n properties = dataProperties.properties;\r\n\r\n if (this.model) {\r\n this.model.set({dataProperties: properties});\r\n this.model.set({id: this.$el.find(\".map-canvas\").prop(\"id\")});\r\n }\r\n\r\n this.render();\r\n this.model.on(\"change:dynamicPoiList\", this.renderDynamicPois, this);\r\n this.model.on(\"change:myLocation\", this.updateMyLocationPoi, this);\r\n if (typeof (XA.component.search) !== \"undefined\") {\r\n XA.component.search.vent.on(\"center-map\", this.handleCenterMap.bind(this));\r\n }\r\n this.updateMyLocationPoi();\r\n\r\n },\r\n render : function () {\r\n var that = this,\r\n showed = this.model.get(\"showed\"),\r\n canvas = document.getElementById(this.model.get(\"id\"));\r\n\r\n if (!showed && canvas !== null) {\r\n this.getCentralPoint(function (viewBounds, ctx) {\r\n if (typeof viewBounds !== \"undefined\") {\r\n var context = typeof ctx !== \"undefined\" ? ctx : this,\r\n id = context.model.get(\"id\"),\r\n properties = context.model.get(\"dataProperties\"),\r\n mapOptions = {\r\n canvasId: id,\r\n zoom: typeof(properties.zoom) === \"number\" ? properties.zoom : context.parseZoom(properties.zoom, 15),\r\n mode: properties.mode,\r\n poiCount: properties.pois.length,\r\n key: properties.key,\r\n disableMapScrolling: properties.disableMapScrolling,\r\n disableMapZoomOnScroll: properties.disableMapZoomOnScroll\r\n };\r\n\r\n mapsConnector.showMap(id, mapOptions, viewBounds);\r\n context.renderPoiList(id, properties.pois);\r\n\r\n context.model.set(\"showed\", true);\r\n }\r\n });\r\n }\r\n },\r\n renderDynamicPois: function() {\r\n var dataProperties = this.model.get(\"dataProperties\"),\r\n dynamicPoiList = this.model.get(\"dynamicPoiList\"),\r\n properties = this.model.get(\"dataProperties\"),\r\n id = this.model.get(\"id\"),\r\n i;\r\n\r\n if (!this.model.get(\"loadMore\")) {\r\n mapsConnector.clearMarkers(id);\r\n }\r\n\r\n for (var i = 0; i < dynamicPoiList.length; i++) {\r\n mapsConnector.renderDynamicPoi(id, dynamicPoiList[i], this.getGeoPoiContent.bind(this));\r\n }\r\n\r\n //if user want to see all POIs then after adding dynamic POIs we have to recalculate map center point\r\n if (dataProperties.centralPointMode === \"MidOfPoi\") {\r\n mapsConnector.updateMapPosition(this.model.get(\"id\"), this.parseZoom(properties.zoom, 15));\r\n }\r\n },\r\n renderPoiList: function(mapId, poiList) {\r\n var i,\r\n poi,\r\n myLocation,\r\n poiCount = poiList.length,\r\n properties = this.model.get(\"dataProperties\"),\r\n sig = properties.searchResultsSignature,\r\n hash = queryModel.parseHashParameters(window.location.hash),\r\n param = sig !== \"\" ? sig + \"_g\" : \"g\";\r\n\r\n for (var i = 0; i < poiCount; i++) {\r\n poi = poiList[i];\r\n\r\n if (poi.Type === \"MyLocation\") {\r\n myLocation = this.model.get(\"myLocation\");\r\n poi.Latitude = myLocation[0];\r\n poi.Longitude = myLocation[1];\r\n\r\n if (!hash.hasOwnProperty(param) || (hash.hasOwnProperty(param) && hash[param] === \"\")) {\r\n //if there is no \"g\" param then it's mean that there is no Location Filter on the map\r\n //in this case we have take coordinated from the browser to display My Location POI\r\n this.getCurrentPosition(function (coordinates) {\r\n this.model.set(\"myLocation\", coordinates);\r\n });\r\n } else if (hash.hasOwnProperty(param)) {\r\n this.model.set(\"myLocation\", hash[param].split(\"|\"));\r\n }\r\n } else if (poi.Latitude === \"\" || poi.Longitude === \"\") {\r\n continue;\r\n }\r\n\r\n mapsConnector.renderPoi(mapId, {\r\n id: poi.Id.Guid,\r\n title: poi.Title,\r\n description: poi.Description,\r\n latitude: poi.Latitude,\r\n longitude: poi.Longitude,\r\n icon: poi.PoiIcon,\r\n html: poi.Html,\r\n type: poi.Type\r\n });\r\n }\r\n },\r\n getPoiContent: function(poiId, poiTypeId, poiVariantId, renderPoiContentCallback) {\r\n var properties = this.model.get(\"dataProperties\"),\r\n url = urlHelperModel.createGetPoiContentUrl({endpoint: properties.variantsEndpoint}, poiId, poiVariantId);\r\n\r\n apiModel.getData({\r\n callback: renderPoiContentCallback,\r\n url: url,\r\n excludeSiteName: true\r\n });\r\n },\r\n getGeoPoiContent: function (poiId, poiTypeId, poiVariantId, renderPoiContentCallback) {\r\n var myLocation = this.model.get(\"myLocation\"),\r\n latitude = myLocation[0],\r\n longitude = myLocation[1],\r\n properties = this.model.get(\"dataProperties\"),\r\n hash = queryModel.parseHashParameters(window.location.hash),\r\n units = hash.o,\r\n url = urlHelperModel.createGetGeoPoiContentUrl({ endpoint: properties.variantsEndpoint }, poiId, poiVariantId, latitude + \",\" + longitude, units, properties.itemId);\r\n\r\n apiModel.getData({\r\n callback: renderPoiContentCallback,\r\n url: url,\r\n excludeSiteName: true\r\n });\r\n\r\n },\r\n getCentralPoint: function (callback) {\r\n var properties = this.model.get(\"dataProperties\"),\r\n that = this;\r\n\r\n switch (properties.centralPointMode) {\r\n case \"Auto\": {\r\n if (properties.centralPoint !== \"\") {\r\n callback.call(that, [properties.latitude, properties.longitude]);\r\n } else if (properties.pois.length > 0) {\r\n callback.call(that, [properties.pois[0].Latitude, properties.pois[0].Longitude]);\r\n } else {\r\n this.getCurrentPosition(callback);\r\n }\r\n break;\r\n }\r\n case \"MidOfPoi\": {\r\n callback.call(that, this.getPoisCentralPoint());\r\n break;\r\n }\r\n case \"Location\":{\r\n this.getCurrentPosition(callback);\r\n break;\r\n }\r\n }\r\n },\r\n getCurrentPosition: function (callback) {\r\n var that = this;\r\n XA.component.locationService.detectLocation(\r\n function (location) {\r\n callback.call(that, location, that);\r\n },\r\n function (errorMessage) {\r\n callback.call(that, [0, 0], that);\r\n console.log(errorMessage);\r\n }\r\n );\r\n },\r\n getPoisCentralPoint: function () {\r\n var i,\r\n poi,\r\n poisCoords = [],\r\n myLocation = this.model.get(\"myLocation\"),\r\n properties = this.model.get(\"dataProperties\"),\r\n count = properties.pois.length;\r\n\r\n for (var i = 0; i < count; i++) {\r\n poi = properties.pois[i];\r\n if (poi.TemplateId.Guid === \"7dd9ece5-9461-498d-8721-7cbea8111b5e\") {\r\n if (myLocation[0] !== \"\" && myLocation[1] !== \"\") {\r\n poi.Latitude = myLocation[0];\r\n poi.Longitude = myLocation[1];\r\n this.model.set(\"dataProperties\", properties);\r\n poisCoords.push({latitude: poi.Latitude, longitude: poi.Longitude});\r\n }\r\n } else {\r\n poisCoords.push({latitude: poi.Latitude, longitude: poi.Longitude});\r\n }\r\n }\r\n\r\n return mapsConnector.getCentralPoint(poisCoords);\r\n },\r\n handleCenterMap: function (data) {\r\n var centerMap = this.model.get(\"dataProperties\").centerOnFoundPoi === \"1\",\r\n animate = this.model.get(\"dataProperties\").animateFoundPoi === \"1\";\r\n this.centerOnMap(data, centerMap, animate);\r\n },\r\n centerOnMap: function (data, centerMap, animate) {\r\n if (data.sig === this.model.get(\"dataProperties\").searchResultsSignature) {\r\n mapsConnector.centerMap(this.model.get(\"id\"), data, centerMap, animate);\r\n }\r\n },\r\n updateMyLocationPoi: function () {\r\n var properties = this.model.get(\"dataProperties\"),\r\n myLocation = this.model.get(\"myLocation\");\r\n\r\n //check if there is something in my location\r\n if (myLocation[0] !== \"\" && myLocation[1] !== 0) {\r\n //my location was changed so update position of My Location marker\r\n mapsConnector.updateMyPoiLocation(this.model.get(\"id\"), myLocation, this.parseZoom(properties.zoom, 15));\r\n } else if (properties.latitude !== \"\" && properties.longitude !== \"\") {\r\n var data = {};\r\n data.sig = properties.searchResultsSignature;\r\n data.coordinates = [properties.latitude, properties.longitude];\r\n this.centerOnMap(data, true, false);\r\n }\r\n },\r\n parseZoom: function (str, defaultValue) {\r\n var retValue = defaultValue;\r\n if(str !== null) {\r\n if(str.length > 0) {\r\n if (!isNaN(str)) {\r\n retValue = parseInt(str);\r\n }\r\n }\r\n }\r\n return retValue;\r\n }\r\n });\r\n\r\n api.init = function() {\r\n var i,\r\n mapElements = $(\".map.component:not(.initialized)\"),\r\n count = mapElements.length;\r\n\r\n if (typeof (XA.component.search) !== \"undefined\") {\r\n queryModel = XA.component.search.query;\r\n urlHelperModel = XA.component.search.url;\r\n apiModel = XA.component.search.ajax;\r\n\r\n //if the page was reloaded there could be situation that search results will load results faster then map initialization\r\n //so that we have to save them and pass to the models when they will be created\r\n XA.component.search.vent.on(\"results-loaded\", resultsLoaded);\r\n //the same with \"my location\", sometimes Location Filter component can change location before map was initialized\r\n XA.component.search.vent.on(\"my-location-coordinates-changed\", myLocationChanged);\r\n }\r\n mapsConnector = XA.connector.mapsConnector;\r\n\r\n if (count > 0) {\r\n for (var i = 0; i < count; i++) {\r\n var $map = $(mapElements[i]);\r\n var properties = $map.data(\"properties\");\r\n key = properties.key;\r\n searchEndpoint = properties.endpoint;\r\n searchResultsSignatures.push(properties.searchResultsSignature)\r\n $map.addClass(\"initialized\");\r\n maps.push($map);\r\n }\r\n\r\n if (!scriptsLoaded) {\r\n mapsConnector.loadScript(key, XA.component.map.scriptsLoaded);\r\n } else {\r\n initialize();\r\n }\r\n }\r\n };\r\n\r\n api.scriptsLoaded = function() {\r\n console.log(\"Maps api loaded\");\r\n scriptsLoaded = true;\r\n initialize();\r\n };\r\n\r\n api.getSearchEndpoint = function() {\r\n return searchEndpoint;\r\n };\r\n\r\n api.getSignatures = function() {\r\n return searchResultsSignatures;\r\n }\r\n\r\n return api;\r\n\r\n}(jQuery, document));\r\n\r\nXA.register(\"map\", XA.component.map);\r\n","\r\n/**\r\n * Service that provides wrappers for geolocation API\r\n * @module locationService\r\n * @param {jQuery} $ Instance of jQuery\r\n * @return {Object} List of location service methods\r\n */\r\nXA.component.locationService = (function ($, document) {\r\n\r\n \"use strict\";\r\n /**\r\n * This object stores all public api methods.\r\n * @type {Object.}\r\n * @memberOf module:locationService\r\n */\r\n var api = {},\r\n getCurrentLocation,\r\n getLocationOptions,\r\n detectBrowser,\r\n gettingLocation = false,\r\n errorCallbacks = [],\r\n successCallbacks = [],\r\n reportError;\r\n\r\n /**\r\n * getCurrentLocation method call geolocation.getCurrentPosition API and call callback functions\r\n * @memberOf module:locationService\r\n * @param {Function} success function callback that calls in case of positive answer from geolocation API\r\n * @param {Function} error function callback that calls in case of error answer from geolocation API\r\n * @alias module:locationService.getCurrentLocation\r\n * @private\r\n */\r\n getCurrentLocation = function (success, error) {\r\n var i;\r\n\r\n errorCallbacks.push(error);\r\n successCallbacks.push(success);\r\n\r\n if (gettingLocation) {\r\n //process for getting current location started already, just subscribe for proper event and wait\r\n return;\r\n }\r\n gettingLocation = true;\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n function (position) {\r\n for (var i = 0; i < successCallbacks.length; i++) {\r\n successCallbacks[i]([position.coords.latitude, position.coords.longitude]);\r\n }\r\n gettingLocation = false;\r\n },\r\n function (error) {\r\n reportError(\"Error while detecting user location\");\r\n gettingLocation = false;\r\n },\r\n getLocationOptions()\r\n );\r\n } else {\r\n reportError(\"Your browser does not support geolocation\");\r\n gettingLocation = false;\r\n }\r\n };\r\n /**\r\n * getLocationOptions method return option for location search based on browser\r\n * @memberOf module:locationService\r\n * @alias module:locationService.getLocationOptions\r\n * @returns {Object} list of option for location search\r\n * @private\r\n */\r\n getLocationOptions = function () {\r\n var browser = detectBrowser();\r\n if (browser.indexOf(\"Chrome\") !== -1) {\r\n return {\r\n enableHighAccuracy: true,\r\n timeout: 10000,\r\n maximumAge: 0\r\n };\r\n } else {\r\n return {\r\n timeout: 1000,\r\n maximumAge: Infinity\r\n };\r\n }\r\n };\r\n /**\r\n * detectBrowser method detects browser name and version\r\n * @memberOf module:locationService\r\n * @alias module:locationService.detectBrowser\r\n * @returns {String} returns browser name and its version\r\n * @private\r\n */\r\n detectBrowser = function () {\r\n var ua = navigator.userAgent,\r\n tem,\r\n M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return \"IE \" + (tem[1] || \"\");\r\n }\r\n if (M[1] === \"Chrome\") {\r\n tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\r\n if (tem != null) {\r\n return tem.slice(1).join(\" \").replace(\"OPR\", \"Opera\");\r\n }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, \"-?\"];\r\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null) {\r\n M.splice(1, 1, tem[1]);\r\n }\r\n return M.join(\" \");\r\n };\r\n /**\r\n * reportError method adds error message to errorCallbacks array\r\n * @memberOf module:locationService\r\n * @param {String} errorMessage text of appeared error\r\n * @alias module:locationService.reportError\r\n * @private\r\n */\r\n reportError = function (errorMessage) {\r\n var i;\r\n for (var i = 0; i < errorCallbacks.length; i++) {\r\n if (typeof errorCallbacks[i] === \"function\") {\r\n errorCallbacks[i](errorMessage);\r\n }\r\n }\r\n };\r\n /**\r\n * detectLocation method call\r\n * [\"getCurrentLocation\"]{@link module:locationService.getCurrentLocation} method\r\n * to get user location.\r\n * @memberOf module:locationService\r\n * @param {Function} success function callback that calls in case of positive answer from geolocation API\r\n * @param {Function} error function callback that calls in case of error answer from geolocation API\r\n * @alias module:locationService.detectLocation\r\n */\r\n api.detectLocation = function (success, error) {\r\n getCurrentLocation(success, error);\r\n };\r\n\r\n return api;\r\n\r\n}(jQuery, document));\r\n\r\nXA.register(\"locationService\", XA.component.locationService);\r\n","/**\r\n * Provides methods for working searches using Ajax\r\n * @module ajax\r\n * @param {jQuery} $ Instance of jQuery\r\n * @param {Document} document dom document object\r\n * @return {ApiModel} list of Api methods for Search Ajax functionality\r\n*/\r\nXA.component.search.ajax = (function ($, document) {\r\n var ApiModel, getPrameterByName;\r\n\r\n /**\r\n * @name module:ajax.ApiModel\r\n * @constructor\r\n * @augments Backbone.Model\r\n */\r\n ApiModel = Backbone.Model.extend(\r\n /** @lends module:ajax.ApiModel.prototype **/\r\n\r\n {\r\n /**\r\n * Makes ajax request and calls callback on success\r\n * @method\r\n * @param {Object} properties properties of ajax call and callback\r\n */\r\n getData: function (properties) {\r\n var siteName = this.getPrameterByName(\"sc_site\"),\r\n url = typeof properties.excludeSiteName !== \"undefined\" && properties.excludeSiteName\r\n ? properties.url\r\n : XA.component.search.url.createSiteUrl(properties.url, siteName);\r\n Backbone.ajax({\r\n dataType: \"json\",\r\n url: url,\r\n success: function (data) {\r\n properties.callback(data);\r\n }\r\n });\r\n },\r\n /**\r\n * Gets value of parameter from url\r\n * @method\r\n * @param {String} name name of parameter that should be taken from url\r\n * @param {String} url link from which parameter should be taken\r\n * @returns {string} parameter value\r\n */\r\n getPrameterByName: function (name, url) {\r\n if (!url) url = window.location.href;\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n }\r\n });\r\n\r\n return new ApiModel();\r\n\r\n}(jQuery, document));","/**\r\n * include functionality for sorting facet array\r\n * @module searchBaseModel\r\n * @param {jQuery} $ Instance of jQuery\r\n * @param {Document} document dom document object\r\n * @return {baseModel} list of methods for working with facet array\r\n*/\r\nXA.component.search.baseModel = (function ($, document) {\r\n\t/**\r\n\t* @name module:searchBaseModel.baseModel\r\n\t* @constructor\r\n\t* @augments Backbone.Model\r\n\t*/\r\n\treturn Backbone.Model.extend(\r\n\t\t/** @lends module:searchBaseModel.baseModel.prototype **/\r\n\t\t{\r\n\t\t\t/**\r\n\t\t\t * Sort facets by sort order option\r\n\t\t\t * @param {String} sortOrder method of sorting - SortByCount|SortByNames\r\n\t\t\t * @param {Array} facetArray list of facets that should be sorted\r\n\t\t\t */\r\n\t\t\tsortFacetArray: function (sortOrder, facetArray) {\r\n\t\t\t\tswitch (sortOrder) {\r\n\t\t\t\t\tcase 'SortByCount': {\r\n\t\t\t\t\t\tfacetArray.sort(function (a, b) { return b.Count - a.Count });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase 'SortByNames':\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\t//no need to sort by names as values are sorted that way by default\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n}(jQuery, document));\r\n\r\nXA.register('searchBaseModel', XA.component.search.baseModel);\r\n","/**\r\n * Provides methods for translate and update signature\r\n * @module searchBaseView\r\n * @param {jQuery} $ Instance of jQuery\r\n * @param {Document} document dom document object\r\n * @return {baseView} list of Api methods for work with signature\r\n*/\r\nXA.component.search.baseView = (function ($, document) {\r\n\t/**\r\n\t* @name module:searchBaseView.baseViewModel\r\n\t* @constructor\r\n\t* @augments Backbone.Model\r\n\t*/\r\n\treturn Backbone.View.extend(\r\n\t\t/** @lends module:searchBaseView.baseViewModel.prototype **/\r\n\t\t{\r\n\r\n\t\t\tinitialize: function () {\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t *\r\n\t\t\t * @param {*} rawSignature\r\n\t\t\t * @param {*} f\r\n\t\t\t */\r\n\t\t\ttranslateSignatures: function (rawSignature, f) {\r\n\t\t\t\tvar signatures, i;\r\n\r\n\t\t\t\tf = f ? f.toLowerCase() : \"\";\r\n\r\n\t\t\t\tif (typeof rawSignature === \"undefined\" || rawSignature === null) {\r\n\t\t\t\t\treturn [f];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsignatures = rawSignature.split(',');\r\n\r\n\t\t\t\tif (rawSignature === \"\") {\r\n\t\t\t\t\treturn [f];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tfor (var i = 0; i < signatures.length; i++) {\r\n\t\t\t\t\t\tsignatures[i] = signatures[i] + \"_\" + f;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn signatures;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t *\r\n\t\t\t * @param {*} sig\r\n\t\t\t * @param {*} value\r\n\t\t\t * @param {*} hash\r\n\t\t\t */\r\n\t\t\tupdateSignaturesHash: function (sig, value, hash) {\r\n\t\t\t\tfor (var i = 0; i < sig.length; i++) {\r\n\t\t\t\t\thash[sig[i]] = value;\r\n\t\t\t\t}\r\n\t\t\t\treturn hash;\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * Manages whether the component should be visible, depending on data.\r\n\t\t\t * @param {DomElement} component Dom element that we want ho show\\hide\r\n\t\t\t * @param {Object} data Object with facet data. Depending on data, component will be hidden or shown.\r\n\t\t\t */\r\n\t\t\tmanageVisibilityByData: function (component, data) {\r\n\t\t\t\tif (_.size(data) === 0 || (typeof data.Values !== \"undefined\" && data.Values.length == 0)) {\r\n\t\t\t\t\t$(component).hide();\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(component).show();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n}(jQuery, document));\r\n\r\nXA.register('searchBaseView', XA.component.search.baseView);\r\n","/**\r\n * Includes functionality for manipulating facet data\r\n * @module FacetData\r\n * @param {jQuery} $ Instance of jQuery\r\n * @param {Document} document dom document object\r\n * @return {FacetDataModel} FacetDataModel api\r\n*/\r\nXA.component.search.facet.data = (function ($, document) {\r\n /**\r\n * @name module:FacetData.FacetDataModel\r\n * @constructor\r\n * @augments Backbone.Model\r\n */\r\n var FacetDataModel = Backbone.Model.extend(\r\n /** @lends module:FacetData.FacetDataModel.prototype **/\r\n {\r\n /**\r\n * Default model options\r\n * @default\r\n */\r\n defaults: {\r\n },\r\n /**\r\n * @memberof module:FacetData.FacetDataModel.prototype\r\n */\r\n initialize: function () {\r\n },\r\n /**\r\n * Gets facet data by calling \r\n * [\"search.ajax.getData\"]{@link module:ajax.ApiModel#getData} method\r\n * @memberof module:FacetData.FacetDataModel\r\n * @alias module:FacetData.FacetDataModel#getInitialFacetData\r\n */\r\n getInitialFacetData: function () {\r\n var facetRequestData = this.getFacetRequestData(),\r\n data = facetRequestData.data,\r\n facetNames = [],\r\n language;\r\n\r\n for (var signature in data) {\r\n if (data.hasOwnProperty(signature)) {\r\n //here we don't have any params after hash in the url, we are getting all data at once\r\n facetNames = facetNames.concat(data[signature].normalFiltering);\r\n facetNames = facetNames.concat(data[signature].partialFiltering);\r\n\r\n //get language settings form Search Results rendering\r\n language = this.getSearchResultsLanguage(signature);\r\n\r\n if (facetNames.length > 0) {\r\n XA.component.search.ajax.getData({\r\n callback: function (data) {\r\n XA.component.search.vent.trigger(\"facet-data-loaded\", data);\r\n },\r\n url: XA.component.search.url.createMultiFacetUrl({\r\n endpoint: facetRequestData.endpoint,\r\n s: facetRequestData.s,\r\n l: language\r\n }, facetNames, signature)\r\n });\r\n }\r\n }\r\n }\r\n },\r\n /**\r\n * Filter facet data\r\n * [\"search.ajax.getData\"]{@link module:ajax.ApiModel#getData} method and \r\n * triggered event '' on callback with sending response from server\r\n * @memberof module:FacetData.FacetDataModel\r\n * @param {Object} hashObj Object with hashes from url\r\n * @fires XA.component.search.vent#facet-data-filtered\r\n * @fires XA.component.search.vent#facet-data-partial-filtered\r\n * @alias module:FacetData.FacetDataModel#filterFacetData\r\n */\r\n filterFacetData: function (hashObj) {\r\n var facetRequestData = this.getFacetRequestData(hashObj),\r\n data = facetRequestData.data,\r\n requestData,\r\n language,\r\n scope,\r\n searchModel,\r\n itemId;\r\n\r\n for (var signature in data) {\r\n if (data.hasOwnProperty(signature)) {\r\n //Gets language settings form Search Results rendering\r\n language = this.getSearchResultsLanguage(signature);\r\n //Gets scope settings form Search Results rendering\r\n scope = this.getSearchResultsScope(signature);\r\n\r\n searchModel = this.getSearchResultsModelBySignature(signature),\r\n itemId = searchModel.get('dataProperties').itemid;\r\n\r\n //Makes one request for data for facet controls with all hash params\r\n if (data[signature].normalFiltering.length > 0) {\r\n requestData = $.extend({ endpoint: facetRequestData.endpoint, s: scope, l: language }, hashObj);\r\n XA.component.search.ajax.getData({\r\n callback: function (data) {\r\n XA.component.search.vent.trigger(\"facet-data-filtered\", data);\r\n },\r\n url: XA.component.search.url.createMultiFacetUrl(requestData, data[signature].normalFiltering, signature, itemId)\r\n });\r\n }\r\n\r\n //Makes as many requests as many controls that require partial filtering we have\r\n //We will take all params from url hash without control facet name so controls won't collapse\r\n if (data[signature].partialFiltering.length > 0) {\r\n _.each(data[signature].partialFiltering, function (facetName) {\r\n var hash = $.extend({}, hashObj);\r\n\r\n //Ensures removal of facet (despite lower case or not) from hash object in case of partial filtering \r\n delete hash[signature !== \"\" ? signature + \"_\" + facetName : facetName];\r\n delete hash[signature !== \"\" ? signature + \"_\" + facetName.toLowerCase() : facetName.toLowerCase()];\r\n\r\n requestData = $.extend({ endpoint: facetRequestData.endpoint, s: scope, l: language }, hash);\r\n\r\n XA.component.search.ajax.getData({\r\n callback: function (data) {\r\n XA.component.search.vent.trigger(\"facet-data-partial-filtered\", data);\r\n },\r\n url: XA.component.search.url.createMultiFacetUrl(requestData, [facetName], signature, itemId)\r\n });\r\n });\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Gets facet request data from server by calling \r\n * getFacetDataRequestInfo method in a loop for all facet components\r\n * and stores them in returned object\r\n * @memberof module:FacetData.FacetDataModel\r\n * @param {Object} hashObj Object with hashes from url\r\n * @returns {facetRequestData} request data from each facet component stored in object\r\n * @alias module:FacetData.FacetDataModel#getFacetRequestData\r\n */\r\n getFacetRequestData: function (hashObj) {\r\n var that = this, data = [], requestData = {}, facetControl, control, endpoint, facetName;\r\n\r\n for (facetControl in XA.component.search.facet) {\r\n control = XA.component.search.facet[facetControl];\r\n if (typeof (control.getFacetDataRequestInfo) === \"function\") {\r\n data = control.getFacetDataRequestInfo();\r\n _.each(data, function (controlData) {\r\n facetName = controlData.signature !== \"\" ? controlData.signature + \"_\" + controlData.facetName : controlData.facetName;\r\n\r\n if (!requestData.hasOwnProperty(controlData.signature)) {\r\n that.initRequestObject(requestData, controlData);\r\n }\r\n\r\n if (!controlData.filterWithoutMe || (hashObj !== undefined && !hashObj.hasOwnProperty(facetName) && !hashObj.hasOwnProperty(facetName.toLowerCase()))) {\r\n //If the control does not require partial filtering or control facet name is not in the hash, add it to \"one request\" list.\r\n requestData[controlData.signature].normalFiltering.push(controlData.facetName);\r\n endpoint = controlData.endpoint;\r\n } else {\r\n requestData[controlData.signature].partialFiltering.push(controlData.facetName);\r\n endpoint = controlData.endpoint;\r\n }\r\n });\r\n }\r\n }\r\n return {\r\n endpoint: endpoint,\r\n data: requestData\r\n };\r\n },\r\n /**\r\n * On initialization fullfils requestData argument with\r\n * right structure\r\n * @memberof module:FacetData.FacetDataModel\r\n * @param {Object} requestData Object with request data\r\n * @param {Object} controlData Object data taked from facet\r\n * @alias module:FacetData.FacetDataModel#initRequestObject\r\n */\r\n initRequestObject: function (requestData, controlData) {\r\n requestData[controlData.signature] = {};\r\n requestData[controlData.signature].normalFiltering = [];\r\n requestData[controlData.signature].partialFiltering = [];\r\n },\r\n /**\r\n * Returns language of search result\r\n * @memberof module:FacetData.FacetDataModel\r\n * @param {String} signature - signature of search result\r\n * @alias module:FacetData.FacetDataModel#getSearchResultsLanguage\r\n * @returns {String} search result language\r\n */\r\n getSearchResultsLanguage: function (signature) {\r\n var searchResultsModel = this.getSearchResultsModelBySignature(signature);\r\n if (typeof searchResultsModel !== \"undefined\") {\r\n return searchResultsModel.get(\"dataProperties\").l;\r\n }\r\n return \"\";\r\n },\r\n /**\r\n * Returns search result scope\r\n * @memberof module:FacetData.FacetDataModel\r\n * @param {String} signature - signature of search result\r\n * @alias module:FacetData.FacetDataModel#getSearchResultsScope\r\n * @returns {String} search result scope\r\n */\r\n getSearchResultsScope: function (signature) {\r\n var searchResultsModel = this.getSearchResultsModelBySignature(signature);\r\n if (typeof searchResultsModel !== \"undefined\") {\r\n return searchResultsModel.get(\"dataProperties\").s;\r\n }\r\n return \"\";\r\n },\r\n /**\r\n * Returns search result model by signature\r\n * @memberof module:FacetData.FacetDataModel\r\n * @param {String} signature - signature of search result\r\n * @alias module:FacetData.FacetDataModel#getSearchResultsModelBySignature\r\n * @returns {BackboneModel} search result model\r\n */\r\n getSearchResultsModelBySignature: function (signature) {\r\n var searchResultModels = XA.component.search.results.searchResultModels,\r\n model = searchResultModels.filter(function (element) {\r\n return element.get(\"dataProperties\").sig === signature;\r\n })[0];\r\n\r\n return model;\r\n }\r\n });\r\n\r\n return new FacetDataModel();\r\n\r\n}(jQuery, document));","/**\r\n * Includes functionality for daterange component\r\n * @module facetDateRange\r\n * @param {jQuery} $ Instance of jQuery\r\n * @param {Document} document dom document object\r\n * @return {Object} list of methods for working with date range component\r\n*/\r\nXA.component.search.facet.daterange = (function ($, document) {\r\n /**\r\n * This object stores all public api methods\r\n * @type {Object.}\r\n * @memberOf module:facetDateRange\r\n * */\r\n var api = {}, queryModel, urlHelperModel, toUrlDate, fromUrlDate;\r\n /**\r\n * format date\r\n * @param {String} date date that should be formatted\r\n * @private\r\n * @memberof module:facetDateRange\r\n * @alias module:facetDateRange.toUrlDate\r\n * @returns {String} date in format 'yymmdd'\r\n */\r\n toUrlDate = function (date) {\r\n return date !== null && date !== \"\" ? $.datepicker.formatDate('yymmdd', date) : \"\";\r\n };\r\n /**\r\n * format date from url\r\n * @private\r\n * @param {String} dateString date that should be formatted\r\n * @memberof module:facetDateRange\r\n * @alias module:facetDateRange.fromUrlDate\r\n * @returns {Date} date\r\n */\r\n fromUrlDate = function (dateString) {\r\n var y = dateString.substr(0, 4),\r\n m = dateString.substr(4, 2) - 1,\r\n d = dateString.substr(6, 2),\r\n D = new Date(y, m, d);\r\n\r\n if (dateString === \"\") {\r\n return;\r\n }\r\n\r\n if (D.getFullYear() == y && D.getMonth() == m && D.getDate() == d)\r\n return D;\r\n else\r\n throw \"Invalid date: \" + dateString;\r\n };\r\n /**\r\n * @name module:facetDateRange.FacetDateRangeModel\r\n * @constructor\r\n * @augments Backbone.Model\r\n */\r\n var FacetDateRangeModel = Backbone.Model.extend(\r\n /** @lends module:facetDateRange.FacetDateRangeModel.prototype **/\r\n {\r\n /**\r\n * Default model options\r\n * @default\r\n */\r\n defaults: {\r\n dataProperties: {},\r\n sig: []\r\n }\r\n });\r\n /**\r\n * @name module:facetDateRange.FacetDateRangeView\r\n * @constructor\r\n * @augments Backbone.View\r\n */\r\n var FacetDateRangeView = XA.component.search.baseView.extend(\r\n /** @lends module:facetDateRange.FacetDateRangeView.prototype **/\r\n {\r\n /**\r\n * Initially sets data to model and watches events on which\r\n * view should be updated\r\n * @listens module:facetDateRange.FacetDateRangeView~event:change\r\n * @listens module:XA.component.search.vent~event:hashChanged\r\n * @memberof module:facetDateRange.FacetDateRangeView\r\n */\r\n initialize: function () {\r\n this.properties = this.$el.data().properties;\r\n if (this.model) {\r\n this.model.set({ dataProperties: this.properties });\r\n this.model.set(\"sig\", this.translateSignatures(this.properties.searchResultsSignature, this.properties.f));\r\n }\r\n this.model.on(\"change\", this.render, this);\r\n\r\n XA.component.search.vent.on(\"hashChanged\", this.updateComponent.bind(this));\r\n },\r\n /**\r\n * list of events for Backbone View\r\n * @memberof module:facetDateRange.FacetDateRangeView\r\n * @alias module:facetDateRange.FacetDateRangeView#events\r\n */\r\n events: {\r\n 'change .startDate': 'updateFacet',\r\n 'change .endDate': 'updateFacet',\r\n 'click .bottom-remove-filter, .clear-filter': 'clearFilter'\r\n },\r\n /**\r\n * Renders view. Use jquery ui datepicker\r\n * @memberof module:facetDateRange.FacetDateRangeView\r\n * @alias module:facetDateRange.FacetDateRangeView#render\r\n */\r\n render: function () {\r\n var fromDateDefaultOffset = parseInt(this.model.get('dataProperties').fromDateDefaultOffset),\r\n toDateDefaultOffset = parseInt(this.model.get('dataProperties').toDateDefaultOffset),\r\n fromDateFormat = this.model.get('dataProperties').fromDateDisplayFormat,\r\n toDateFormat = this.model.get('dataProperties').toDateDisplayFormat,\r\n fromDateMonthsShown = this.model.get('dataProperties').fromDateMonthsShown,\r\n toDateMonthsShown = this.model.get('dataProperties').toDateMonthsShown,\r\n fromDatePastDays = this.model.get('dataProperties').fromDatePastDays,\r\n toDateFutureDays = this.model.get('dataProperties').toDateFutureDays,\r\n fromDateVisible = this.model.get('dataProperties').fromDateVisible,\r\n toDateVisible = this.model.get('dataProperties').toDateVisible,\r\n $fromDate = this.$el.find('.startDate'),\r\n $toDate = this.$el.find('.endDate'),\r\n hashObj = queryModel.parseHashParameters(window.location.hash),\r\n sig = this.model.get('sig'),\r\n lang = $(\"html\").attr(\"lang\") ? $(\"html\").attr(\"lang\") : \"\",\r\n inOverlay = this.$el.closest('.overlay-inner').length,\r\n dates, i;\r\n\r\n if (toDateFormat) {\r\n toDateFormat = toDateFormat.replace(/yy/g, \"y\");\r\n }\r\n if (fromDateFormat) {\r\n fromDateFormat = fromDateFormat.replace(/yy/g, \"y\");\r\n }\r\n\r\n if (fromDateVisible) {\r\n $fromDate.datepicker({\r\n dateFormat: fromDateFormat,\r\n changeMonth: fromDateMonthsShown,\r\n changeYear: fromDateMonthsShown,\r\n minDate: fromDatePastDays ? (fromDateDefaultOffset != '' ? -1 * fromDateDefaultOffset : new Date(1900, 1, 1)) : new Date(),\r\n beforeShow: inOverlay ? this.overrideZIndex : undefined\r\n });\r\n }\r\n\r\n if (toDateVisible) {\r\n $toDate.datepicker({\r\n dateFormat: toDateFormat,\r\n changeMonth: toDateMonthsShown,\r\n changeYear: toDateMonthsShown,\r\n maxDate: toDateFutureDays ? (toDateDefaultOffset != '' ? toDateDefaultOffset : new Date(2100, 1, 1)) : new Date(),\r\n beforeShow: inOverlay ? this.overrideZIndex : undefined\r\n });\r\n }\r\n $xa.datepicker.setDefaults($xa.datepicker.regional[lang]);\r\n for (var i = 0; i < sig.length; i++) {\r\n if (hashObj.hasOwnProperty(sig[i]) && hashObj[sig[i]] != '') {\r\n dates = hashObj[sig[i]].split(\"|\");\r\n $fromDate.datepicker(\"setDate\", fromUrlDate(dates[0]));\r\n $toDate.datepicker(\"setDate\", fromUrlDate(dates[1]));\r\n }\r\n }\r\n },\r\n /**\r\n * Updates hash by calling [\"updateHash\"]{@link module:searchQuery.updateHash}\r\n * @memberof module:facetDateRange.FacetDateRangeView\r\n * @alias module:facetDateRange.FacetDateRangeView#updateFacet\r\n */\r\n updateFacet: function (param) {\r\n var $facetClose = this.$el.find('.facet-heading > span'),\r\n $fromDate = this.$el.find('.startDate'),\r\n $toDate = this.$el.find('.endDate'),\r\n fromDate = $fromDate.length > 0 ? $fromDate.datepicker(\"getDate\") : null,\r\n toDate = $toDate.length > 0 ? $toDate.datepicker(\"getDate\") : null,\r\n sig = this.model.get('sig');\r\n\r\n queryModel.updateHash(this.updateSignaturesHash(sig, toUrlDate(fromDate) + \"|\" + toUrlDate(toDate), {}));\r\n $facetClose.addClass('has-active-facet');\r\n },\r\n /**\r\n * Clears selected filter in component\r\n * @param {Object} param\r\n * @memberof module:facetDateRange.FacetDateRangeView\r\n * @alias module:facetDateRange.FacetDateRangeView#clearFilter\r\n */\r\n clearFilter: function (param) {\r\n var properties = this.model.get('dataProperties'),\r\n $facetClose = this.$el.find('.facet-heading > span'),\r\n hash = queryModel.parseHashParameters(window.location.hash),\r\n sig = this.model.get('sig'),\r\n shouldClear = false,\r\n facetData,\r\n i;\r\n\r\n $facetClose.removeClass('has-active-facet');\r\n\r\n for (var i = 0; i < sig.length; i++) {\r\n facetData = sig[i];\r\n if (typeof hash[facetData] !== \"undefined\" && hash[facetData] !== \"\") {\r\n delete properties[facetData];\r\n shouldClear = true;\r\n }\r\n }\r\n\r\n if (!shouldClear) {\r\n return;\r\n }\r\n\r\n queryModel.updateHash(this.updateSignaturesHash(sig, \"\", hash));\r\n\r\n this.model.set({ dataProperties: properties });\r\n\r\n this.$el.find('.startDate').val(\"\");\r\n this.$el.find('.endDate').val(\"\");\r\n },\r\n /**\r\n * Updates component after changes in hash\r\n * @param {Object} hash object that stores hash values\r\n * @memberof module:facetDateRange.FacetDateRangeView\r\n * @alias module:facetDateRange.FacetDateRangeView#updateComponent\r\n */\r\n updateComponent: function (hash) {\r\n var $fromDate = this.$el.find('.startDate'),\r\n $toDate = this.$el.find('.endDate'),\r\n sig = this.model.get('sig'),\r\n facetPart,\r\n dates,\r\n i;\r\n\r\n for (var i = 0; i < sig.length; i++) {\r\n facetPart = sig[i].toLowerCase();\r\n if (hash.hasOwnProperty(facetPart) && hash[facetPart] !== '') {\r\n dates = hash[facetPart].split(\"|\");\r\n if (dates[0] !== \"\") {\r\n this.handleDate($fromDate, dates[0]);\r\n }\r\n if (dates[1] !== \"\") {\r\n this.handleDate($toDate, dates[1]);\r\n }\r\n } else {\r\n this.clearFilter();\r\n }\r\n }\r\n },\r\n /**\r\n * Updates datepicker date\r\n * @param {jQuery} control element where start date specified\r\n * @param {String} value date that should be set\r\n * @memberof module:facetDateRange.FacetDateRangeView\r\n * @alias module:facetDateRange.FacetDateRangeView#handleDate\r\n */\r\n handleDate: function (control, value) {\r\n var $facetClose = this.$el.find('.facet-heading > span');\r\n if (control.length !== 0 && toUrlDate(control.datepicker('getDate')) !== value) {\r\n control.datepicker(\"setDate\", fromUrlDate(value));\r\n $facetClose.addClass('has-active-facet');\r\n } else if (value === \"\") {\r\n control.datepicker('setDate', null);\r\n }\r\n },\r\n /**\r\n * Override default datepicker z-index\r\n * to show datepicker in overlay\r\n * @memberof module:facetDateRange.FacetDateRangeView\r\n * @alias module:facetDateRange.FacetDateRangeView#overrideZIndex\r\n */\r\n overrideZIndex: function() {\r\n setTimeout(function () {\r\n var $el = $('.ui-datepicker'),\r\n style = $el.attr('style');\r\n\r\n $el.attr('style', style + 'z-index: 10000 !important')\r\n }, 0);\r\n }\r\n });\r\n\r\n /**\r\n * For each search date range on a page creates instance of\r\n * [\"FacetDateRangeModel\"]{@link module:facetDateRange.FacetDateRangeModel} and\r\n * [\"FacetDateRangeView\"]{@link module:facetDateRange.FacetDateRangeView}\r\n * @memberOf module:facetDateRange\r\n * @alias module:facetDateRange.init\r\n */\r\n api.init = function () {\r\n if ($(\"body\").hasClass(\"on-page-editor\")) {\r\n return;\r\n }\r\n\r\n queryModel = XA.component.search.query;\r\n urlHelperModel = XA.component.search.url;\r\n\r\n var facetDateRangesList = $(\".facet-date-range:not(.initialized)\");\r\n\r\n _.each(facetDateRangesList, function (elem) {\r\n var $el = $(elem),\r\n model = new FacetDateRangeModel(),\r\n view = new FacetDateRangeView({ el: $el, model: model });\r\n\r\n view.render();\r\n\r\n $el.addClass(\"initialized\");\r\n });\r\n };\r\n\r\n return api;\r\n\r\n}(jQuery, document));\r\n\r\nXA.register('facetDateRange', XA.component.search.facet.daterange);","/**\r\n * Facet dropdown component functionality\r\n * @module dropdown\r\n * @param {jQuery} $ Instance of jQuery\r\n * @param {Document} document dom document object\r\n * @return {Object} list of methods for working with component dropdown\r\n*/\r\nXA.component.search.facet.dropdown = (function ($, document) {\r\n\r\n \"use strict\";\r\n /**\r\n * This object stores all public api methods\r\n * @type {Object.}\r\n * @memberOf module:dropdown\r\n */\r\n var api = {},\r\n urlHelperModel,\r\n queryModel\r\n /**\r\n * @name module:dropdown.FacetDropdownModel\r\n * @constructor\r\n * @augments Backbone.Model\r\n */\r\n var FacetDropdownModel = XA.component.search.baseModel.extend(\r\n /** @lends module:dropdown.FacetDropdownModel.prototype **/\r\n {\r\n /**\r\n * Default model options\r\n * @default\r\n */\r\n defaults: {\r\n template: \"<% _.forEach(results, function(result){\" +\r\n \"%><%\" +\r\n \"}); %>\",\r\n dataProperties: {},\r\n blockNextRequest: false,\r\n resultData: {},\r\n optionSelected: false,\r\n sig: []\r\n },\r\n /**\r\n * Listens to changes on facets and hash\r\n * @listens module:XA.component.search.vent~event:facet-data-loaded\r\n * @listens module:XA.component.search.vent~event:facet-data-filtered\r\n * @listens module:XA.component.search.vent~event:facet-data-partial-filtered\r\n * @listens module:XA.component.search.vent~event:hashChanged\r\n */\r\n initialize: function () {\r\n //Event to get data at the begining or when there are no hash parameters in the url - one request for all controls\r\n XA.component.search.vent.on(\"facet-data-loaded\", this.processData.bind(this));\r\n\r\n //Event to get filtered data\r\n XA.component.search.vent.on(\"facet-data-filtered\", this.processData.bind(this));\r\n\r\n //If the url contains a hash, and facet name control is clicked, then we have to listen for partial filtering\r\n XA.component.search.vent.on(\"facet-data-partial-filtered\", this.processData.bind(this));\r\n\r\n //Event after change of hash\r\n XA.component.search.vent.on(\"hashChanged\", this.updateComponent.bind(this));\r\n },\r\n /**\r\n * Toggle value of blockNextRequest variable\r\n * @memberof module:dropdown.FacetDropdownModel\r\n * @alias module:dropdown.FacetDropdownModel#toggleBlockRequests\r\n */\r\n toggleBlockRequests: function () {\r\n var state = this.get(\"blockNextRequest\");\r\n this.set(this.get(\"blockNextRequest\"), !state);\r\n },\r\n /**\r\n * Processes data that comes as parameter update\r\n * model and sorts facets\r\n * @param {Object} data Data from server with facet values\r\n * @memberof module:dropdown.FacetDropdownModel\r\n * @alias module:dropdown.FacetDropdownModel#processData\r\n */\r\n processData: function (data) {\r\n var inst = this,\r\n hashObj = queryModel.parseHashParameters(window.location.hash),\r\n sig = inst.get(\"sig\"),\r\n dataProperties = this.get(\"dataProperties\"),\r\n searchResultsSignature = dataProperties.searchResultsSignature.split(','),\r\n sortOrder = dataProperties.sortOrder,\r\n facet = dataProperties.f,\r\n facetItem,\r\n facedData,\r\n i, j;\r\n\r\n for (var j = 0; j < searchResultsSignature.length; j++) {\r\n if (data.Facets.length > 0 && (data.Signature === searchResultsSignature[j]) || data.Signature === \"\" || data.Signature === null) {\r\n facedData = _.find(data.Facets, function (f) {\r\n return f.Key.toLowerCase() === facet.toLowerCase();\r\n });\r\n\r\n if (facedData === undefined) {\r\n return;\r\n }\r\n\r\n for (var i = 0; i < sig.length; i++) {\r\n if (!jQuery.isEmptyObject(_.pick(hashObj, sig[i]))) {\r\n if (hashObj[sig[i]] !== \"\") {\r\n facetItem = _.where(facedData.Values, { Name: hashObj[sig[i]] });\r\n if (facetItem.length === 0) {\r\n facetItem = _.where(facedData.Values, { Name: \"\" });\r\n }\r\n if (facetItem.length > 0) {\r\n facetItem[0].Selected = true;\r\n inst.optionSelected = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.sortFacetArray(sortOrder, facedData.Values);\r\n inst.set({ resultData: facedData.Values });\r\n }\r\n }\r\n },\r\n /**\r\n * Sets option selected value to model based on hash\r\n * @param {Object} hash Hash stored as an object\r\n * @memberof module:dropdown.FacetDropdownModel\r\n * @alias module:dropdown.FacetDropdownModel#updateComponent\r\n */\r\n updateComponent: function (hash) {\r\n var sig = this.get(\"sig\"), i, facetPart;\r\n\r\n for (var i = 0; i < sig.length; i++) {\r\n facetPart = sig[i].toLowerCase();\r\n if (hash.hasOwnProperty(facetPart) && hash[facetPart] !== \"\") {\r\n this.set({ optionSelected: true });\r\n } else {\r\n this.set({ optionSelected: false });\r\n }\r\n }\r\n }\r\n });\r\n /**\r\n * @name module:dropdown.FacetDropdownView\r\n * @constructor\r\n * @augments Backbone.View\r\n */\r\n var FacetDropdownView = XA.component.search.baseView.extend(\r\n /** @lends module:dropdown.FacetDropdownView.prototype **/\r\n\r\n {\r\n /**\r\n * Initially sets data to model and watches events on which\r\n * view should be updated\r\n * @listens module:dropdown.FacetDropdownModel~event:change\r\n * @memberof module:dropdown.FacetDropdownView\r\n * @alias module:dropdown.FacetDropdownView#initialize\r\n */\r\n initialize: function () {\r\n var dataProperties = this.$el.data();\r\n this.properties = dataProperties.properties;\r\n\r\n if (this.model) {\r\n this.model.set({ dataProperties: this.properties });\r\n this.model.set(\"sig\", this.translateSignatures(this.properties.searchResultsSignature, this.properties.f));\r\n }\r\n\r\n this.model.on(\"change\", this.render, this);\r\n },\r\n /**\r\n * list of events for Backbone View\r\n * @memberof module:dropdown.FacetDropdownView\r\n * @alias module:dropdown.FacetDropdownView#events\r\n */\r\n events: {\r\n \"change .facet-dropdown-select\": \"updateFacet\",\r\n \"click .bottom-remove-filter, .clear-filter\": \"clearFilter\"\r\n },\r\n /**\r\n * Calculates value of optionSelected value in model and calls\r\n * [\"updateSignaturesHash\"]{@link module dropdown.FacetDropdownView#updateSignaturesHash}\r\n * inside of [\"updateHash\"]{@link module:searchQuery.updateHash}\r\n * @memberof module:dropdown.FacetDropdownView\r\n * @alias module:dropdown.FacetDropdownView#updateFacet\r\n */\r\n updateFacet: function (param) {\r\n var $selectedOption = this.$el.find(\".facet-dropdown-select\").find(\"option:selected\"),\r\n facetName = decodeURIComponent($selectedOption.data(\"facetname\")),\r\n sig = this.model.get(\"sig\");\r\n\r\n if (facetName === \"\") {\r\n this.model.set({ optionSelected: false });\r\n } else {\r\n this.model.set({ optionSelected: true });\r\n }\r\n queryModel.updateHash(this.updateSignaturesHash(sig, facetName, {}));\r\n },\r\n /**\r\n * Renders view\r\n * @memberof module:dropdown.FacetDropdownView\r\n * @alias module:dropdown.FacetDropdownView#render\r\n */\r\n render: function () {\r\n var inst = this,\r\n resultData = inst.model.get(\"resultData\"),\r\n dropdown = this.$el.find(\".facet-dropdown-select\"),\r\n emptyValueText = inst.model.get('dataProperties').emptyValueText,\r\n facetClose = this.$el.find(\".facet-heading > span\"),\r\n notSelectedOption = dropdown.find(\"option:first\"),\r\n notSelectedOptionEntry = $(\"