{"version":3,"file":"kartor.min.js","sources":["kartor.js"],"sourcesContent":["'use strict';\r\n\r\nlet zIndexForPopup = 10;\r\nlet primarSvgRaknare;\r\nlet sekundarSvgRaknare;\r\nlet infoWindow = null;\r\n\r\nconst kartor = {\r\n ikonLokalPrimar: '/gui/img/pin-lokal-primar.svg',\r\n ikonLokalSekundar: '/gui/img/pin-lokal-sekundar.svg',\r\n ikonFastighetPrimar: '/gui/img/pin-fastighet-primar.svg',\r\n ikonFastighetSekundar: '/gui/img/pin-fastighet-sekundar.svg',\r\n ikonProjektPrimar: '/gui/img/pin-projekt-primar.svg',\r\n ikonProjektSekundar: '/gui/img/pin-projekt-sekundar.svg',\r\n zoomLevelForAttVisaAntal: 12,\r\n\r\n initieraKarta: function (initMap) {\r\n const apiKey = document.getElementById('mapsApiKey');\r\n if (apiKey) {\r\n\r\n if (typeof google === 'object' && typeof google.maps === 'object') {\r\n initMap();\r\n\r\n var scrollpos = sessionStorage.getItem('scrollpos');\r\n if (scrollpos) {\r\n let main = document.querySelector('main');\r\n main.scrollTo(0, scrollpos);\r\n sessionStorage.removeItem('scrollpos');\r\n }\r\n } else {\r\n $.ajax({\r\n url: 'https://maps.googleapis.com/maps/api/js?key=' + apiKey.value + '&libraries=&v=beta',\r\n dataType: 'script',\r\n success: function() {\r\n\r\n initMap();\r\n\r\n var scrollpos = sessionStorage.getItem('scrollpos');\r\n if (scrollpos) {\r\n let main = document.querySelector('main');\r\n main.scrollTo(0, scrollpos);\r\n sessionStorage.removeItem('scrollpos');\r\n }\r\n },\r\n\r\n async: true\r\n });\r\n\r\n window.google = {};\r\n }\r\n }\r\n },\r\n skapaKarta: function (element, latitud, longitud, overrideZoomFactor, overrideControlPosition, fullscreenMap) {\r\n const mapsMapId = document.getElementById('mapsMapId').value;\r\n const zoomFactorElement = document.getElementById('zoomFactor');\r\n let zoomFactor = 15;\r\n let controlPosition = google.maps.ControlPosition.RIGHT_BOTTOM;\r\n if (zoomFactorElement) {\r\n zoomFactor = zoomFactorElement.value;\r\n }\r\n\r\n let center = null;\r\n\r\n if (latitud && longitud) {\r\n center = new google.maps.LatLng(latitud, longitud);\r\n }\r\n\r\n if (overrideZoomFactor) {\r\n zoomFactor = overrideZoomFactor;\r\n }\r\n\r\n if (overrideControlPosition) {\r\n controlPosition = overrideControlPosition;\r\n }\r\n\r\n return new google.maps.Map(element, {\r\n zoom: parseFloat(zoomFactor),\r\n gestureHandling: 'cooperative',\r\n mapId: mapsMapId,\r\n streetViewControlOptions: {\r\n position: controlPosition\r\n },\r\n zoomControl: true,\r\n zoomControlOptions: {\r\n style: google.maps.ZoomControlStyle.SMALL,\r\n position: controlPosition\r\n\r\n },\r\n center: center,\r\n mapTypeControl: true,\r\n mapTypeControlOptions: {\r\n mapTypeIds: [\r\n google.maps.MapTypeId.ROADMAP,\r\n google.maps.MapTypeId.SATELLITE,\r\n google.maps.MapTypeId.HYBRID\r\n ],\r\n style: fullscreenMap ? google.maps.MapTypeControlStyle.DROPDOWN_MENU : google.maps.MapTypeControlStyle.HORIZONTAL_BAR,\r\n position: fullscreenMap ? google.maps.ControlPosition.TOP_CENTER : google.maps.ControlPosition.TOP_LEFT\r\n },\r\n fullscreenControl: fullscreenMap ? false : true,\r\n zIndex:1040\r\n });\r\n },\r\n marker: function (latitud, longitud, map, icon) {\r\n return new google.maps.Marker({\r\n position: new google.maps.LatLng(latitud, longitud),\r\n icon: {\r\n url: icon\r\n },\r\n map: map\r\n });\r\n },\r\n skapaPopupHtmlFranObjekt: function (objekt, iGrupp = false) {\r\n const cardInfo = objekt.querySelector('.card-body').outerHTML;\r\n const objektTyp = objekt.getAttribute('data-objekttyp');\r\n\r\n const slides = objekt.querySelectorAll('.slick-slide');\r\n let cssClass = objekt.classList[0];\r\n let slidesHtml = '';\r\n\r\n slides.forEach(function (slide) {\r\n slidesHtml += slide.outerHTML.replace('slick-current', '').replace('slick-active', '')\r\n .replace('slick-slide', '');\r\n });\r\n\r\n if (iGrupp) {\r\n cssClass += ' popup-i-grupp';\r\n }\r\n\r\n let popup = '
' + objektTyp + '
' + slidesHtml + '
' + cardInfo + '
';\r\n\r\n return popup;\r\n },\r\n skapaPopupHtmlFranLista: function (lista) {\r\n let popuper = '';\r\n lista.forEach(function(objekt) {\r\n popuper += kartor.skapaPopupHtmlFranObjekt(objekt, true);\r\n });\r\n let popup = '
' + popuper + '
Visar 1 av ' + lista.length +' lokaler
';\r\n\r\n return popup;\r\n },\r\n hanteraPopup: function (map, marker, popup) {\r\n google.maps.event.addListener(marker, 'click', (function (marker) {\r\n return function () {\r\n if (infoWindow) {\r\n infoWindow.close();\r\n }\r\n infoWindow = new google.maps.InfoWindow();\r\n google.maps.event.addListener(infoWindow, 'domready', function () {\r\n kartor.initSlideshowILokalPopup();\r\n });\r\n infoWindow.setContent(popup);\r\n infoWindow.open(map, marker);\r\n infoWindow.setZIndex(zIndexForPopup);\r\n zIndexForPopup++;\r\n }\r\n })(marker));\r\n },\r\n hanteraPopupGrupp: function (map, marker, popup) {\r\n google.maps.event.addListener(marker, 'click', (function (marker) {\r\n return function () {\r\n if (infoWindow) {\r\n infoWindow.close();\r\n }\r\n infoWindow = new google.maps.InfoWindow();\r\n google.maps.event.addListener(infoWindow, 'domready', function () {\r\n kartor.initSlideshowPopupGroup();\r\n });\r\n infoWindow.setContent(popup);\r\n infoWindow.open(map, marker);\r\n infoWindow.setZIndex(zIndexForPopup);\r\n zIndexForPopup++;\r\n }\r\n })(marker));\r\n },\r\n\r\n initSlideshowILokalPopup: function () {\r\n const popupSlideShows = document.querySelectorAll('.card-map-popup:not(.popup-i-grupp) .js-slideshow-popup:not(.slick-initialized)');\r\n af.initSlideshow(popupSlideShows);\r\n\r\n if (popupSlideShows.length > 0) {\r\n const videosInfo = popupSlideShows[0].querySelectorAll('video');\r\n media.spelaVideoVidKlick(videosInfo);\r\n af.loadImages(popupSlideShows[0].querySelectorAll('[data-bg-image-url]'));\r\n }\r\n },\r\n initSlideshowPopupGroup: function () {\r\n const popupGruppSlideShows = document.querySelectorAll('.popup-card-slideshow:not(.slick-initialized)');\r\n\r\n\r\n af.initSlideshowGrupp(popupGruppSlideShows);\r\n const popupSlideShows = document.querySelectorAll('.popup-card-slideshow .slick-slide[data-slick-index = \"0\"] .js-slideshow-popup:not(.slick-initialized)');\r\n af.initSlideshow(popupSlideShows);\r\n\r\n if (popupSlideShows.length > 0) {\r\n const videosInfo = popupSlideShows[0].querySelectorAll('video');\r\n media.spelaVideoVidKlick(videosInfo);\r\n af.loadImages(popupSlideShows[0].querySelectorAll('[data-bg-image-url]'));\r\n }\r\n\r\n },\r\n hamtaUnikaLokaler: function (lokaler) {\r\n var unikaLokaler = [];\r\n lokaler.forEach(function (item) {\r\n var isPresent = unikaLokaler.filter(function (elem) {\r\n return elem.dataset.latitud === item.dataset.latitud &&\r\n elem.dataset.longitud === item.dataset.longitud;\r\n });\r\n if (isPresent.length === 0) {\r\n unikaLokaler.push(item);\r\n }\r\n });\r\n\r\n return unikaLokaler;\r\n },\r\n hamtaLokalerPaSammaAdress: function (lokaler, latitud, longitud) {\r\n var lokalerPaSammaAdress = [];\r\n lokaler.forEach(function (item) {\r\n if (item.dataset.latitud === latitud && item.dataset.longitud === longitud) {\r\n lokalerPaSammaAdress.push(item);\r\n }\r\n });\r\n\r\n return lokalerPaSammaAdress;\r\n },\r\n hamtaSvgRaknare: function () {\r\n if (!primarSvgRaknare) {\r\n fetch(kartor.ikonLokalPrimar.replace('.svg', '-raknare.svg'))\r\n .then(response => response.text())\r\n .then((data) => {\r\n primarSvgRaknare = data;\r\n });\r\n }\r\n if (!sekundarSvgRaknare) {\r\n fetch(kartor.ikonLokalSekundar.replace('.svg', '-raknare.svg'))\r\n .then(response => response.text())\r\n .then((data) => {\r\n sekundarSvgRaknare = data;\r\n });\r\n }\r\n },\r\n markeraLokaler: function (map, lokaler, markers, fitBounds, ikon, latitudPrimar, longitudPrimar) {\r\n var bounds = new google.maps.LatLngBounds();\r\n\r\n var unikaLokaler = kartor.hamtaUnikaLokaler(lokaler);\r\n\r\n unikaLokaler.forEach(lokal => {\r\n const latitud = lokal.dataset.latitud;\r\n const longitud = lokal.dataset.longitud;\r\n\r\n const lokalerPaSammaAdress =\r\n kartor.hamtaLokalerPaSammaAdress(lokaler, latitud, longitud);\r\n\r\n const arPopupGrupp = lokalerPaSammaAdress.length !== 1;\r\n const popup = arPopupGrupp\r\n ? kartor.skapaPopupHtmlFranLista(lokalerPaSammaAdress)\r\n : kartor.skapaPopupHtmlFranObjekt(lokal);\r\n\r\n if (latitud !== '' & longitud !== '') {\r\n let markerIkon = ikon;\r\n let svg;\r\n\r\n if (latitudPrimar &&\r\n longitudPrimar &&\r\n latitud === latitudPrimar &&\r\n longitud === longitudPrimar) {\r\n markerIkon = kartor.ikonLokalPrimar;\r\n }\r\n\r\n if (arPopupGrupp && map.getZoom() > kartor.zoomLevelForAttVisaAntal) {\r\n let ikonMedRaknare = markerIkon === kartor.ikonLokalPrimar\r\n ? primarSvgRaknare\r\n : sekundarSvgRaknare;\r\n\r\n if (ikonMedRaknare) {\r\n svg = ikonMedRaknare.replace('{{ antal }}', lokalerPaSammaAdress.length);\r\n markerIkon = 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(svg);\r\n }\r\n\r\n let marker = kartor.marker(latitud, longitud, map, markerIkon);\r\n markers.push(marker);\r\n\r\n kartor.hanteraPopupGrupp(map, marker, popup);\r\n\r\n if (fitBounds) {\r\n bounds.extend(marker.position);\r\n }\r\n\r\n\r\n } else {\r\n let marker = kartor.marker(latitud, longitud, map, markerIkon);\r\n markers.push(marker);\r\n\r\n if (arPopupGrupp) {\r\n kartor.hanteraPopupGrupp(map, marker, popup);\r\n } else {\r\n kartor.hanteraPopup(map, marker, popup);\r\n }\r\n\r\n if (fitBounds) {\r\n bounds.extend(marker.position);\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (fitBounds) {\r\n try {\r\n map.fitBounds(bounds, { top: 100, right: 100, bottom: 50, left: 50 });\r\n } catch (e) {\r\n }\r\n }\r\n\r\n return markers;\r\n }\r\n \r\n};\r\n\r\n"],"names":["let","zIndexForPopup","primarSvgRaknare","sekundarSvgRaknare","infoWindow","kartor","ikonLokalPrimar","ikonLokalSekundar","ikonFastighetPrimar","ikonFastighetSekundar","ikonProjektPrimar","ikonProjektSekundar","zoomLevelForAttVisaAntal","initieraKarta","initMap","scrollpos","apiKey","document","getElementById","google","maps","sessionStorage","getItem","querySelector","scrollTo","removeItem","$","ajax","url","value","dataType","success","async","window","skapaKarta","element","latitud","longitud","overrideZoomFactor","overrideControlPosition","fullscreenMap","mapsMapId","zoomFactorElement","zoomFactor","controlPosition","ControlPosition","RIGHT_BOTTOM","center","LatLng","Map","zoom","parseFloat","gestureHandling","mapId","streetViewControlOptions","position","zoomControl","zoomControlOptions","style","ZoomControlStyle","SMALL","mapTypeControl","mapTypeControlOptions","mapTypeIds","MapTypeId","ROADMAP","SATELLITE","HYBRID","MapTypeControlStyle","DROPDOWN_MENU","HORIZONTAL_BAR","TOP_CENTER","TOP_LEFT","fullscreenControl","zIndex","marker","map","icon","Marker","skapaPopupHtmlFranObjekt","objekt","iGrupp","cardInfo","outerHTML","objektTyp","getAttribute","slides","querySelectorAll","cssClass","classList","slidesHtml","forEach","slide","replace","skapaPopupHtmlFranLista","lista","popuper","length","hanteraPopup","popup","event","addListener","close","InfoWindow","initSlideshowILokalPopup","setContent","open","setZIndex","hanteraPopupGrupp","initSlideshowPopupGroup","videosInfo","popupSlideShows","af","initSlideshow","media","spelaVideoVidKlick","loadImages","popupGruppSlideShows","initSlideshowGrupp","hamtaUnikaLokaler","lokaler","unikaLokaler","item","filter","elem","dataset","push","hamtaLokalerPaSammaAdress","lokalerPaSammaAdress","hamtaSvgRaknare","fetch","then","response","text","data","markeraLokaler","markers","fitBounds","ikon","latitudPrimar","longitudPrimar","bounds","LatLngBounds","lokal","arPopupGrupp","markerIkon","getZoom","ikonMedRaknare","svg","encodeURIComponent","extend","top","right","bottom","left","e"],"mappings":"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"}