diff --git a/public/js/src_modules/dropDownListAggregationAverage.mjs b/public/js/src_modules/dropDownListAggregationAverage.mjs index 98098af9aceba331106b36842929758f225c9245..d2d6c322bb480ec54d318453c061ae098fce5832 100644 --- a/public/js/src_modules/dropDownListAggregationAverage.mjs +++ b/public/js/src_modules/dropDownListAggregationAverage.mjs @@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP * Calculate the daily average of observations and format these aggregated observations * * @param {Array} uniqueCalendarDatesNestedArr An array made up of sub-array(s) of unique calendar date(s) string(s) - * @param {Array} observationsAggregationNestedArr An array made up of sub-array(s) of aggregated observations + * @param {Array} observationsNestedArr An array made up of sub-array(s) of observations * @param {String} selectedSamplingRateAbbrev A string representing the abbreviated form of the selected sampling rate option * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties * @returns {Array} An array whose first element is the formatted aggregated (daily average) observations. The second element is an object made up of extracted & formatted datastream properties */ const calculateAndFormatDailyAverageObservations = function ( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ) { // Calculate AVERAGE / DAILY of values of observations const observationsAverageDailyNestedArr = calculateAverageOfObservationValuesWithinInterval( - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, uniqueCalendarDatesNestedArr, "daily" @@ -61,14 +61,14 @@ const calculateAndFormatDailyAverageObservations = function ( * Calculate the monthly average of observations and format these aggregated observations * * @param {Array} uniqueCalendarDatesNestedArr An array made up of sub-array(s) of unique calendar date(s) string(s) - * @param {Array} observationsAggregationNestedArr An array made up of sub-array(s) of aggregated observations + * @param {Array} observationsNestedArr An array made up of sub-array(s) of observations * @param {String} selectedSamplingRateAbbrev A string representing the abbreviated form of the selected sampling rate option * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties * @returns {Array} An array whose first element is the formatted aggregated (monthly average) observations. The second element is an object made up of extracted & formatted datastream properties */ const calculateAndFormatMonthlyAverageObservations = function ( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ) { @@ -81,7 +81,7 @@ const calculateAndFormatMonthlyAverageObservations = function ( // Calculate AVERAGE / MONTHLY of values of observations const observationsAverageMonthlyNestedArr = calculateAverageOfObservationValuesWithinInterval( - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, uniqueCalendarMonthsNestedArr, "monthly" diff --git a/public/js/src_modules/dropDownListAggregationMaximum.mjs b/public/js/src_modules/dropDownListAggregationMaximum.mjs index 3ef25d3823eca6578d659ab99e4ef16763598241..bb5464d1c194befad044a659cf7af7e2d61dd177 100644 --- a/public/js/src_modules/dropDownListAggregationMaximum.mjs +++ b/public/js/src_modules/dropDownListAggregationMaximum.mjs @@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP * Calculate the daily maximum of observations and format these aggregated observations * * @param {Array} uniqueCalendarDatesNestedArr An array made up of sub-array(s) of unique calendar date(s) string(s) - * @param {Array} observationsAggregationNestedArr An array made up of sub-array(s) of aggregated observations + * @param {Array} observationsNestedArr An array made up of sub-array(s) of observations * @param {String} selectedSamplingRateAbbrev A string representing the abbreviated form of the selected sampling rate option * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties * @returns {Array} An array whose first element is the formatted aggregated (daily maximum) observations. The second element is an object made up of extracted & formatted datastream properties */ const calculateAndFormatDailyMaximumObservations = function ( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ) { // Calculate MAXIMUM / DAILY of values of observations const observationsMaximumDailyNestedArr = calculateMaximumObservationValuesWithinInterval( - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, uniqueCalendarDatesNestedArr, "daily" @@ -61,14 +61,14 @@ const calculateAndFormatDailyMaximumObservations = function ( * Calculate the monthly maximum of observations and format these aggregated observations * * @param {Array} uniqueCalendarDatesNestedArr An array made up of sub-array(s) of unique calendar date(s) string(s) - * @param {Array} observationsAggregationNestedArr An array made up of sub-array(s) of aggregated observations + * @param {Array} observationsNestedArr An array made up of sub-array(s) of observations * @param {String} selectedSamplingRateAbbrev A string representing the abbreviated form of the selected sampling rate option * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties * @returns {Array} An array whose first element is the formatted aggregated (monthly maximum) observations. The second element is an object made up of extracted & formatted datastream properties */ const calculateAndFormatMonthlyMaximumObservations = function ( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ) { @@ -81,7 +81,7 @@ const calculateAndFormatMonthlyMaximumObservations = function ( // Calculate MAXIMUM / MONTHLY of values of observations const observationsMaximumMonthlyNestedArr = calculateMaximumObservationValuesWithinInterval( - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, uniqueCalendarMonthsNestedArr, "monthly" diff --git a/public/js/src_modules/dropDownListAggregationMinimum.mjs b/public/js/src_modules/dropDownListAggregationMinimum.mjs index 2fec44e30463a3006aba132d1f47531e3be42673..fa1d050557fc694801d78f61714feac4dad88cdb 100644 --- a/public/js/src_modules/dropDownListAggregationMinimum.mjs +++ b/public/js/src_modules/dropDownListAggregationMinimum.mjs @@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP * Calculate the daily minimum of observations and format these aggregated observations * * @param {Array} uniqueCalendarDatesNestedArr An array made up of sub-array(s) of unique calendar date(s) string(s) - * @param {Array} observationsAggregationNestedArr An array made up of sub-array(s) of aggregated observations + * @param {Array} observationsNestedArr An array made up of sub-array(s) of observations * @param {String} selectedSamplingRateAbbrev A string representing the abbreviated form of the selected sampling rate option * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties * @returns {Array} An array whose first element is the formatted aggregated (daily minimum) observations. The second element is an object made up of extracted & formatted datastream properties */ const calculateAndFormatDailyMinimumObservations = function ( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ) { // Calculate MINIMUM / DAILY of values of observations const observationsMinimumDailyNestedArr = calculateMinimumObservationValuesWithinInterval( - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, uniqueCalendarDatesNestedArr, "daily" @@ -61,14 +61,14 @@ const calculateAndFormatDailyMinimumObservations = function ( * Calculate the monthly minimum of observations and format these aggregated observations * * @param {Array} uniqueCalendarDatesNestedArr An array made up of sub-array(s) of unique calendar date(s) string(s) - * @param {Array} observationsAggregationNestedArr An array made up of sub-array(s) of aggregated observations + * @param {Array} observationsNestedArr An array made up of sub-array(s) of observations * @param {String} selectedSamplingRateAbbrev A string representing the abbreviated form of the selected sampling rate option * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties * @returns {Array} An array whose first element is the formatted aggregated (monthly minimum) observations. The second element is an object made up of extracted & formatted datastream properties */ const calculateAndFormatMonthlyMinimumObservations = function ( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ) { @@ -81,7 +81,7 @@ const calculateAndFormatMonthlyMinimumObservations = function ( // Calculate MINIMUM / MONTHLY of values of observations const observationsMinimumMonthlyNestedArr = calculateMinimumObservationValuesWithinInterval( - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, uniqueCalendarMonthsNestedArr, "monthly" diff --git a/public/js/src_modules/dropDownListAggregationSum.mjs b/public/js/src_modules/dropDownListAggregationSum.mjs index 472db001db7d745a858b038935512b7d0fc84d53..4d153282d6f51989c4540fb5225a4e86311f3360 100644 --- a/public/js/src_modules/dropDownListAggregationSum.mjs +++ b/public/js/src_modules/dropDownListAggregationSum.mjs @@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP * Calculate the daily sum of observations and format these aggregated observations * * @param {Array} uniqueCalendarDatesNestedArr An array made up of sub-array(s) of unique calendar date(s) string(s) - * @param {Array} observationsAggregationNestedArr An array made up of sub-array(s) of aggregated observations + * @param {Array} observationsNestedArr An array made up of sub-array(s) of observations * @param {String} selectedSamplingRateAbbrev A string representing the abbreviated form of the selected sampling rate option * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties * @returns {Array} An array whose first element is the formatted aggregated (daily sum) observations. The second element is an object made up of extracted & formatted datastream properties */ const calculateAndFormatDailySumObservations = function ( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ) { // Calculate SUM / DAILY of values of observations const observationsSumDailyNestedArr = calculateSumOfObservationValuesWithinInterval( - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, uniqueCalendarDatesNestedArr, "daily" @@ -61,14 +61,14 @@ const calculateAndFormatDailySumObservations = function ( * Calculate the monthly sum of observations and format these aggregated observations * * @param {Array} uniqueCalendarDatesNestedArr An array made up of sub-array(s) of unique calendar date(s) string(s) - * @param {Array} observationsAggregationNestedArr An array made up of sub-array(s) of aggregated observations + * @param {Array} observationsNestedArr An array made up of sub-array(s) of observations * @param {String} selectedSamplingRateAbbrev A string representing the abbreviated form of the selected sampling rate option * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties * @returns {Array} An array whose first element is the formatted aggregated (monthly sum) observations. The second element is an object made up of extracted & formatted datastream properties */ const calculateAndFormatMonthlySumObservations = function ( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ) { @@ -81,7 +81,7 @@ const calculateAndFormatMonthlySumObservations = function ( // Calculate SUM / MONTHLY of values of observations const observationsSumMonthlyNestedArr = calculateSumOfObservationValuesWithinInterval( - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, uniqueCalendarMonthsNestedArr, "monthly" diff --git a/public/js/src_modules/dropDownListChartColumn.mjs b/public/js/src_modules/dropDownListChartColumn.mjs index e412fdc55f5b1d9e5555785a90fc6f94e7c3ab0d..49af49cf5b236d4ce39b247dbf20cb89bb57e99a 100644 --- a/public/js/src_modules/dropDownListChartColumn.mjs +++ b/public/js/src_modules/dropDownListChartColumn.mjs @@ -27,31 +27,31 @@ import { * * @param {String} selectedAggregationType A string representing the selected aggregation type. The currently supported strings include `Sum`, `Maximum`, `Minimum` and `Average` * @param {String} selectedAggregationDuration A string representing the selected aggregation duration. The currently supported strings include `Daily` and `Monthly` - * @param {Array} observationsAggregationNestedArr An array made up of sub-array(s) of aggregated observations + * @param {Array} observationsNestedArr An array made up of sub-array(s) of observations * @param {String} selectedSamplingRateAbbrev A string representing the abbreviated form of the selected sampling rate option * @param {Array} uniqueCalendarDatesNestedArr An array made up of sub-array(s) of unique calendar date(s) string(s) * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties * @returns {undefined} undefined */ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( - selectedAggregationTypeArr, + selectedAggregationType, selectedAggregationDuration, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, uniqueCalendarDatesNestedArr, formattedMetadataNestedArr ) { + // Daily / sum if ( - selectedAggregationTypeArr === "Sum" && + selectedAggregationType === "Sum" && selectedAggregationDuration === "Daily" ) { - // Formatted observations and metadata for chart - daily / sum const [ formattedObservationsSumDailyNestedArr, extractedFormattedDatastreamProperties, ] = calculateAndFormatDailySumObservations( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ); @@ -60,17 +60,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( formattedObservationsSumDailyNestedArr, extractedFormattedDatastreamProperties ); - } else if ( - selectedAggregationTypeArr === "Sum" && + } + // Monthly / sum + else if ( + selectedAggregationType === "Sum" && selectedAggregationDuration === "Monthly" ) { - // Formatted observations and metadata for chart - monthly / sum const [ formattedObservationsSumMonthlyNestedArr, extractedFormattedDatastreamProperties, ] = calculateAndFormatMonthlySumObservations( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ); @@ -79,8 +80,10 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( formattedObservationsSumMonthlyNestedArr, extractedFormattedDatastreamProperties ); - } else if ( - selectedAggregationTypeArr === "Maximum" && + } + // Daily / maximum + else if ( + selectedAggregationType === "Maximum" && selectedAggregationDuration === "Daily" ) { // Formatted observations and metadata for chart - daily / maximum @@ -89,7 +92,7 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( extractedFormattedDatastreamProperties, ] = calculateAndFormatDailyMaximumObservations( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ); @@ -98,17 +101,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( formattedObservationsMaximumDailyNestedArr, extractedFormattedDatastreamProperties ); - } else if ( - selectedAggregationTypeArr === "Maximum" && + } + // Monthly / maximum + else if ( + selectedAggregationType === "Maximum" && selectedAggregationDuration === "Monthly" ) { - // Formatted observations and metadata for chart - monthly / maximum const [ formattedObservationsMaximumMonthlyNestedArr, extractedFormattedDatastreamProperties, ] = calculateAndFormatMonthlyMaximumObservations( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ); @@ -117,8 +121,10 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( formattedObservationsMaximumMonthlyNestedArr, extractedFormattedDatastreamProperties ); - } else if ( - selectedAggregationTypeArr === "Minimum" && + } + // Daily / minimum + else if ( + selectedAggregationType === "Minimum" && selectedAggregationDuration === "Daily" ) { // Formatted observations and metadata for chart - daily / minimum @@ -127,7 +133,7 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( extractedFormattedDatastreamProperties, ] = calculateAndFormatDailyMinimumObservations( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ); @@ -136,17 +142,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( formattedObservationsMinimumDailyNestedArr, extractedFormattedDatastreamProperties ); - } else if ( - selectedAggregationTypeArr === "Minimum" && + } + // Monthly / minimum + else if ( + selectedAggregationType === "Minimum" && selectedAggregationDuration === "Monthly" ) { - // Formatted observations and metadata for chart - monthly / minimum const [ formattedObservationsMinimumMonthlyNestedArr, extractedFormattedDatastreamProperties, ] = calculateAndFormatMonthlyMinimumObservations( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ); @@ -155,17 +162,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( formattedObservationsMinimumMonthlyNestedArr, extractedFormattedDatastreamProperties ); - } else if ( - selectedAggregationTypeArr === "Average" && + } + // Daily / average + else if ( + selectedAggregationType === "Average" && selectedAggregationDuration === "Daily" ) { - // Formatted observations and metadata for chart - daily / average const [ formattedObservationsAverageDailyNestedArr, extractedFormattedDatastreamProperties, ] = calculateAndFormatDailyAverageObservations( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ); @@ -174,17 +182,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( formattedObservationsAverageDailyNestedArr, extractedFormattedDatastreamProperties ); - } else if ( - selectedAggregationTypeArr === "Average" && + } + // Monthly / average + else if ( + selectedAggregationType === "Average" && selectedAggregationDuration === "Monthly" ) { - // Formatted observations and metadata for chart - monthly / average const [ formattedObservationsAverageMonthlyNestedArr, extractedFormattedDatastreamProperties, ] = calculateAndFormatMonthlyAverageObservations( uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, formattedMetadataNestedArr ); diff --git a/public/js/src_modules/dropDownListChartLine.mjs b/public/js/src_modules/dropDownListChartLine.mjs index 70e721de83a9cce34dc1a402b90f32d315688c1e..494e466c718cdd041267ee95b4ae31fca1d50b18 100644 --- a/public/js/src_modules/dropDownListChartLine.mjs +++ b/public/js/src_modules/dropDownListChartLine.mjs @@ -27,7 +27,7 @@ import { * * @param {String} selectedAggregationType A string representing the selected aggregation type. The currently supported strings include `Sum`, `Maximum`, `Minimum` and `Average` * @param {String} selectedAggregationDuration A string representing the selected aggregation duration. The currently supported strings include `Daily` and `Monthly` - * @param {Array} observationsAggregationNestedArr An array made up of sub-array(s) of aggregated observations + * @param {Array} observationsNestedArr An array made up of sub-array(s) of observations * @param {String} selectedSamplingRateAbbrev A string representing the abbreviated form of the selected sampling rate option * @param {Array} uniqueCalendarDatesNestedArr An array made up of sub-array(s) of unique calendar date(s) string(s) * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties @@ -36,162 +36,124 @@ import { export const drawLineChartBasedOnSelectedAggregationOptions = function ( selectedAggregationType, selectedAggregationDuration, - observationsAggregationNestedArr, + observationsNestedArr, selectedSamplingRateAbbrev, uniqueCalendarDatesNestedArr, formattedMetadataNestedArr ) { + // Daily / sum if ( selectedAggregationType === "Sum" && selectedAggregationDuration === "Daily" ) { - // Formatted observations and metadata for chart - daily / sum - const [ - formattedObservationsSumDailyNestedArr, - extractedFormattedDatastreamProperties, - ] = calculateAndFormatDailySumObservations( - uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, - selectedSamplingRateAbbrev, - formattedMetadataNestedArr - ); - + // Note: The `drawColumChart` function expects two arguments, + // these are obtained by using the spread operator on the + // result returned from the `calculateAndFormat...` functions drawLineChartHighcharts( - formattedObservationsSumDailyNestedArr, - extractedFormattedDatastreamProperties + ...calculateAndFormatDailySumObservations( + uniqueCalendarDatesNestedArr, + observationsNestedArr, + selectedSamplingRateAbbrev, + formattedMetadataNestedArr + ) ); - } else if ( + } + // Monthly / sum + else if ( selectedAggregationType === "Sum" && selectedAggregationDuration === "Monthly" ) { - // Formatted observations and metadata for chart - monthly / sum - const [ - formattedObservationsSumMonthlyNestedArr, - extractedFormattedDatastreamProperties, - ] = calculateAndFormatMonthlySumObservations( - uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, - selectedSamplingRateAbbrev, - formattedMetadataNestedArr - ); - drawLineChartHighcharts( - formattedObservationsSumMonthlyNestedArr, - extractedFormattedDatastreamProperties + ...calculateAndFormatMonthlySumObservations( + uniqueCalendarDatesNestedArr, + observationsNestedArr, + selectedSamplingRateAbbrev, + formattedMetadataNestedArr + ) ); - } else if ( + } + // Daily / maximum + else if ( selectedAggregationType === "Maximum" && selectedAggregationDuration === "Daily" ) { - // Formatted observations and metadata for chart - daily / maximum - const [ - formattedObservationsMaximumDailyNestedArr, - extractedFormattedDatastreamProperties, - ] = calculateAndFormatDailyMaximumObservations( - uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, - selectedSamplingRateAbbrev, - formattedMetadataNestedArr - ); - drawLineChartHighcharts( - formattedObservationsMaximumDailyNestedArr, - extractedFormattedDatastreamProperties + ...calculateAndFormatDailyMaximumObservations( + uniqueCalendarDatesNestedArr, + observationsNestedArr, + selectedSamplingRateAbbrev, + formattedMetadataNestedArr + ) ); - } else if ( + } + // Monthly / maximum + else if ( selectedAggregationType === "Maximum" && selectedAggregationDuration === "Monthly" ) { - // Formatted observations and metadata for chart - monthly / maximum - const [ - formattedObservationsMaximumMonthlyNestedArr, - extractedFormattedDatastreamProperties, - ] = calculateAndFormatMonthlyMaximumObservations( - uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, - selectedSamplingRateAbbrev, - formattedMetadataNestedArr - ); - drawLineChartHighcharts( - formattedObservationsMaximumMonthlyNestedArr, - extractedFormattedDatastreamProperties + ...calculateAndFormatMonthlyMaximumObservations( + uniqueCalendarDatesNestedArr, + observationsNestedArr, + selectedSamplingRateAbbrev, + formattedMetadataNestedArr + ) ); - } else if ( + } + // Daily / minimum + else if ( selectedAggregationType === "Minimum" && selectedAggregationDuration === "Daily" ) { - // Formatted observations and metadata for chart - daily / minimum - const [ - formattedObservationsMinimumDailyNestedArr, - extractedFormattedDatastreamProperties, - ] = calculateAndFormatDailyMinimumObservations( - uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, - selectedSamplingRateAbbrev, - formattedMetadataNestedArr - ); - drawLineChartHighcharts( - formattedObservationsMinimumDailyNestedArr, - extractedFormattedDatastreamProperties + ...calculateAndFormatDailyMinimumObservations( + uniqueCalendarDatesNestedArr, + observationsNestedArr, + selectedSamplingRateAbbrev, + formattedMetadataNestedArr + ) ); - } else if ( + } + // Monthly / minimum + else if ( selectedAggregationType === "Minimum" && selectedAggregationDuration === "Monthly" ) { - // Formatted observations and metadata for chart - monthly / minimum - const [ - formattedObservationsMinimumMonthlyNestedArr, - extractedFormattedDatastreamProperties, - ] = calculateAndFormatMonthlyMinimumObservations( - uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, - selectedSamplingRateAbbrev, - formattedMetadataNestedArr - ); - drawLineChartHighcharts( - formattedObservationsMinimumMonthlyNestedArr, - extractedFormattedDatastreamProperties + ...calculateAndFormatMonthlyMinimumObservations( + uniqueCalendarDatesNestedArr, + observationsNestedArr, + selectedSamplingRateAbbrev, + formattedMetadataNestedArr + ) ); - } else if ( + } + // Daily / average + else if ( selectedAggregationType === "Average" && selectedAggregationDuration === "Daily" ) { - // Formatted observations and metadata for chart - daily / average - const [ - formattedObservationsAverageDailyNestedArr, - extractedFormattedDatastreamProperties, - ] = calculateAndFormatDailyAverageObservations( - uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, - selectedSamplingRateAbbrev, - formattedMetadataNestedArr - ); - drawLineChartHighcharts( - formattedObservationsAverageDailyNestedArr, - extractedFormattedDatastreamProperties + ...calculateAndFormatDailyAverageObservations( + uniqueCalendarDatesNestedArr, + observationsNestedArr, + selectedSamplingRateAbbrev, + formattedMetadataNestedArr + ) ); - } else if ( + } + // Monthly / average + else if ( selectedAggregationType === "Average" && selectedAggregationDuration === "Monthly" ) { - // Formatted observations and metadata for chart - monthly / average - const [ - formattedObservationsAverageMonthlyNestedArr, - extractedFormattedDatastreamProperties, - ] = calculateAndFormatMonthlyAverageObservations( - uniqueCalendarDatesNestedArr, - observationsAggregationNestedArr, - selectedSamplingRateAbbrev, - formattedMetadataNestedArr - ); - drawLineChartHighcharts( - formattedObservationsAverageMonthlyNestedArr, - extractedFormattedDatastreamProperties + ...calculateAndFormatMonthlyAverageObservations( + uniqueCalendarDatesNestedArr, + observationsNestedArr, + selectedSamplingRateAbbrev, + formattedMetadataNestedArr + ) ); } };