{"version":3,"sources":["../../../../../src/app/js/stores/queries/flood.js"],"names":[],"mappings":"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","file":"flood.js","sourcesContent":["import React from 'react';\nimport Query from 'esri/tasks/query';\nimport QueryTask from 'esri/tasks/QueryTask';\nimport Point from 'esri/geometry/Point';\nimport SpatialReference from 'esri/SpatialReference';\nimport { Promise as bbPromise } from 'promise';\n\nimport { criteriaStore } from 'stores/CriteriaStore';\nimport { reportStore } from 'stores/ReportStore';\n\nimport { standardsConversionFeetMeters } from 'utils/Utilities';\n\nconst queryFloodFHZ = (location, load) => {\n let queryTask = new QueryTask(load.layers.query.url);\n let queryProductID = new QueryTask('https://hazards.fema.gov/arcgis/rest/services/public/NFHL/MapServer/3');\n let query = new Query();\n query.outFields = ['*'];\n // query.objectIds = [16, 28];\n query.outSpatialReference = {\n wkid: 4326,\n };\n query.returnGeometry = false;\n let geo = new Point(\n location.long,\n location.lat,\n new SpatialReference({\n wkid: 4326,\n })\n );\n query.geometry = geo;\n return new bbPromise((resolve, reject) => {\n try {\n bbPromise.all([queryTask.execute(query), queryProductID.execute(query)]).then((results) => {\n load.showInReport = true;\n if (results[0].features.length === 0) {\n load.sampleData.value = ['Consult AHJ'];\n load.details = [\n {\n type: 'singleLine',\n label: 'Flood Zone',\n value:\n 'Some areas are not in the National Flood Hazard Layer. Consult the Authority Having Jurisdiction.',\n },\n {\n type: 'singleLine',\n label: 'Static BFE',\n value:\n 'Refer to map for local elevations and interpolate according to the Authority Having Jurisdiction.',\n },\n ];\n load.details.push({\n type: 'note',\n hyperlinkUrl: 'https://msc.fema.gov/portal/search',\n hyperlinkText: 'msc.fema.gov/portal/search',\n note: 'Values provided are the flood zone classification of the selected site according to local flood hazard maps, and the base flood elevation (BFE) where applicable. Be sure to check Authority Having Jurisdiction for supporting information, including Flood Insurance Studies, available at',\n });\n load.details.push({\n type: 'dataSource',\n dataSource: {\n hyperlinkUrl: 'https://msc.fema.gov/portal/search',\n hyperlinkText:\n 'FEMA National Flood Hazard Layer - Effective Flood Hazard Layer for US, where modernized ',\n },\n });\n resolve({ load: load.label });\n return;\n }\n\n let floodFeat = results[0].features[0].attributes;\n let cidValue = floodFeat.DFIRM_ID;\n let productID = results[1].features.length === 0 ? '' : results[1].features[0].attributes.FIRM_PAN;\n\n let firmPanelLink = 'http://msc.fema.gov/portal/downloadProduct?productID=' + productID;\n let floodInsuranceLink =\n 'https://msc.fema.gov/util/bundle/confirm?type=FINAL_PRODUCT&subType=FIS_REPORT&bucket=EFFECTIVE&CID=' +\n cidValue;\n\n if (floodFeat.FLD_ZONE === null) {\n load.sampleData.value = ['Area of minimal flood hazard'];\n load.details = [\n {\n type: 'singleLine',\n label: 'Flood',\n value: 'AREA OF MINIMAL FLOOD HAZARD',\n },\n ];\n } else if (floodFeat.FLD_ZONE === 'X') {\n let subtype = '';\n\n switch (floodFeat.ZONE_SUBTY) {\n case 'AREA OF MINIMAL FLOOD HAZARD':\n subtype = ' (unshaded)';\n break;\n case '0.2 PCT ANNUAL CHANCE FLOOD HAZARD':\n subtype = ' (shaded)';\n break;\n default:\n subtype = '';\n }\n\n let floodLabeledValue = 'Zone: ' + floodFeat.FLD_ZONE + ' ' + subtype;\n load.sampleData.value = [floodLabeledValue];\n load.details = [\n {\n type: 'singleLine',\n label: 'Flood Zone',\n value: floodFeat.FLD_ZONE + subtype,\n },\n ];\n } else {\n // Getting the percentage of flood chances\n let floodLabeledValue = 'Zone: ' + floodFeat.FLD_ZONE;\n load.sampleData.value = [floodLabeledValue];\n load.details = [\n {\n type: 'singleLine',\n label: 'Flood Zone',\n value: floodFeat.FLD_ZONE,\n },\n ];\n }\n // Vertical Datum\n if (floodFeat.V_DATUM !== null) {\n load.details.push({\n type: 'singleLine',\n label: 'Vertical Datum',\n value: floodFeat.V_DATUM,\n });\n }\n\n let BFEValue =\n 'Refer to map for local elevations and interpolate according to the Authority Having Jurisdiction.';\n if (floodFeat.STATIC_BFE !== -9999) {\n BFEValue = parseInt(\n standardsConversionFeetMeters(floodFeat.STATIC_BFE, 'imperial', criteriaStore.getState().measurement)\n ).toString();\n BFEValue += criteriaStore.getState().measurement === 'si' ? ' m' : ' ft';\n }\n\n load.details.push({\n type: 'singleLine',\n label: 'Static BFE',\n value: BFEValue,\n });\n load.details.push({\n type: 'note',\n hyperlinkUrl: 'https://msc.fema.gov/portal/search',\n hyperlinkText: 'msc.fema.gov/portal/search',\n note: 'Values provided are the flood zone classification of the selected site according to local flood hazard maps, and the base flood elevation (BFE) where applicable. Be sure to check Authority Having Jurisdiction for supporting information, including Flood Insurance Studies, available at',\n });\n load.details.push({\n type: 'note',\n note: '',\n hyperlinkUrl: 'http://msc.fema.gov/portal/downloadProduct?productID=' + productID,\n hyperlinkText: '',\n jsxLabel: (\n \n If available, download FIRM panel{' '}\n \n here\n {' '}\n for important additional information.\n \n ),\n });\n load.details.push({\n type: 'note',\n note: '',\n hyperlinkUrl:\n 'https://msc.fema.gov/util/bundle/confirm?type=FINAL_PRODUCT&subType=FIS_REPORT&bucket=EFFECTIVE&CID=' +\n cidValue,\n hyperlinkText: '',\n jsxLabel: (\n \n Download FEMA Flood Insurance Study for this area{' '}\n \n here\n \n .\n \n ),\n });\n load.details.push({\n type: 'dataSource',\n dataSource: {\n hyperlinkUrl: 'https://msc.fema.gov/portal/search',\n hyperlinkText: 'FEMA National Flood Hazard Layer - Effective Flood Hazard Layer for US, where modernized ',\n },\n });\n reportStore.emitChange();\n resolve({ load: load.label });\n });\n } catch (error) {\n reject({ load: load.label, error });\n }\n });\n};\n\nexport default queryFloodFHZ;\n"]}