dropDownListChartHeatmap.mjs 1.15 KB
Newer Older
1
2
"use strict";

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import {
  formatSensorThingsApiResponseForHeatMap,
  drawHeatMapHighcharts,
} from "./chartHeatmap.mjs";

/**
 * Draw a heatmap based on the selected options from a drop-down list
 *
 * @param {Array} observationsComboNestedArr An array that contains non-computed (raw) observations and computed (temperature difference, dT) observations
 * @param {Object} extractedFormattedDatastreamProperties An object that contains array(s) of formatted Datastream properties
 * @returns {undefined} undefined
 */
export const drawHeatmapBasedOnSelectedOptions = function (
  observationsComboNestedArr,
  extractedFormattedDatastreamProperties
) {
  // Create formatted array of observations
  const formattedObservationsHeatMapNestedArr = observationsComboNestedArr.map(
    (observationsArr) =>
      formatSensorThingsApiResponseForHeatMap(observationsArr)
  );

  // Note: The resulting array is nested and is not suitable for heatmap,
  // extract the nested array
  const [formattedObservationsHeatMapArr] =
    formattedObservationsHeatMapNestedArr;

  drawHeatMapHighcharts(
    formattedObservationsHeatMapArr,
    extractedFormattedDatastreamProperties
  );
};