{"version":3,"sources":["../../../../src/app/js/utils/Utilities.js"],"names":[],"mappings":"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","file":"Utilities.js","sourcesContent":["import React from 'react';\nimport io from 'dojo/io-query';\nimport { mapStore } from 'stores/MapStore';\nimport { reportStore } from 'stores/ReportStore';\nimport { criteriaStore } from 'stores/CriteriaStore';\n\nconst Utilities = {\n createHash: () => {\n const mapStoreState = mapStore.getState();\n const reportStoreState = reportStore.getState();\n const criteriaStoreState = criteriaStore.getState();\n\n let visibleLoad = '';\n const selectedLoads = [];\n reportStoreState.loads.forEach((load) => {\n if (load.checked === 'checked') {\n selectedLoads.push(load.label);\n }\n if (load.visible === true) {\n visibleLoad = load.label;\n }\n });\n //Parameters - lat, lon, zoom, risk, soil, standardsVersion, measurementType, loads, visibleLoad\n let parameters = {\n lat: criteriaStoreState.latitude, // latitude\n lon: criteriaStoreState.longitude, // longitude\n z: mapStoreState.map.getZoom(), // Map current zoom\n r: criteriaStoreState.riskLevel, // risk level\n sc: criteriaStoreState.soilClass, // soil class\n sv: criteriaStoreState.standardsVersion, // standards version\n m: criteriaStoreState.measurement, // measurement type\n l: selectedLoads, // selected loads\n v: visibleLoad, // visible load\n };\n return `${window.location.href}#${io.objectToQuery(parameters)}`;\n },\n\n romanize: (num) => {\n if (typeof num !== 'number') {\n return NaN;\n }\n\n let digits = String(+num).split(''),\n key = [\n '',\n 'C',\n 'CC',\n 'CCC',\n 'CD',\n 'D',\n 'DC',\n 'DCC',\n 'DCCC',\n 'CM',\n '',\n 'X',\n 'XX',\n 'XXX',\n 'XL',\n 'L',\n 'LX',\n 'LXX',\n 'LXXX',\n 'XC',\n '',\n 'I',\n 'II',\n 'III',\n 'IV',\n 'V',\n 'VI',\n 'VII',\n 'VIII',\n 'IX',\n ],\n roman = '',\n i = 3;\n while (i--) {\n roman = (key[+digits.pop() + i * 10] || '') + roman;\n }\n return Array(+digits.join('') + 1).join('M') + roman;\n },\n\n //Only converts feet to meters and vice versa\n standardsConversionFeetMeters(inputValue, inputType, outputType) {\n if (inputType === outputType) {\n return Number(inputValue);\n }\n if (outputType === 'si') {\n return Number(inputValue) * 0.3048;\n }\n if (outputType === 'imperial') {\n return Number(inputValue) / 0.3048;\n }\n },\n\n standardsConversionInchesMMs(inputValue, inputType, outputType) {\n if (inputType === outputType) {\n return Number(inputValue);\n }\n if (outputType === 'si') {\n return Number(inputValue) * 25.4;\n }\n if (outputType === 'imperial') {\n return Number(inputValue) / 25.4;\n }\n },\n\n snowConvserion(inputValue, inputType, outputType) {\n if (inputType === outputType) {\n return Number(inputValue);\n }\n if (outputType === 'si') {\n return (Number(inputValue) * 0.04788).toFixed(2);\n }\n if (outputType === 'imperial') {\n return Number(inputValue) / 0.04788;\n }\n },\n\n convserionMilesMeterSecond(inputValue, inputType, outputType) {\n let output = Number(inputValue);\n\n if (inputType === outputType) {\n return output;\n }\n if (outputType === 'si') {\n return output * 0.44704;\n }\n if (outputType === 'imperial') {\n return output / 0.44704;\n }\n },\n\n conversionTemperature(inputValue, inputType, outputType) {\n if (inputType === outputType) {\n return Number(inputValue);\n }\n if (outputType === 'si') {\n return ((Number(inputValue) - 32) * 5) / 9;\n }\n if (outputType === 'imperial') {\n return (Number(inputValue) * 9) / 5 + 32;\n }\n },\n\n checkIfSquaredJsx(inputValue) {\n if (typeof inputValue === 'string' && inputValue.includes('^2')) {\n let pos = inputValue.indexOf('^2');\n let bef = inputValue.substring(0, pos);\n let aft = inputValue.substring(pos + 3).trim(); //3 derives from length of ^2 and plus 1 to start after and remove spaces\n return (\n \n {bef}\n 2\n {'\\u00A0'}\n {aft}\n \n );\n } else if (typeof inputValue === 'string' && inputValue.includes('V^T')) {\n let pos = inputValue.indexOf('^T');\n let bef = inputValue.substring(0, pos);\n let aft = inputValue.substring(pos + 3).trim(); //3 derives from length of ^2 and plus 1 to start after and remove spaces\n return (\n \n {bef}\n T \n {aft}\n \n );\n } else {\n return inputValue;\n }\n },\n\n getLetter(index) {\n const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n return alphabet[index];\n },\n\n timeLeftInDaysSort(a, b) {\n if (a.timeLeftInDays < b.timeLeftInDays) {\n return 1;\n }\n if (a.timeLeftInDays > b.timeLeftInDays) {\n return -1;\n }\n return 0;\n },\n};\n\nexport const romanize = Utilities.romanize;\nexport const standardsConversionFeetMeters = Utilities.standardsConversionFeetMeters;\nexport const standardsConversionInchesMMs = Utilities.standardsConversionInchesMMs;\nexport const snowConvserion = Utilities.snowConvserion;\nexport const convserionMilesMeterSecond = Utilities.convserionMilesMeterSecond;\nexport const conversionTemperature = Utilities.conversionTemperature;\nexport const checkIfSquaredJsx = Utilities.checkIfSquaredJsx;\nexport const getLetter = Utilities.getLetter;\nexport const timeLeftInDaysSort = Utilities.timeLeftInDaysSort;\nexport const createHash = Utilities.createHash;\n"]}