{"version":3,"file":"8660.ef67a3ba5c4a57781ceb.js","mappings":"0MAMqCA,OAAOC,Q,0BCM7BC,eAAe,EAACC,GAC7B,OAAO,IAAIC,SAAQ,CAACC,EAASC,KAC3B,IACE,IAAIC,EAAW,GAEfC,OAAOC,QAAQN,EAAsBO,UAAUC,SAAQC,IACrD,IACE,IAAKC,EAAKC,GAASF,EACfG,EAAS,GACbD,EAAMC,OAAOJ,SAASK,IACpB,OAAOA,EAAMC,KAAKC,eAChB,IAAK,OAAQ,CACX,IAAIC,EAAa,IAAIC,EAAA,QAAU,CAC7BC,IAAKL,EAAMK,MAETL,EAAMM,UAERH,EAAWG,QAAUN,EAAMM,SAE7BP,EAAOQ,KAAKJ,GACZ,KACF,CACA,IAAK,SAAU,CACb,IAAIA,EAAa,IAAIK,EAAA,QAAgB,CACnCH,IAAKL,EAAMK,MAETL,EAAMM,UAENH,EAAWG,QAAUN,EAAMM,SAE/BP,EAAOQ,KAAKJ,GACZ,KACF,CACA,IAAK,QAAS,CACZ,IAAIA,EAAa,IAAIM,EAAA,QAAc,CACjCJ,IAAKL,EAAMK,IACXK,MAAOb,IAELG,EAAMM,UAENH,EAAWG,QAAUN,EAAMM,SAE/BP,EAAOQ,KAAKJ,GACZ,KAEF,CAOA,QAAS,CACP,IAAIA,EAAa,IAAIQ,EAAA,QAAU,CAC7BN,IAAKL,EAAMK,IACXK,MAAOb,IAELG,EAAMM,UAENH,EAAWG,QAAUN,EAAMM,SAE/BP,EAAOQ,KAAKJ,GACZ,KACF,EACF,IAGF,IAAIS,EAAU,IAAIC,EAAA,QAAQ,CACxBC,WAAYf,EACZW,MAAOb,EACPkB,GAAIlB,IAEFC,EAAMkB,YAERJ,EAAQK,aAAenB,EAAMkB,WAG/BzB,EAASgB,KAAKK,EAEhB,CACA,MACE5B,OAAOkC,MAAM,yBAA2BtB,EAAM,GAChD,KAGF,IAAIuB,EAAM,IAAIC,EAAA,EAAO,CACnBR,QAASrB,EAAS,GAClBQ,OAAQ,KAGNsB,EAAO,IAAIC,EAAA,EAAQ,CACrBC,UAAW,UACXJ,IAAKA,EACLK,QAAS,CACPC,IAAK,GACLC,OAAQ,GAEVC,GAAI,CAAEC,WAAY,IAClBC,YAAa,CAACC,SAAU,OAG1BT,EAAKU,OAAS,IAAIC,EAAA,EAAO,CACvBC,KAAM9C,EAAsB4C,OAAOE,KACnCC,KAAM/C,EAAsB4C,OAAOG,KACnCC,KAAMhD,EAAsB4C,OAAOI,KACnCC,KAAMjD,EAAsB4C,OAAOK,KACnCC,iBAAkB,CAChBC,KAAM,QAIVnB,EAAI5B,SAAWA,EAGf,MAAMgD,EAAQ,KACRvD,OAAOwD,aACLxD,OAAOwD,eAAeC,MACxBzD,OAAOwD,eAAeC,QACbzD,OAAOwD,eAAeE,iBAC/B1D,OAAOwD,eAAeE,kBAEfC,SAASC,WAClBD,SAASC,UAAUH,OACrB,EAGFpB,EAAKwB,GAAG,QAASN,GACjBlB,EAAKwB,GAAG,OAAQN,GAEhBlD,EAAQ,CAAC8B,EAAKE,GAChB,CAAE,MAAOyB,GACPxD,EAAOwD,EACT,IAEJ,C","sources":["webpack://wingismaps/./src/util/thumbnails.js","webpack://wingismaps/./src/general/initializeMap.js"],"sourcesContent":["export const thumbnails = {\r\n \"Orthos2021\": \"https://js.arcgis.com/3.22/esri/images/basemap/satellite.jpg\",\r\n \"Streets2018\": \"https://js.arcgis.com/3.22/esri/images/basemap/topo.jpg\",\r\n \"Basemap\": \"https://js.arcgis.com/3.22/esri/images/basemap/satellite.jpg\",\r\n \"BasemapStreets\": \"https://js.arcgis.com/3.22/esri/images/basemap/topo.jpg\",\r\n \"Hybrid\": \"https://agis.wingis.org/maps/src/img/hybrid.jpg\", \r\n \"No Map\": \"https://wingis.org\" + window.RootUrl + \"img/nomap.jpg\"\r\n}","// ES6 Imports\r\nimport Extent from \"@arcgis/core/geometry/Extent.js\";\r\nimport TileLayer from \"@arcgis/core/layers/TileLayer.js\";\r\nimport Basemap from \"@arcgis/core/Basemap.js\";\r\nimport WebMap from \"@arcgis/core/WebMap.js\";\r\nimport MapView from \"@arcgis/core/views/MapView.js\";\r\nimport MapImageLayer from \"@arcgis/core/layers/MapImageLayer.js\";\r\nimport { thumbnails } from \"../util/thumbnails.js\";\r\n\r\nimport WMTSLayer from \"@arcgis/core/layers/WMTSLayer.js\";\r\nimport VectorTileLayer from \"@arcgis/core/layers/VectorTileLayer.js\";\r\n\r\nexport default async function (conditionalMapOptions) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let basemaps = [];\r\n\r\n Object.entries(conditionalMapOptions.baseMaps).forEach(entry => {\r\n try {\r\n let [key, value] = entry;\r\n let layers = [];\r\n value.layers.forEach((layer) => {\r\n switch(layer.type.toLowerCase()){\r\n case \"wmts\": {\r\n let layerToAdd = new WMTSLayer({\r\n url: layer.url \r\n });\r\n if (layer.opacity)\r\n {\r\n layerToAdd.opacity = layer.opacity;\r\n }\r\n layers.push(layerToAdd); \r\n break; \r\n }\r\n case \"vector\": {\r\n let layerToAdd = new VectorTileLayer({\r\n url: layer.url \r\n });\r\n if (layer.opacity)\r\n {\r\n layerToAdd.opacity = layer.opacity;\r\n }\r\n layers.push(layerToAdd); \r\n break; \r\n }\r\n case \"image\": {\r\n let layerToAdd = new MapImageLayer({\r\n url: layer.url,\r\n title: key\r\n });\r\n if (layer.opacity)\r\n {\r\n layerToAdd.opacity = layer.opacity;\r\n }\r\n layers.push(layerToAdd);\r\n break; \r\n break; \r\n }\r\n case \"tile\": {\r\n \r\n }\r\n case null: {\r\n \r\n }\r\n default: {\r\n let layerToAdd = new TileLayer({\r\n url: layer.url,\r\n title: key\r\n });\r\n if (layer.opacity)\r\n {\r\n layerToAdd.opacity = layer.opacity;\r\n }\r\n layers.push(layerToAdd);\r\n break; \r\n }\r\n }\r\n })\r\n \r\n let basemap = new Basemap({\r\n baseLayers: layers,\r\n title: key,\r\n id: key,\r\n });\r\n if (value.thumbnail)\r\n {\r\n basemap.thumbnailUrl = value.thumbnail;\r\n }\r\n \r\n basemaps.push(basemap);\r\n\r\n }\r\n catch {\r\n window.alert(\"Error loading basemap \" + entry[0]);\r\n }\r\n });\r\n\r\n let map = new WebMap({\r\n basemap: basemaps[0],\r\n layers: []\r\n });\r\n\r\n let view = new MapView({\r\n container: \"viewDiv\",\r\n map: map,\r\n padding: {\r\n top: 50,\r\n bottom: 0\r\n },\r\n ui: { components: [] },\r\n constraints: {maxScale: 371}\r\n });\r\n\r\n view.extent = new Extent({\r\n xmin: conditionalMapOptions.extent.xmin,\r\n ymin: conditionalMapOptions.extent.ymin,\r\n xmax: conditionalMapOptions.extent.xmax,\r\n ymax: conditionalMapOptions.extent.ymax,\r\n spatialReference: {\r\n wkid: 3436\r\n }\r\n });\r\n\r\n map.basemaps = basemaps;\r\n\r\n // Function to clear selection\r\n const clear = () => {\r\n if (window.getSelection) {\r\n if (window.getSelection().empty) { // Chrome\r\n window.getSelection().empty();\r\n } else if (window.getSelection().removeAllRanges) { // Firefox\r\n window.getSelection().removeAllRanges();\r\n }\r\n } else if (document.selection) { // IE?\r\n document.selection.empty();\r\n }\r\n };\r\n\r\n view.on(\"click\", clear);\r\n view.on(\"drag\", clear);\r\n\r\n resolve([map, view]);\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n"],"names":["window","RootUrl","async","conditionalMapOptions","Promise","resolve","reject","basemaps","Object","entries","baseMaps","forEach","entry","key","value","layers","layer","type","toLowerCase","layerToAdd","WMTSLayer","url","opacity","push","VectorTileLayer","MapImageLayer","title","TileLayer","basemap","Basemap","baseLayers","id","thumbnail","thumbnailUrl","alert","map","WebMap","view","MapView","container","padding","top","bottom","ui","components","constraints","maxScale","extent","Extent","xmin","ymin","xmax","ymax","spatialReference","wkid","clear","getSelection","empty","removeAllRanges","document","selection","on","error"],"sourceRoot":""}