{"version":3,"file":"uppsala.arcgismap.arcgismapblock.min.js","names":["define","EsriConfig","WebMap","MapView","FullScreen","Locate","BasemapToggle","Graphic","GraphicsLayer","MapViewConfigurator","agentdetector","arcgismapblock","init","webMapId","mapContainerId","grayOverlayId","grayOverlayTextId","loadingSpinnerSelector","zoomLevel","mapCenterLongitude","mapCenterLatitude","isMapPin","pinLongitude","pinLatitude","pinLabel","initMap","toLowerCase","portalUrl","webMap","portalItem","id","addPointToMap","view","container","map","center","navigation","getNavigation","$loadingSpinner","$","addClass","when","then","zoom","hide","isIphone","widget","ui","add","addWidgetFullscreen","addWidgetMyLocation","nextBasemap","addWidgetBasemapToggle","longitud","latitud","label","point","type","longitude","latitude","textSymbol","text","font","family","size","haloColor","haloSize","color","yoffset","pointGraphic","geometry","symbol","url","width","height","textGraphic","graphicsLayer"],"sources":["arcgis/uppsala.arcgismap.arcgismapblock.js"],"mappings":"AACAA,OAAO,CACH,cACA,cACA,qBACA,0BACA,sBACA,6BACA,eACA,4BACA,uBACA,kBACD,SACCC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAIC,EAAiB,CAGjBC,KAAM,SACFC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEAb,EAAec,QACXZ,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAER,EACAC,QAAS,SACLZ,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEAH,EAAsC,SAA3BA,EAASK,cAEpBzB,EAAW0B,UAAY,uCAGvBC,OAAS,IAAI1B,EAAO,CAChB2B,WAAY,CACRC,GAAIjB,KAIRQ,GACAV,EAAeoB,cAAcH,OAAQN,EAAcC,EAAaC,GAGpE,IAAIQ,EAAO,IAAI7B,EAAQ,CACnB8B,UAAWnB,EACXoB,IAAKN,OACLO,OAAQ,CAAChB,EAAoBC,GAC7BgB,WAAY3B,EAAoB4B,kBAIpC,IAAIC,EAAkBC,EAAE,IAAMtB,GAC9BqB,EAAgBE,SAAS,oBAEzB/B,EAAoBG,KAAKoB,EAAMjB,EAAeC,GAE9CgB,EAAKS,MAAK,WAAc,IACnBC,MAAK,WACFV,EAAKW,KAAOzB,EACZoB,EAAgBM,MAEpB,IAkDZ,SAA6BZ,GACzB,GAAItB,EAAcmC,WAGd,OAGJ,IAAIC,EAAS,IAAI1C,EAAW,CACxB4B,KAAMA,IAGVA,EAAKe,GAAGC,IAAIF,EAAQ,YACxB,CA5DQG,CAAoBjB,GAoE5B,SAA6BA,GACzB,IAAIc,EAAS,IAAIzC,EAAO,CACpB2B,KAAMA,IAGVA,EAAKe,GAAGC,IAAIF,EAAQ,eACxB,CAzEQI,CAAoBlB,GA4D5B,SAAgCA,GAC5B,IAAIc,EAAS,IAAIxC,EAAc,CAC3B0B,KAAMA,EACNmB,YAAa,cAEjBnB,EAAKe,GAAGC,IAAIF,EAAQ,cACxB,CAjEQM,CAAuBpB,EAC3B,EACAD,cAAe,SAAUG,EAAKmB,EAAUC,EAASC,GAC7C,MAAMC,EAAQ,CACVC,KAAM,QACNC,UAAWL,EACXM,SAAUL,GAURM,EAAa,CACfH,KAAM,OACNI,KAAMN,EACNO,KAAM,CACFC,OAAQ,qBACRC,KAAM,QAEVC,UAAW,CAAC,IAAK,IAAK,IAAK,KAC3BC,SAAU,EACVC,MAAO,CAAC,GAAI,GAAI,GAAI,KACpBC,QAAS,IAGPC,EAAe,IAAI9D,EAAQ,CAC7B+D,SAAUd,EACVe,OAtBe,CACfd,KAAM,iBACNe,IAAK,yCACLC,MAAO,OACPC,OAAQ,UAqBNC,EAAc,IAAIpE,EAAQ,CAC5B+D,SAAUd,EACVe,OAAQX,IAGZ,IAAIgB,EAAgB,IAAIpE,EACxBoE,EAAc5B,IAAIqB,GAClBO,EAAc5B,IAAI2B,GAElBzC,EAAIc,IAAI4B,EACZ,GA8BJ,OAAOjE,CACX","ignoreList":[],"sourcesContent":["\ndefine([\n \"esri/config\",\n \"esri/WebMap\",\n \"esri/views/MapView\",\n \"esri/widgets/Fullscreen\",\n \"esri/widgets/Locate\",\n \"esri/widgets/BasemapToggle\",\n \"esri/Graphic\",\n \"esri/layers/GraphicsLayer\",\n \"behaviorconfigurator\",\n \"agentdetector\",\n], function (\n EsriConfig,\n WebMap,\n MapView,\n FullScreen,\n Locate,\n BasemapToggle,\n Graphic,\n GraphicsLayer,\n MapViewConfigurator,\n agentdetector)\n {\n var arcgismapblock = {\n\n //init method ensures functional cookies are accepted and initializes the map if they are\n init: function init(\n webMapId,\n mapContainerId,\n grayOverlayId,\n grayOverlayTextId,\n loadingSpinnerSelector,\n zoomLevel,\n mapCenterLongitude,\n mapCenterLatitude,\n isMapPin,\n pinLongitude,\n pinLatitude,\n pinLabel) {\n\n arcgismapblock.initMap(\n webMapId,\n mapContainerId,\n grayOverlayId,\n grayOverlayTextId,\n loadingSpinnerSelector,\n zoomLevel,\n mapCenterLongitude,\n mapCenterLatitude,\n isMapPin,\n pinLongitude,\n pinLatitude,\n pinLabel);\n \n },\n initMap: function (\n webMapId,\n mapContainerId,\n grayOverlayId,\n grayOverlayTextId,\n loadingSpinnerSelector,\n zoomLevel,\n mapCenterLongitude,\n mapCenterLatitude,\n isMapPin,\n pinLongitude,\n pinLatitude,\n pinLabel) {\n\n isMapPin = isMapPin.toLowerCase() === \"true\";\n\n EsriConfig.portalUrl = \"https://kartportal.uppsala.se/portal\";\n\n // gets https://kartportal.uppsala.se/portal/apps/mapviewer/index.html?webmap=[mapId]\n webMap = new WebMap({\n portalItem: {\n id: webMapId,\n },\n });\n\n if (isMapPin) {\n arcgismapblock.addPointToMap(webMap, pinLongitude, pinLatitude, pinLabel);\n }\n\n var view = new MapView({\n container: mapContainerId, // Reference to the DOM node that will contain the view\n map: webMap,\n center: [mapCenterLongitude, mapCenterLatitude],\n navigation: MapViewConfigurator.getNavigation()\n });\n\n //add loading spinner til map has finished loading\n let $loadingSpinner = $(\"#\" + loadingSpinnerSelector);\n $loadingSpinner.addClass(\"grayoverlay-show\");\n\n MapViewConfigurator.init(view, grayOverlayId, grayOverlayTextId);\n\n view.when(function () { })\n .then(function () {\n view.zoom = zoomLevel;\n $loadingSpinner.hide();\n\n });\n\n addWidgetFullscreen(view);\n addWidgetMyLocation(view);\n addWidgetBasemapToggle(view);\n },\n addPointToMap: function (map, longitud, latitud, label) {\n const point = {\n type: \"point\",\n longitude: longitud,\n latitude: latitud\n };\n\n const iconSymbol = {\n type: \"picture-marker\",\n url: \"/Content/Images/Svg/mapmarker_dark.svg\",\n width: \"24px\",\n height: \"32px\",\n };\n\n const textSymbol = {\n type: \"text\",\n text: label,\n font: {\n family: \"Avenir Next LT Pro\",\n size: \"13.5\"\n },\n haloColor: [255, 255, 255, 255],\n haloSize: 3,\n color: [43, 43, 43, 255],\n yoffset: 25, \n };\n\n const pointGraphic = new Graphic({\n geometry: point,\n symbol: iconSymbol,\n });\n\n const textGraphic = new Graphic({\n geometry: point,\n symbol: textSymbol,\n });\n\n let graphicsLayer = new GraphicsLayer();\n graphicsLayer.add(pointGraphic);\n graphicsLayer.add(textGraphic);\n\n map.add(graphicsLayer);\n }\n };\n function addWidgetFullscreen(view) {\n if (agentdetector.isIphone()) {\n //Don't add fullscreen on iPhone since the fullscreen widget depends on the FullScreen Api which isn't implemented, at least not fully, in iPhone Safari or iPhone Chrome. \n //Listed as a Known Limitation on https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Fullscreen.html\n return;\n }\n\n var widget = new FullScreen({\n view: view\n });\n\n view.ui.add(widget, \"top-right\");\n }\n function addWidgetBasemapToggle(view) {\n var widget = new BasemapToggle({\n view: view,\n nextBasemap: \"satellite\"\n });\n view.ui.add(widget, \"bottom-left\")\n }\n function addWidgetMyLocation(view) {\n var widget = new Locate({\n view: view\n });\n\n view.ui.add(widget, \"bottom-right\");\n }\n\n return arcgismapblock;\n});\n\n"]}