Commit 5993e897 authored by Pithon Kabiro's avatar Pithon Kabiro
Browse files

Edit function: draw line chart based on selection

Use spread operator to replace the references that contain the values
for the formatted observations and formatted metadata
parent 2c77d957
...@@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP ...@@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP
* Calculate the daily average of observations and format these aggregated observations * 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} 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 {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 * @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 * @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 ( const calculateAndFormatDailyAverageObservations = function (
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
) { ) {
// Calculate AVERAGE / DAILY of values of observations // Calculate AVERAGE / DAILY of values of observations
const observationsAverageDailyNestedArr = const observationsAverageDailyNestedArr =
calculateAverageOfObservationValuesWithinInterval( calculateAverageOfObservationValuesWithinInterval(
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
"daily" "daily"
...@@ -61,14 +61,14 @@ const calculateAndFormatDailyAverageObservations = function ( ...@@ -61,14 +61,14 @@ const calculateAndFormatDailyAverageObservations = function (
* Calculate the monthly average of observations and format these aggregated observations * 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} 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 {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 * @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 * @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 ( const calculateAndFormatMonthlyAverageObservations = function (
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
) { ) {
...@@ -81,7 +81,7 @@ const calculateAndFormatMonthlyAverageObservations = function ( ...@@ -81,7 +81,7 @@ const calculateAndFormatMonthlyAverageObservations = function (
// Calculate AVERAGE / MONTHLY of values of observations // Calculate AVERAGE / MONTHLY of values of observations
const observationsAverageMonthlyNestedArr = const observationsAverageMonthlyNestedArr =
calculateAverageOfObservationValuesWithinInterval( calculateAverageOfObservationValuesWithinInterval(
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
uniqueCalendarMonthsNestedArr, uniqueCalendarMonthsNestedArr,
"monthly" "monthly"
......
...@@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP ...@@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP
* Calculate the daily maximum of observations and format these aggregated observations * 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} 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 {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 * @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 * @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 ( const calculateAndFormatDailyMaximumObservations = function (
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
) { ) {
// Calculate MAXIMUM / DAILY of values of observations // Calculate MAXIMUM / DAILY of values of observations
const observationsMaximumDailyNestedArr = const observationsMaximumDailyNestedArr =
calculateMaximumObservationValuesWithinInterval( calculateMaximumObservationValuesWithinInterval(
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
"daily" "daily"
...@@ -61,14 +61,14 @@ const calculateAndFormatDailyMaximumObservations = function ( ...@@ -61,14 +61,14 @@ const calculateAndFormatDailyMaximumObservations = function (
* Calculate the monthly maximum of observations and format these aggregated observations * 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} 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 {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 * @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 * @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 ( const calculateAndFormatMonthlyMaximumObservations = function (
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
) { ) {
...@@ -81,7 +81,7 @@ const calculateAndFormatMonthlyMaximumObservations = function ( ...@@ -81,7 +81,7 @@ const calculateAndFormatMonthlyMaximumObservations = function (
// Calculate MAXIMUM / MONTHLY of values of observations // Calculate MAXIMUM / MONTHLY of values of observations
const observationsMaximumMonthlyNestedArr = const observationsMaximumMonthlyNestedArr =
calculateMaximumObservationValuesWithinInterval( calculateMaximumObservationValuesWithinInterval(
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
uniqueCalendarMonthsNestedArr, uniqueCalendarMonthsNestedArr,
"monthly" "monthly"
......
...@@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP ...@@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP
* Calculate the daily minimum of observations and format these aggregated observations * 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} 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 {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 * @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 * @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 ( const calculateAndFormatDailyMinimumObservations = function (
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
) { ) {
// Calculate MINIMUM / DAILY of values of observations // Calculate MINIMUM / DAILY of values of observations
const observationsMinimumDailyNestedArr = const observationsMinimumDailyNestedArr =
calculateMinimumObservationValuesWithinInterval( calculateMinimumObservationValuesWithinInterval(
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
"daily" "daily"
...@@ -61,14 +61,14 @@ const calculateAndFormatDailyMinimumObservations = function ( ...@@ -61,14 +61,14 @@ const calculateAndFormatDailyMinimumObservations = function (
* Calculate the monthly minimum of observations and format these aggregated observations * 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} 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 {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 * @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 * @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 ( const calculateAndFormatMonthlyMinimumObservations = function (
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
) { ) {
...@@ -81,7 +81,7 @@ const calculateAndFormatMonthlyMinimumObservations = function ( ...@@ -81,7 +81,7 @@ const calculateAndFormatMonthlyMinimumObservations = function (
// Calculate MINIMUM / MONTHLY of values of observations // Calculate MINIMUM / MONTHLY of values of observations
const observationsMinimumMonthlyNestedArr = const observationsMinimumMonthlyNestedArr =
calculateMinimumObservationValuesWithinInterval( calculateMinimumObservationValuesWithinInterval(
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
uniqueCalendarMonthsNestedArr, uniqueCalendarMonthsNestedArr,
"monthly" "monthly"
......
...@@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP ...@@ -13,21 +13,21 @@ import { extractPropertiesFromFormattedDatastreamMetadata } from "./fetchedDataP
* Calculate the daily sum of observations and format these aggregated observations * 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} 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 {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 * @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 * @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 ( const calculateAndFormatDailySumObservations = function (
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
) { ) {
// Calculate SUM / DAILY of values of observations // Calculate SUM / DAILY of values of observations
const observationsSumDailyNestedArr = const observationsSumDailyNestedArr =
calculateSumOfObservationValuesWithinInterval( calculateSumOfObservationValuesWithinInterval(
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
"daily" "daily"
...@@ -61,14 +61,14 @@ const calculateAndFormatDailySumObservations = function ( ...@@ -61,14 +61,14 @@ const calculateAndFormatDailySumObservations = function (
* Calculate the monthly sum of observations and format these aggregated observations * 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} 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 {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 * @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 * @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 ( const calculateAndFormatMonthlySumObservations = function (
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
) { ) {
...@@ -81,7 +81,7 @@ const calculateAndFormatMonthlySumObservations = function ( ...@@ -81,7 +81,7 @@ const calculateAndFormatMonthlySumObservations = function (
// Calculate SUM / MONTHLY of values of observations // Calculate SUM / MONTHLY of values of observations
const observationsSumMonthlyNestedArr = const observationsSumMonthlyNestedArr =
calculateSumOfObservationValuesWithinInterval( calculateSumOfObservationValuesWithinInterval(
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
uniqueCalendarMonthsNestedArr, uniqueCalendarMonthsNestedArr,
"monthly" "monthly"
......
...@@ -27,31 +27,31 @@ import { ...@@ -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} 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 {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 {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} 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 * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties
* @returns {undefined} undefined * @returns {undefined} undefined
*/ */
export const drawColumnChartBasedOnSelectedAggregationOptions = function ( export const drawColumnChartBasedOnSelectedAggregationOptions = function (
selectedAggregationTypeArr, selectedAggregationType,
selectedAggregationDuration, selectedAggregationDuration,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
formattedMetadataNestedArr formattedMetadataNestedArr
) { ) {
// Daily / sum
if ( if (
selectedAggregationTypeArr === "Sum" && selectedAggregationType === "Sum" &&
selectedAggregationDuration === "Daily" selectedAggregationDuration === "Daily"
) { ) {
// Formatted observations and metadata for chart - daily / sum
const [ const [
formattedObservationsSumDailyNestedArr, formattedObservationsSumDailyNestedArr,
extractedFormattedDatastreamProperties, extractedFormattedDatastreamProperties,
] = calculateAndFormatDailySumObservations( ] = calculateAndFormatDailySumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
); );
...@@ -60,17 +60,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( ...@@ -60,17 +60,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function (
formattedObservationsSumDailyNestedArr, formattedObservationsSumDailyNestedArr,
extractedFormattedDatastreamProperties extractedFormattedDatastreamProperties
); );
} else if ( }
selectedAggregationTypeArr === "Sum" && // Monthly / sum
else if (
selectedAggregationType === "Sum" &&
selectedAggregationDuration === "Monthly" selectedAggregationDuration === "Monthly"
) { ) {
// Formatted observations and metadata for chart - monthly / sum
const [ const [
formattedObservationsSumMonthlyNestedArr, formattedObservationsSumMonthlyNestedArr,
extractedFormattedDatastreamProperties, extractedFormattedDatastreamProperties,
] = calculateAndFormatMonthlySumObservations( ] = calculateAndFormatMonthlySumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
); );
...@@ -79,8 +80,10 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( ...@@ -79,8 +80,10 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function (
formattedObservationsSumMonthlyNestedArr, formattedObservationsSumMonthlyNestedArr,
extractedFormattedDatastreamProperties extractedFormattedDatastreamProperties
); );
} else if ( }
selectedAggregationTypeArr === "Maximum" && // Daily / maximum
else if (
selectedAggregationType === "Maximum" &&
selectedAggregationDuration === "Daily" selectedAggregationDuration === "Daily"
) { ) {
// Formatted observations and metadata for chart - daily / maximum // Formatted observations and metadata for chart - daily / maximum
...@@ -89,7 +92,7 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( ...@@ -89,7 +92,7 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function (
extractedFormattedDatastreamProperties, extractedFormattedDatastreamProperties,
] = calculateAndFormatDailyMaximumObservations( ] = calculateAndFormatDailyMaximumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
); );
...@@ -98,17 +101,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( ...@@ -98,17 +101,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function (
formattedObservationsMaximumDailyNestedArr, formattedObservationsMaximumDailyNestedArr,
extractedFormattedDatastreamProperties extractedFormattedDatastreamProperties
); );
} else if ( }
selectedAggregationTypeArr === "Maximum" && // Monthly / maximum
else if (
selectedAggregationType === "Maximum" &&
selectedAggregationDuration === "Monthly" selectedAggregationDuration === "Monthly"
) { ) {
// Formatted observations and metadata for chart - monthly / maximum
const [ const [
formattedObservationsMaximumMonthlyNestedArr, formattedObservationsMaximumMonthlyNestedArr,
extractedFormattedDatastreamProperties, extractedFormattedDatastreamProperties,
] = calculateAndFormatMonthlyMaximumObservations( ] = calculateAndFormatMonthlyMaximumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
); );
...@@ -117,8 +121,10 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( ...@@ -117,8 +121,10 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function (
formattedObservationsMaximumMonthlyNestedArr, formattedObservationsMaximumMonthlyNestedArr,
extractedFormattedDatastreamProperties extractedFormattedDatastreamProperties
); );
} else if ( }
selectedAggregationTypeArr === "Minimum" && // Daily / minimum
else if (
selectedAggregationType === "Minimum" &&
selectedAggregationDuration === "Daily" selectedAggregationDuration === "Daily"
) { ) {
// Formatted observations and metadata for chart - daily / minimum // Formatted observations and metadata for chart - daily / minimum
...@@ -127,7 +133,7 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( ...@@ -127,7 +133,7 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function (
extractedFormattedDatastreamProperties, extractedFormattedDatastreamProperties,
] = calculateAndFormatDailyMinimumObservations( ] = calculateAndFormatDailyMinimumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
); );
...@@ -136,17 +142,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( ...@@ -136,17 +142,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function (
formattedObservationsMinimumDailyNestedArr, formattedObservationsMinimumDailyNestedArr,
extractedFormattedDatastreamProperties extractedFormattedDatastreamProperties
); );
} else if ( }
selectedAggregationTypeArr === "Minimum" && // Monthly / minimum
else if (
selectedAggregationType === "Minimum" &&
selectedAggregationDuration === "Monthly" selectedAggregationDuration === "Monthly"
) { ) {
// Formatted observations and metadata for chart - monthly / minimum
const [ const [
formattedObservationsMinimumMonthlyNestedArr, formattedObservationsMinimumMonthlyNestedArr,
extractedFormattedDatastreamProperties, extractedFormattedDatastreamProperties,
] = calculateAndFormatMonthlyMinimumObservations( ] = calculateAndFormatMonthlyMinimumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
); );
...@@ -155,17 +162,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( ...@@ -155,17 +162,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function (
formattedObservationsMinimumMonthlyNestedArr, formattedObservationsMinimumMonthlyNestedArr,
extractedFormattedDatastreamProperties extractedFormattedDatastreamProperties
); );
} else if ( }
selectedAggregationTypeArr === "Average" && // Daily / average
else if (
selectedAggregationType === "Average" &&
selectedAggregationDuration === "Daily" selectedAggregationDuration === "Daily"
) { ) {
// Formatted observations and metadata for chart - daily / average
const [ const [
formattedObservationsAverageDailyNestedArr, formattedObservationsAverageDailyNestedArr,
extractedFormattedDatastreamProperties, extractedFormattedDatastreamProperties,
] = calculateAndFormatDailyAverageObservations( ] = calculateAndFormatDailyAverageObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
); );
...@@ -174,17 +182,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function ( ...@@ -174,17 +182,18 @@ export const drawColumnChartBasedOnSelectedAggregationOptions = function (
formattedObservationsAverageDailyNestedArr, formattedObservationsAverageDailyNestedArr,
extractedFormattedDatastreamProperties extractedFormattedDatastreamProperties
); );
} else if ( }
selectedAggregationTypeArr === "Average" && // Monthly / average
else if (
selectedAggregationType === "Average" &&
selectedAggregationDuration === "Monthly" selectedAggregationDuration === "Monthly"
) { ) {
// Formatted observations and metadata for chart - monthly / average
const [ const [
formattedObservationsAverageMonthlyNestedArr, formattedObservationsAverageMonthlyNestedArr,
extractedFormattedDatastreamProperties, extractedFormattedDatastreamProperties,
] = calculateAndFormatMonthlyAverageObservations( ] = calculateAndFormatMonthlyAverageObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
); );
......
...@@ -27,7 +27,7 @@ import { ...@@ -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} 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 {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 {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} 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 * @param {Array} formattedMetadataNestedArr An array of sub-arrays of formatted metadata properties
...@@ -36,162 +36,124 @@ import { ...@@ -36,162 +36,124 @@ import {
export const drawLineChartBasedOnSelectedAggregationOptions = function ( export const drawLineChartBasedOnSelectedAggregationOptions = function (
selectedAggregationType, selectedAggregationType,
selectedAggregationDuration, selectedAggregationDuration,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
formattedMetadataNestedArr formattedMetadataNestedArr
) { ) {
// Daily / sum
if ( if (
selectedAggregationType === "Sum" && selectedAggregationType === "Sum" &&
selectedAggregationDuration === "Daily" selectedAggregationDuration === "Daily"
) { ) {
// Formatted observations and metadata for chart - daily / sum // Note: The `drawColumChart` function expects two arguments,
const [ // these are obtained by using the spread operator on the
formattedObservationsSumDailyNestedArr, // result returned from the `calculateAndFormat...` functions
extractedFormattedDatastreamProperties, drawLineChartHighcharts(
] = calculateAndFormatDailySumObservations( ...calculateAndFormatDailySumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
)
); );
}
drawLineChartHighcharts( // Monthly / sum
formattedObservationsSumDailyNestedArr, else if (
extractedFormattedDatastreamProperties
);
} else if (
selectedAggregationType === "Sum" && selectedAggregationType === "Sum" &&
selectedAggregationDuration === "Monthly" selectedAggregationDuration === "Monthly"
) { ) {
// Formatted observations and metadata for chart - monthly / sum drawLineChartHighcharts(
const [ ...calculateAndFormatMonthlySumObservations(
formattedObservationsSumMonthlyNestedArr,
extractedFormattedDatastreamProperties,
] = calculateAndFormatMonthlySumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
)
); );
}
drawLineChartHighcharts( // Daily / maximum
formattedObservationsSumMonthlyNestedArr, else if (
extractedFormattedDatastreamProperties
);
} else if (
selectedAggregationType === "Maximum" && selectedAggregationType === "Maximum" &&
selectedAggregationDuration === "Daily" selectedAggregationDuration === "Daily"
) { ) {
// Formatted observations and metadata for chart - daily / maximum drawLineChartHighcharts(
const [ ...calculateAndFormatDailyMaximumObservations(
formattedObservationsMaximumDailyNestedArr,
extractedFormattedDatastreamProperties,
] = calculateAndFormatDailyMaximumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
)
); );
}
drawLineChartHighcharts( // Monthly / maximum
formattedObservationsMaximumDailyNestedArr, else if (
extractedFormattedDatastreamProperties
);
} else if (
selectedAggregationType === "Maximum" && selectedAggregationType === "Maximum" &&
selectedAggregationDuration === "Monthly" selectedAggregationDuration === "Monthly"
) { ) {
// Formatted observations and metadata for chart - monthly / maximum drawLineChartHighcharts(
const [ ...calculateAndFormatMonthlyMaximumObservations(
formattedObservationsMaximumMonthlyNestedArr,
extractedFormattedDatastreamProperties,
] = calculateAndFormatMonthlyMaximumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
)
); );
}
drawLineChartHighcharts( // Daily / minimum
formattedObservationsMaximumMonthlyNestedArr, else if (
extractedFormattedDatastreamProperties
);
} else if (
selectedAggregationType === "Minimum" && selectedAggregationType === "Minimum" &&
selectedAggregationDuration === "Daily" selectedAggregationDuration === "Daily"
) { ) {
// Formatted observations and metadata for chart - daily / minimum drawLineChartHighcharts(
const [ ...calculateAndFormatDailyMinimumObservations(
formattedObservationsMinimumDailyNestedArr,
extractedFormattedDatastreamProperties,
] = calculateAndFormatDailyMinimumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
)
); );
}
drawLineChartHighcharts( // Monthly / minimum
formattedObservationsMinimumDailyNestedArr, else if (
extractedFormattedDatastreamProperties
);
} else if (
selectedAggregationType === "Minimum" && selectedAggregationType === "Minimum" &&
selectedAggregationDuration === "Monthly" selectedAggregationDuration === "Monthly"
) { ) {
// Formatted observations and metadata for chart - monthly / minimum drawLineChartHighcharts(
const [ ...calculateAndFormatMonthlyMinimumObservations(
formattedObservationsMinimumMonthlyNestedArr,
extractedFormattedDatastreamProperties,
] = calculateAndFormatMonthlyMinimumObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
)
); );
}
drawLineChartHighcharts( // Daily / average
formattedObservationsMinimumMonthlyNestedArr, else if (
extractedFormattedDatastreamProperties
);
} else if (
selectedAggregationType === "Average" && selectedAggregationType === "Average" &&
selectedAggregationDuration === "Daily" selectedAggregationDuration === "Daily"
) { ) {
// Formatted observations and metadata for chart - daily / average drawLineChartHighcharts(
const [ ...calculateAndFormatDailyAverageObservations(
formattedObservationsAverageDailyNestedArr,
extractedFormattedDatastreamProperties,
] = calculateAndFormatDailyAverageObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
)
); );
}
drawLineChartHighcharts( // Monthly / average
formattedObservationsAverageDailyNestedArr, else if (
extractedFormattedDatastreamProperties
);
} else if (
selectedAggregationType === "Average" && selectedAggregationType === "Average" &&
selectedAggregationDuration === "Monthly" selectedAggregationDuration === "Monthly"
) { ) {
// Formatted observations and metadata for chart - monthly / average drawLineChartHighcharts(
const [ ...calculateAndFormatMonthlyAverageObservations(
formattedObservationsAverageMonthlyNestedArr,
extractedFormattedDatastreamProperties,
] = calculateAndFormatMonthlyAverageObservations(
uniqueCalendarDatesNestedArr, uniqueCalendarDatesNestedArr,
observationsAggregationNestedArr, observationsNestedArr,
selectedSamplingRateAbbrev, selectedSamplingRateAbbrev,
formattedMetadataNestedArr formattedMetadataNestedArr
); )
drawLineChartHighcharts(
formattedObservationsAverageMonthlyNestedArr,
extractedFormattedDatastreamProperties
); );
} }
}; };
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment