diff --git a/public/js/appChart.js b/public/js/appChart.js index 16780a0bc138a362d2fc99acea042bebf494e314..bb1f8d3d9d71a505fee2d244efb951b8e0981484 100644 --- a/public/js/appChart.js +++ b/public/js/appChart.js @@ -17,10 +17,9 @@ import { extractPropertiesFromFormattedDatastreamMetadata, } from "./src_modules/fetchedDataProcessing.mjs"; -import { - formatSensorThingsApiResponseForLineOrColumnChart, - drawLineChartHighcharts, -} from "./src_modules/chartLine.mjs"; +import { formatSensorThingsApiResponseForLineOrColumnChart } from "./src_modules/chartHelpers.mjs"; + +import { drawLineChartHighcharts } from "./src_modules/chartLine.mjs"; import { drawColumnChartHighcharts } from "./src_modules/chartColumn.mjs"; diff --git a/public/js/src_modules/chartHelpers.mjs b/public/js/src_modules/chartHelpers.mjs index 0c633b31e97a9681eedbafa54bb0542e9366e35a..432b04399d6cc92cfcd45a7a8c88c6b77a6f8d33 100644 --- a/public/js/src_modules/chartHelpers.mjs +++ b/public/js/src_modules/chartHelpers.mjs @@ -177,6 +177,21 @@ const checkForAndDeleteUniqueObservationsFromLargerArray = function ( } }; +/** + * Format the response from SensorThings API to make it suitable for use in a line chart or column chart + * @param {Array} obsArray Array of observations (timestamp + value) that is response from SensorThings API + * @returns {Array} Array of formatted observations suitable for use in a line chart + */ +const formatSensorThingsApiResponseForLineOrColumnChart = function (obsArray) { + if (!obsArray) return; + + return obsArray.map((result) => { + const timestampObs = new Date(result[0].slice(0, -1)).getTime(); // slice() removes trailing "Z" character in timestamp + const valueObs = result[1]; + return [timestampObs, valueObs]; + }); +}; + /** * Convert a hexadecimal color code obtained from the Highcharts object (`Highcharts.getOptions().colors`) to its equivalent RGB color code * @param {String} hexCode Input hex color code @@ -406,6 +421,7 @@ const removeTransparencyFromColor = function (rgbaColor) { export { chartExportOptions, checkForAndDeleteUniqueObservationsFromLargerArray, + formatSensorThingsApiResponseForLineOrColumnChart, createCombinedTextDelimitedByAmpersand, createCombinedTextDelimitedByComma, extractSamplingRateFromDatastreamName, diff --git a/public/js/src_modules/chartLine.mjs b/public/js/src_modules/chartLine.mjs index cd698f90ad7d0ace0c27f16f74e27471bcfe5abd..6754a9679eea4062224ca1d2dd1b169b9a493510 100644 --- a/public/js/src_modules/chartLine.mjs +++ b/public/js/src_modules/chartLine.mjs @@ -7,21 +7,6 @@ import { createTooltipDateString, } from "./chartHelpers.mjs"; -/** - * Format the response from SensorThings API to make it suitable for use in a line chart or column chart - * @param {Array} obsArray Array of observations (timestamp + value) that is response from SensorThings API - * @returns {Array} Array of formatted observations suitable for use in a line chart - */ -const formatSensorThingsApiResponseForLineOrColumnChart = function (obsArray) { - if (!obsArray) return; - - return obsArray.map((result) => { - const timestampObs = new Date(result[0].slice(0, -1)).getTime(); // slice() removes trailing "Z" character in timestamp - const valueObs = result[1]; - return [timestampObs, valueObs]; - }); -}; - /** * Creates an options object for each series drawn in the line chart * @param {Array} formattedObsArraysForLineChart An array of formatted observation array(s) from one or more datastreams @@ -162,7 +147,4 @@ const drawLineChartHighcharts = function ( }); }; -export { - formatSensorThingsApiResponseForLineOrColumnChart, - drawLineChartHighcharts, -}; +export { drawLineChartHighcharts };