{"version":3,"sources":["../../../../src/app/js/stores/MapStore.js"],"names":[],"mappings":"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","file":"MapStore.js","sourcesContent":["import ArcGISTiledMapServiceLayer from 'esri/layers/ArcGISTiledMapServiceLayer';\nimport ArcGISDynamicMapServiceLayer from 'esri/layers/ArcGISDynamicMapServiceLayer';\nimport FeatureLayer from 'esri/layers/FeatureLayer';\nimport EsriMap from 'esri/map';\nimport Search from 'esri/dijit/Search';\nimport IdentifyTask from 'esri/tasks/IdentifyTask';\nimport IdentifyParameters from 'esri/tasks/IdentifyParameters';\nimport { startLegendObserver } from 'utils/LegendUtil';\nimport ImageServiceIdentifyTask from 'esri/tasks/ImageServiceIdentifyTask';\nimport ImageServiceIdentifyParameters from 'esri/tasks/ImageServiceIdentifyParameters';\nimport webMercatorUtils from 'esri/geometry/webMercatorUtils';\nimport Point from 'esri/geometry/Point';\nimport SpatialReference from 'esri/SpatialReference';\nimport Legend from 'esri/dijit/Legend';\nimport esriRequest from 'esri/request';\nimport PictureMarkerSymbol from 'esri/symbols/PictureMarkerSymbol';\nimport Graphic from 'esri/graphic';\n\nimport esriBundle from 'dojo/i18n!esri/nls/jsapi';\n\nimport { mapActions } from 'actions/MapActions';\nimport { criteriaActions } from 'actions/CriteriaActions';\nimport { criteriaStore } from 'stores/CriteriaStore';\nimport { leftPanelStore } from 'stores/LeftPanelStore';\nimport { headerActions } from 'actions/HeaderActions';\nimport { reportStore } from 'stores/ReportStore';\n\nimport alt from 'js/alt';\nimport { loads } from 'js/config/config';\nimport { mapConfig } from 'js/config/config';\nimport { elevationReference, mhwReference } from 'js/config/config';\nimport { ESRI_TOPO_BASEMAP_TITLE, USA_TOPO_BASEMAP_TITLE } from 'js/config/basemaps.config';\nimport _ from 'lodash';\n\nclass MapStore {\n constructor() {\n esriBundle.widgets.legend.NLS_noLegend = 'Select data to display';\n\n this.map = {};\n this.selectionState = 'Address';\n this.showBasemapGallery = false;\n this.showMeasureTool = false;\n this.showShareLink = false;\n this.legend = {};\n this.showLegend = false;\n this.basemapGallery = {};\n this.link = '';\n this.showLoginOptions = false;\n this.showLockedModal = false;\n this.isHawaii = false;\n this.has722WinterWindContourLegend = false;\n\n this.bindListeners({\n updateZoom: mapActions.updateZoom,\n updateVisibility: mapActions.updateLayerVisibility,\n createMap: mapActions.createMap,\n reverseGeocoder: mapActions.reverseGeocoder,\n searchAddress: mapActions.searchAddress,\n selectionStateChange: criteriaActions.toggleLocationDiv,\n toggleBasemapGallery: headerActions.toggleBasemapGallery,\n hideBasemapGallery: [headerActions.hideBasemapGallery, mapActions.closeBasemap],\n toogleMeasureTool: headerActions.toogleMeasureTool,\n hideMeasureTool: [headerActions.hideMeasureTool, mapActions.closeMeasure],\n toggleShareLink: headerActions.toggleShareLink,\n hideShareLink: headerActions.hideShareLink,\n addLegend: mapActions.mapContainerLoaded,\n updateLegend: mapActions.updateLegend,\n hideLegend: mapActions.hideLegend,\n toggleLegend: mapActions.toggleLegend,\n showLegendFunction: mapActions.showLegend,\n saveBasemapGallery: mapActions.saveBasemapGallery,\n login: headerActions.login,\n goToSite: mapActions.goToSite,\n setHash: mapActions.setHash,\n toggleLoginOptions: mapActions.toggleLoginOptions,\n setLockedModalVisibility: mapActions.setLockedModalVisibility,\n });\n }\n\n setHash(hash) {\n this.link = hash;\n }\n\n setLockedModalVisibility(bool) {\n this.showLockedModal = bool;\n }\n\n toggleLoginOptions() {\n this.showLoginOptions = !this.showLoginOptions;\n }\n\n login() {\n //debugger;\n }\n\n handleUSATopoBasemap() {\n if (this.basemapGallery.getSelected().title === USA_TOPO_BASEMAP_TITLE && this.map.getZoom() >= 16) {\n const topographicBasemap = this.basemapGallery.basemaps.find(\n (basemap) => basemap.title === ESRI_TOPO_BASEMAP_TITLE\n );\n\n if (topographicBasemap) {\n this.basemapGallery.select(topographicBasemap.id);\n }\n }\n }\n\n saveBasemapGallery(bmg) {\n this.basemapGallery = bmg;\n\n this.basemapGallery.on('selection-change', () => {\n this.handleUSATopoBasemap();\n });\n }\n\n showLegendFunction() {\n this.showLegend = true;\n }\n\n toggleBasemapGallery() {\n this.showBasemapGallery = !this.showBasemapGallery;\n }\n\n hideBasemapGallery() {\n this.showBasemapGallery = false;\n }\n\n toogleMeasureTool() {\n this.showMeasureTool = !this.showMeasureTool;\n }\n\n hideMeasureTool() {\n this.showMeasureTool = false;\n }\n\n toggleShareLink() {\n this.showShareLink = !this.showShareLink;\n }\n\n hideShareLink() {\n this.showShareLink = false;\n }\n\n toggleLegend() {\n this.showLegend = !this.showLegend;\n }\n\n createMap(initSettings) {\n this.map = new EsriMap('map', mapConfig.options);\n this.map.on('load', () => {\n // handling zoom intial hash\n if (initSettings.hasOwnProperty('zoom') && typeof initSettings.zoom === 'string') {\n this.map.setZoom(Number(initSettings.zoom));\n }\n\n if (\n initSettings.hasOwnProperty('latitude') &&\n initSettings.hasOwnProperty('longitude') &&\n typeof initSettings.latitude === 'string' &&\n typeof initSettings.longitude === 'string'\n ) {\n this.map.centerAt(new Point(Number(initSettings.longitude), Number(initSettings.latitude)));\n this.reverseGeocoder({ lat: initSettings.latitude, long: initSettings.longitude });\n }\n\n // add load layers\n this.addLoadLayers();\n\n // Only after load layers have been added - determine if any overlays need to be turned in via hash\n if (\n initSettings.hasOwnProperty('layerVisible') &&\n typeof initSettings.layerVisible === 'string' &&\n initSettings.layerVisible !== ''\n ) {\n mapActions.updateLayerVisibility({ id: initSettings.layerVisible, checked: true });\n }\n });\n\n // This is the function that is called whenever the user clicks on the map\n this.map.on('click', (evt) => {\n if (!leftPanelStore.getState().viewReport && this.selectionState === 'mapclick' && !this.showMeasureTool) {\n this.mapClickLocation(evt.mapPoint);\n }\n });\n\n this.map.on('update-end', () => {\n // Grab loads from reportStore\n let loads = reportStore.getState().loads;\n // Loop through loads\n loads.forEach((load) => {\n // If the load is visible on the map\n if (load.visible) {\n //Init variable\n let visibleAtMapScale = false;\n // Special Case for Flood Load\n if (load.label === 'Flood') {\n visibleAtMapScale = this.map.getZoom() <= 13 ? false : true;\n } else {\n // Loop through each Load's layers\n load.layers.map.forEach((layer) => {\n visibleAtMapScale = this.map.getLayer(layer.id).visibleAtMapScale;\n });\n }\n\n // If the layer is not visible at the currently scale/zoom\n if (visibleAtMapScale === false) {\n // Turn off the load's visibility state\n load.visible = false;\n // Update the layer's visibility\n this.updateVisibility({ id: load.label, checked: false });\n }\n }\n });\n // Emit change in report store\n reportStore.emitChange();\n // Update legend\n this.updateLegend();\n });\n\n this.map.on('zoom-end', () => {\n if (this.basemapGallery.getSelected()) {\n this.handleUSATopoBasemap();\n }\n });\n\n let geocoderOptions = {\n map: this.map,\n enableHighlight: true,\n enableInfoWindow: false,\n locationToAddressDistance: 30,\n };\n\n this.search = Search(geocoderOptions, 'geocoder');\n this.search.on('focus', () => {\n this.map.graphics.clear();\n });\n this.search.on('select-result', (args) => {\n let addressPieces = args.result.name.split(',');\n let response = {};\n\n response.address = {\n Address: typeof addressPieces[0] === 'undefined' ? '' : addressPieces[0].trim(),\n City: typeof addressPieces[1] === 'undefined' ? '' : addressPieces[1].trim(),\n Region: typeof addressPieces[2] === 'undefined' ? '' : addressPieces[2].trim(),\n Postal: typeof addressPieces[3] === 'undefined' ? '' : addressPieces[3].trim(),\n };\n response.location = args.result.feature.geometry;\n\n mapActions.searchSelectResult(response);\n this.search.set('value', args.result.name);\n this.queryElevation(args.result.feature.geometry);\n this.queryElevationReferenceDatum(args.result.feature.geometry);\n });\n\n window.map = this.map;\n }\n\n addLoadLayers() {\n let loadsWithLayer = _.filter(loads, (load) => 'layers' in load);\n let layerObjs = [];\n for (let load of loadsWithLayer) {\n for (let layer of load.layers.map) {\n layerObjs.push(this.createLayer(layer));\n }\n }\n // Adding layers to the map\n this.map.addLayers(layerObjs);\n }\n\n /**\n * Creates layer depending on their layer type\n * @param {[type]} buildLayer [description]\n * @return {[type]} [description]\n */\n createLayer(buildLayer) {\n let layer;\n switch (buildLayer.type) {\n case 'tile':\n layer = new ArcGISTiledMapServiceLayer(buildLayer.url, {\n visible: buildLayer.visible,\n id: buildLayer.id,\n opacity: buildLayer.opacity || 0.8,\n });\n break;\n case 'feature':\n layer = new FeatureLayer(buildLayer.url, {\n visible: buildLayer.visible,\n id: buildLayer.id,\n opacity: buildLayer.opacity || 0.8,\n });\n break;\n case 'dynamic':\n layer = new ArcGISDynamicMapServiceLayer(buildLayer.url, {\n visible: buildLayer.visible,\n id: buildLayer.id,\n opacity: buildLayer.opacity || 0.8,\n });\n layer.setImageFormat('png32');\n break;\n default:\n break;\n }\n\n // This if statement will become true if the layer is dynamic\n if (typeof layer.setVisibleLayers === 'function') {\n layer.setVisibleLayers(buildLayer.visibleLayers);\n }\n return layer;\n }\n\n addLegend() {\n const LEGEND_ELEMENT_ID = 'legend';\n let legend = new Legend(\n {\n map: this.map,\n autoUpdate: false,\n layerInfos: [],\n },\n LEGEND_ELEMENT_ID\n );\n legend.startup();\n\n this.legend = legend;\n const legendElement = document.getElementById(LEGEND_ELEMENT_ID);\n\n if (legendElement) {\n startLegendObserver(legendElement);\n }\n }\n\n updateZoom(updateObj) {\n if (!updateObj.stopZoom) {\n if (updateObj.checked && this.map.getZoom() > 9 && updateObj.id !== 'Flood') {\n this.map.setZoom(9);\n }\n if (updateObj.checked && this.map.getZoom() < 14 && updateObj.id === 'Flood') {\n this.map.setZoom(14);\n }\n }\n }\n\n /**\n * Called whenever the user turns on/off a layer\n * @param object updateObj contains all layers that were configure in config.js\n */\n updateLayerVisibility(updateObj) {\n _.forEach(this.map.layerIds, (id) => {\n if (id.includes('layer') || id.includes(updateObj.id)) {\n return;\n } else {\n this.map.getLayer(id).setVisibility(false);\n }\n });\n\n let loadInfo = _.find(loads, { label: updateObj.id });\n\n switch (updateObj.id) {\n case 'Ice':\n this.updateIceVisibility(loadInfo, updateObj.checked);\n break;\n case 'Snow':\n this.updateSnowVisibility(loadInfo, updateObj.checked);\n break;\n case 'Rain':\n this.map.getLayer(updateObj.id).setVisibility(updateObj.checked);\n break;\n case 'Flood':\n this.map.getLayer(updateObj.id).setVisibility(updateObj.checked);\n break;\n case 'Seismic':\n this.updateSeismicVisibility(loadInfo, updateObj.checked);\n break;\n case 'Tsunami':\n this.map.getLayer(updateObj.id).setVisibility(updateObj.checked);\n break;\n case 'Wind':\n this.updateWindVisibility(loadInfo, updateObj.checked);\n break;\n case 'Tornado':\n // TO DO\n break;\n default:\n break;\n }\n\n if (updateObj.checked && this.map.getZoom() > 9 && updateObj.id !== 'Flood') {\n this.map.setZoom(9);\n }\n if (updateObj.checked && this.map.getZoom() < 14 && updateObj.id === 'Flood') {\n this.map.setZoom(14);\n }\n\n this.emitChange();\n this.updateLegend();\n }\n\n hideLegend() {\n this.legend.refresh([]);\n }\n\n updateLegend() {\n let criteria = criteriaStore.getState();\n const { measurement } = criteria;\n\n let layerInfos = [];\n let has722WinterWindContourLegend = false;\n _.forEach(this.map.layerIds, (layerId) => {\n if (layerId.includes('layer')) {\n return;\n }\n\n if (this.map.getLayer(layerId).visible) {\n // create layer info and push into array\n let hideLayers = [];\n _.forEach(this.map.getLayer(layerId).layerInfos, (layerInfo) => {\n if (measurement === 'si') {\n layerInfo.name = layerInfo.name.replace('(Vmphs)', '(Vmps)');\n layerInfo.name = layerInfo.name.replace('(Vmph)', '(Vmps)');\n }\n\n if (\n layerInfo.name.includes('Wind Contours (Vmph)') ||\n layerInfo.name.includes('i2022_ConcurrentTemp') ||\n layerInfo.name.includes('Wind Speed Guam and Am Samoa')\n ) {\n hideLayers.push(layerInfo.id);\n }\n\n if (layerInfo.name.includes('Winter Wind Contour')) {\n has722WinterWindContourLegend = true;\n } else {\n // If the name includes contour OR includes labels\n if (\n _.includes(layerInfo.name.toLowerCase(), 'contour') ||\n _.includes(layerInfo.name.toLowerCase(), 'labels') ||\n _.includes(layerInfo.name.toLowerCase(), 'points') ||\n _.includes(layerInfo.name.toLowerCase(), 'wind speed pr')\n ) {\n // If the name includes\n if (\n !_.includes(layerInfo.name, 'Wind Gust Contours') ||\n !_.includes(layerInfo.name, 'Concurrent Temperature Contours') ||\n !_.includes(layerInfo.name, 'Wind Speed (Vmph)')\n ) {\n hideLayers.push(layerInfo.id);\n }\n } else if (layerInfo.name.includes('CONUS ')) {\n layerInfo.name = layerInfo.name.replace('CONUS ', '');\n }\n }\n });\n\n this.has722WinterWindContourLegend = has722WinterWindContourLegend;\n\n layerInfos.push({\n layer: this.map.getLayer(layerId),\n hideLayers: hideLayers,\n title: ' ',\n });\n }\n });\n // Refresh the legend with new information\n if (!_.isEmpty(this.legend)) {\n this.legend.refresh(layerInfos);\n }\n }\n\n updateIceVisibility(loadInfo, checked) {\n let criteria = criteriaStore.getState();\n let layerID = 'Ice_' + criteria.standardsVersion + '_' + criteria.measurement;\n if (criteria.standardsVersion === '7-22') {\n layerID += `_RC_${criteria.riskLevel}`;\n }\n this.map.getLayer(layerID).setVisibility(checked);\n }\n\n updateSnowVisibility(loadInfo, checked) {\n let criteria = criteriaStore.getState();\n let layerID = `Snow_${criteria.standardsVersion}_${criteria.measurement}`;\n if (criteria.standardsVersion === '7-22') {\n layerID += `_RC_${criteria.riskLevel}`;\n }\n this.map.getLayer(layerID).setVisibility(checked);\n }\n\n updateSeismicVisibility(loadInfo, checked) {\n let standard = criteriaStore.getState().standardsVersion;\n let layerID = 'Seismic_' + standard;\n this.map.getLayer(layerID).setVisibility(checked);\n }\n\n updateTornadoVisibility(loadInfo, checked) {\n let criteria = criteriaStore.getState();\n let layerID = `Tornado_${criteria.standardsVersion}_${criteria.measurement}_${criteria.riskLevel}`;\n this.map.getLayer(layerID).setVisibility(checked);\n }\n\n updateTsunamiVisibility(loadInfo, checked) {\n let criteria = criteriaStore.getState();\n let layerID = criteria.standardsVersion === '7-22' ? 'Tsunami_7-22' : 'Tsunami';\n this.map.getLayer(layerID).setVisibility(checked);\n }\n\n updateWindVisibility(loadInfo, checked) {\n const { standardsVersion, riskLevel, measurement } = criteriaStore.getState();\n const layerID = `Wind_${standardsVersion}_${riskLevel}_${measurement}`;\n this.map.getLayer(layerID).setVisibility(checked);\n const hurricaneLayer = this.map.getLayer('Wind_Hurricane');\n if (hurricaneLayer) {\n if (checked) {\n hurricaneLayer.setVisibleLayers(standardsVersion === '7-10' ? [0] : [1]);\n }\n hurricaneLayer.setVisibility(checked);\n }\n }\n\n queryElevation(feature) {\n const lnglat = webMercatorUtils.xyToLngLat(feature.x, feature.y);\n const longitude = parseFloat(lnglat[0].toFixed(6));\n const latitude = parseFloat(lnglat[1].toFixed(6));\n\n $.get('https://epqs.nationalmap.gov/v1/json', {\n x: longitude,\n y: latitude,\n units: 'Feet',\n output: 'json',\n })\n .then((results) => {\n mapActions.setElevation(results.value);\n })\n .fail(() => {\n mapActions.setElevation(undefined);\n });\n }\n\n queryElevationReferenceDatum(feature) {\n let lnglat = webMercatorUtils.xyToLngLat(feature.x, feature.y);\n let longitude = parseFloat(lnglat[0].toFixed(6));\n let latitude = parseFloat(lnglat[1].toFixed(6));\n let geo = new Point(longitude, latitude, new SpatialReference({ wkid: 4326 }));\n\n let identifyReference = new IdentifyTask(elevationReference.layer.queryURL);\n let identifyParameters = new IdentifyParameters();\n identifyParameters.tolerance = 0;\n identifyParameters.SpatialReference = 4326;\n identifyParameters.returnGeometry = true;\n identifyParameters.layerIds = [8];\n identifyParameters.layerOption = IdentifyParameters.LAYER_OPTION_ALL;\n identifyParameters.width = this.map.width;\n identifyParameters.height = this.map.height;\n identifyParameters.mapExtent = this.map.extent;\n identifyParameters.geometry = geo;\n\n identifyReference.execute(identifyParameters).then((results) => {\n let vdatum = '';\n if (results.length === 0) {\n vdatum = '-1000000';\n } else {\n vdatum = results[0].feature.attributes.zshift !== '0' ? '88' : results[0].feature.attributes.vdatum;\n }\n // let criteria = criteriaStore.getState();\n // if (criteria.standardsVersion === '7-22' && this.isHawaii) {\n // return;\n // }\n mapActions.setElevationReferenceDatum(vdatum);\n });\n }\n\n reverseGeocoder(point) {\n let lat = parseFloat(point.lat);\n let long = parseFloat(point.long);\n\n if (Number.isNaN(lat) || Number.isNaN(long)) {\n return;\n } else {\n let lnglat = webMercatorUtils.lngLatToXY(long, lat);\n let xcoord = parseFloat(lnglat[0].toFixed(6));\n let ycoord = parseFloat(lnglat[1].toFixed(6));\n let geo = new Point(\n xcoord,\n ycoord,\n new SpatialReference({\n wkid: 102100,\n })\n );\n this.mapClickLocation(geo);\n }\n }\n\n searchAddress(address) {\n this.search.search(address);\n }\n\n mapClickLocation(point) {\n if (!criteriaStore.getState().snapToAddress) {\n this.noAddressGeoSelection(point);\n return;\n }\n\n var layerUrl = 'https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/reverseGeocode';\n let outSR = JSON.stringify({ wkid: 102100 });\n let location = JSON.stringify(point);\n var layersRequest = esriRequest({\n url: layerUrl,\n content: {\n f: 'json',\n distance: 200,\n outSR: outSR,\n location: location,\n },\n handleAs: 'json',\n callbackParamName: 'callback',\n });\n\n layersRequest.then(\n (response) => {\n mapActions.searchSelectResult(response);\n this.search.set(\n 'value',\n response.address.Address +\n ', ' +\n response.address.City +\n ', ' +\n response.address.Region +\n ', ' +\n response.address.Postal\n );\n this.queryElevation(response.location);\n this.queryElevationReferenceDatum(response.location);\n this.map.graphics.clear();\n let mapPoint = new Point(response.location);\n\n let pictureMarkerSymbol = new PictureMarkerSymbol(\n 'https://js.arcgis.com/3.36/esri/dijit/Search/images/search-pointer.png',\n 36,\n 36\n );\n pictureMarkerSymbol.setOffset(9, 18);\n let graphic = new Graphic(mapPoint, pictureMarkerSymbol);\n this.map.graphics.add(graphic);\n\n // Update the criter store location state\n const object = {\n address: {\n Address: response.address.Address,\n City: response.address.City,\n Region: response.address.Region,\n Postal: response.address.Postal,\n },\n location: {\n x: response.location.x,\n y: response.location.y,\n },\n };\n mapActions.searchSelectResult(object);\n\n if (this.map.getZoom() > 16) {\n this.map.zoom(mapPoint);\n } else {\n this.map.centerAndZoom(mapPoint, 16);\n }\n },\n () => {\n // no addresses available\n this.noAddressGeoSelection(point);\n }\n );\n }\n\n noAddressGeoSelection(point) {\n this.search.clear();\n this.map.graphics.clear();\n\n let response = {};\n response.address = {\n Address: '',\n City: '',\n Region: '',\n Postal: '',\n };\n response.location = point;\n\n mapActions.searchSelectResult.defer(response);\n\n this.queryElevation(point);\n this.queryElevationReferenceDatum(point);\n\n let mapPoint = new Point(point);\n let pictureMarkerSymbol = new PictureMarkerSymbol(\n 'https://js.arcgis.com/3.16/esri/dijit/Search/images/search-pointer.png',\n 36,\n 36\n );\n pictureMarkerSymbol.setOffset(9, 18);\n let graphic = new Graphic(mapPoint, pictureMarkerSymbol);\n this.map.graphics.add(graphic);\n\n if (this.map.getZoom() > 16) {\n this.map.centerAndZoom(mapPoint, this.map.getZoom());\n } else {\n this.map.centerAndZoom(mapPoint, 16);\n }\n }\n\n selectionStateChange(state) {\n this.selectionState = state;\n }\n\n goToSite() {\n const latitude = criteriaStore.getState().latitude;\n const longitude = criteriaStore.getState().longitude;\n let point = null;\n\n if (latitude === 'Latitude' && longitude === 'Longitude') {\n point = new Point(-96.1951167, 40.35397);\n this.map.centerAndZoom(point, 5);\n } else {\n point = new Point(longitude, latitude);\n this.map.centerAt(point);\n }\n }\n\n updateVisibility(visibilityObject) {\n // visibilityObject.id - LOAD LABEL\n // visibilityObject.checked - BOOLEAN of SWITCH\n\n // Accesses report store and change loads state\n let loads = reportStore.getState().loads;\n loads.map((load) => {\n if (load.label === visibilityObject.id) {\n load.visible = visibilityObject.checked;\n } else {\n load.visible = false;\n }\n });\n\n // Tells reportStore state has changed\n reportStore.emitChange();\n\n // Now that loads state has changed, change the map accordingly\n this.map.layerIds.forEach((id) => {\n // If the layer ID is the basemap OR the matching layer - do nothing\n if (id.includes('layer') || id.includes(visibilityObject.id)) {\n return;\n } else {\n // Turn off all other layers\n this.map.getLayer(id).setVisibility(false);\n }\n });\n\n // Current load whose visibility is being changed\n let currentLoad = _.find(loads, { label: visibilityObject.id });\n // Update the visibility accordingly based on type of load\n switch (visibilityObject.id) {\n case 'Ice':\n this.updateIceVisibility(currentLoad, visibilityObject.checked);\n break;\n case 'Snow':\n this.updateSnowVisibility(currentLoad, visibilityObject.checked);\n break;\n case 'Seismic':\n this.updateSeismicVisibility(currentLoad, visibilityObject.checked);\n break;\n case 'Wind':\n this.updateWindVisibility(currentLoad, visibilityObject.checked);\n break;\n case 'Tornado':\n this.updateTornadoVisibility(currentLoad, visibilityObject.checked);\n break;\n case 'Tsunami':\n this.updateTsunamiVisibility(currentLoad, visibilityObject.checked);\n break;\n case 'Rain':\n case 'Flood':\n this.map.getLayer(visibilityObject.id).setVisibility(visibilityObject.checked);\n break;\n }\n\n // Change the map zoom accordingly if the layer has been turned on\n if (visibilityObject.checked) {\n if (visibilityObject.id === 'Flood') {\n this.map.setZoom(15);\n } else {\n this.map.setZoom(9);\n }\n }\n\n // Update the legend accordingly\n this.updateLegend();\n }\n}\n\nexport const mapStore = alt.createStore(MapStore, 'MapStore');\n"]}