{"version":3,"sources":["../../../../src/app/js/stores/ReportStore.js"],"names":[],"mappings":"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","file":"ReportStore.js","sourcesContent":["import alt from 'js/alt';\nimport { criteriaStore } from 'stores/CriteriaStore';\nimport { criteriaActions } from 'actions/CriteriaActions';\nimport { reportActions } from 'actions/ReportActions';\nimport { mapActions } from 'actions/MapActions';\n\nimport { Promise as bbPromise } from 'promise';\nimport _ from 'lodash';\n\nimport { loads } from 'js/config/config';\nimport { buildReport } from 'utils/FullReport';\n\nimport queryIce from './queries/ice';\nimport queryRain from './queries/rain';\nimport querySnow from './queries/snow';\nimport querySeismic from './queries/seismic';\nimport queryWind from './queries/wind';\nimport queryTsunami from './queries/tsunami';\nimport queryFloodFHZ from './queries/flood';\nimport queryTornado from './queries/tornado';\n\nclass ReportStore {\n constructor() {\n this.loads = loads;\n this.showLoad = {};\n this.detailsPopupVisible = false;\n this.reportBuildingPopupVisible = false;\n this.loadTimeoutPopupVisible = false;\n this.loadWindDataWarningPopupVisible = false;\n this.librariesLoaded = false;\n this.queriesComplete = false;\n this.elevation = 0;\n this.elevationReferenceDatum = '';\n this.showSummary = false;\n this.reportIsBuilding = false;\n this.reportError = false;\n this.errorMessage = '';\n\n this.bindListeners({\n analyzeForReport: criteriaActions.viewReport,\n updateAndShowLoadDetails: reportActions.updateAndShowLoadDetails,\n closePopup: reportActions.closePopup,\n buildReport: reportActions.buildReport,\n reportLibrariesLoaded: reportActions.reportLibrariesLoaded,\n setElevation: mapActions.setElevation,\n setElevationReferenceDatum: mapActions.setElevationReferenceDatum,\n // updateLoadsVisibility: mapActions.updateLayerVisibility,\n closeReportBuildPopup: reportActions.closeReportBuildPopup,\n showReportBuildPopup: reportActions.showReportBuildPopup,\n showLoadTimeoutPopup: reportActions.showLoadTimeoutPopup,\n closeLoadTimeoutPopup: reportActions.closeLoadTimeoutPopup,\n showWindDataWarningPopup: reportActions.showWindDataWarningPopup,\n closeWindDataWarningPopup: reportActions.closeWindDataWarningPopup,\n showSummaryF: reportActions.showSummary,\n closeSummary: reportActions.closeSummary,\n togglePreloader: reportActions.togglePreloader,\n });\n }\n\n closeSummary() {\n this.setState({ showSummary: false });\n }\n\n togglePreloader(bool) {\n this.reportIsBuilding = bool;\n }\n\n showSummaryF() {\n this.setState({ showSummary: true });\n }\n\n showLoadTimeoutPopup() {\n this.setState({ loadTimeoutPopupVisible: true });\n }\n\n closeLoadTimeoutPopup() {\n this.setState({ loadTimeoutPopupVisible: false });\n }\n\n showWindDataWarningPopup() {\n this.setState({ loadWindDataWarningPopupVisible: true });\n }\n\n closeWindDataWarningPopup() {\n this.setState({ loadWindDataWarningPopupVisible: false });\n }\n\n showReportBuildPopup(params) {\n const { error } = params;\n this.setState({\n reportBuildingPopupVisible: true,\n errorMessage: error ? error : '',\n reportError: !!error,\n });\n }\n\n closeReportBuildPopup() {\n this.setState({\n reportBuildingPopupVisible: false,\n errorMessage: '',\n reportError: false,\n });\n }\n\n setElevation(elevation) {\n this.setState({ elevation: elevation });\n }\n\n setElevationReferenceDatum(datumCode) {\n let datum;\n switch (datumCode) {\n case '0':\n datum = 'Unknown';\n break;\n case '1':\n datum = 'Local Mean Sea Level';\n break;\n case '29':\n datum = 'National Geodetic Vertical Datum of 1929 (NGVD 29)';\n break;\n case '88':\n datum = 'North American Vertical Datum of 1988 (NAVD 88)';\n break;\n case '99':\n datum = 'Other';\n break;\n case '-1000000':\n datum = '';\n break;\n // case 'hawaii':\n // datum = 'Mean High Water (MHW) datum';\n // break;\n }\n this.setState({ elevationReferenceDatum: datum });\n }\n\n reportLibrariesLoaded() {\n this.setState({ librariesLoaded: true });\n }\n\n closePopup() {\n this.detailsPopupVisible = false;\n this.showLoad = {};\n }\n\n updateAndShowLoadDetails(load) {\n this.showLoad = load;\n this.detailsPopupVisible = true;\n }\n\n queryLoads() {\n let location = {\n lat: parseFloat(criteriaStore.getState().latitude),\n long: parseFloat(criteriaStore.getState().longitude),\n };\n //here we get all the loads information;\n let promises = [];\n\n _.forEach(this.loads, (load) => {\n if (load.checked !== 'checked') {\n return;\n }\n\n switch (load.label) {\n case 'Ice':\n promises.push(queryIce(location, load).timeout(30000));\n break;\n case 'Rain':\n promises.push(queryRain(location, load).timeout(30000));\n break;\n case 'Snow':\n promises.push(querySnow(location, load).timeout(30000));\n break;\n case 'Seismic':\n promises.push(querySeismic(location, load).timeout(30000));\n break;\n case 'Tsunami':\n promises.push(queryTsunami(location, load).timeout(30000));\n break;\n case 'Wind':\n promises.push(queryWind(location, load).timeout(30000));\n break;\n case 'Flood':\n promises.push(queryFloodFHZ(location, load).timeout(30000));\n break;\n case 'Tornado':\n promises.push(queryTornado(location, load).timeout(120000));\n break;\n default:\n break;\n }\n });\n bbPromise.all(promises.map((p) => p.catch((e) => e))).then((resultsArray) => {\n // resultsArray is an array of the objects returned from each resolved function in our promises array\n resultsArray.forEach((result) => {\n if (result.hasOwnProperty('error') || (result.name && result.name === 'TimeoutError')) {\n reportActions.showLoadTimeoutPopup();\n }\n });\n\n const loadsExpected = this.loads.filter((load) => load.checked === 'checked').map((load) => load.label);\n const succeededLoads = resultsArray\n .filter((result) => !!result.load && !result.error)\n .map((succeededResult) => succeededResult.load);\n const failedLoads = loadsExpected.filter((load) => !succeededLoads.includes(load));\n if (failedLoads.length > 0) {\n failedLoads.forEach((failedLoad) => {\n this.loads.find((load) => load.label === failedLoad).sampleData.value = ['Failed'];\n });\n }\n\n this.queriesComplete = true;\n this.emitChange();\n });\n }\n\n analyzeForReport() {\n //update the loads from criteriaStore\n this.loads = _.cloneDeep(criteriaStore.getState().loads);\n\n // here we calc all the stuff for the report\n this.queryLoads();\n }\n\n buildReport() {\n buildReport(this, criteriaStore);\n }\n\n updateLoadsVisibility(updateObj) {\n this.loads.map((load) => {\n if (load.label === updateObj.id) {\n load.visible = updateObj.checked;\n } else {\n load.visible = false;\n }\n });\n }\n}\n\nexport const reportStore = alt.createStore(ReportStore, 'ReportStore');\n"]}