diff --git a/public/js/dropDownList.js b/public/js/dropDownList.js index c63e6c6160358f54ca44d88d0ad5b1ba6b1306d9..f02ff4bb39b4ff14256282fa2221e59104e7df55 100644 --- a/public/js/dropDownList.js +++ b/public/js/dropDownList.js @@ -173,6 +173,13 @@ const getSelectedOptionsFromDropDownLists = function () { "#drop-down--sampling-rate" ).value; + if ( + selectedBuilding === "--Select--" || + selectedSensor === "" || + selectedSamplingRate === "" + ) + return; + return [selectedBuilding, selectedSensor, selectedSamplingRate]; }; @@ -223,10 +230,12 @@ const getBuildingSensorSamplingRateAbbreviation = function ( return [buildingAbbrev, phenomenonAbbrev, samplingRateAbbrev]; }; -const runFromOptionThree = async function () { +const selectChartTypeFromDropDown = async function () { try { const selectedOptions = getSelectedOptionsFromDropDownLists(); + if (selectedOptions === undefined) return; + const abbreviationsArr = getBuildingSensorSamplingRateAbbreviation( ...selectedOptions ); @@ -235,6 +244,12 @@ const runFromOptionThree = async function () { ...abbreviationsArr ); + const selectedChartType = document.querySelector( + "#drop-down--chart-type" + ).value; + + if (selectedChartType === "--Select--") return; + const URL_DATASTREAM = getDatastreamUrl(BASE_URL, selectedDatastream); const URL_OBSERVATIONS = getObservationsUrl(BASE_URL, selectedDatastream); @@ -255,15 +270,17 @@ const runFromOptionThree = async function () { const combinedObs = metadataPlusObservations[0]; const datastreamMetadata = metadataPlusObservations[1]; - drawLineChartHC( - formatSTAResponseForLineChart(combinedObs), - formatDatastreamMetadataForChart(datastreamMetadata) - ); - - drawHeatMapHC( - formatSTAResponseForHeatMap(combinedObs), - formatDatastreamMetadataForChart(datastreamMetadata) - ); + if (selectedChartType === "Line") { + drawLineChartHC( + formatSTAResponseForLineChart(combinedObs), + formatDatastreamMetadataForChart(datastreamMetadata) + ); + } else if (selectedChartType === "Heatmap") { + drawHeatMapHC( + formatSTAResponseForHeatMap(combinedObs), + formatDatastreamMetadataForChart(datastreamMetadata) + ); + } } catch (err) { console.error(err); } @@ -271,4 +288,4 @@ const runFromOptionThree = async function () { document .querySelector("#drop-down--chart-type") - .addEventListener("change", runFromOptionThree); + .addEventListener("change", selectChartTypeFromDropDown);