diff --git a/web/components/visualization/results-section.js b/web/components/visualization/results-section.js index e1d76348f9a0d19c9467f3335a158e395174bb93..0c3d7fa6c07c9489b32832ee82685886081d7ee4 100644 --- a/web/components/visualization/results-section.js +++ b/web/components/visualization/results-section.js @@ -99,30 +99,18 @@ class ResultComponent { document.getElementById("areas").setAttribute("class", ""); document.getElementById("general").setAttribute("class", "is-active"); }); - document - .getElementById("areas") - .addEventListener("click", async function () { - document.getElementById("results-zone").style.display = "flex"; - document.getElementById("results-general").style.display = "none"; - resultHandler.zone = "areas"; - await resultHandler.calculateResults(); - resultHandler.resultsZone.displayResults(); - document.getElementById("sections").setAttribute("class", ""); - document.getElementById("general").setAttribute("class", ""); - document.getElementById("areas").setAttribute("class", "is-active"); - }); - document - .getElementById("sections") - .addEventListener("click", async function () { - document.getElementById("results-zone").style.display = "flex"; - document.getElementById("results-general").style.display = "none"; - resultHandler.zone = "sections"; - await resultHandler.calculateResults(); - resultHandler.resultsZone.displayResults(); - document.getElementById("areas").setAttribute("class", ""); - document.getElementById("general").setAttribute("class", ""); - document.getElementById("sections").setAttribute("class", "is-active"); - }); + document.getElementById("areas").addEventListener("click", async () => { + resultHandler.zone = "areas"; + await this.hideGeneralSection(); + document.getElementById("sections").setAttribute("class", ""); + document.getElementById("areas").setAttribute("class", "is-active"); + }); + document.getElementById("sections").addEventListener("click", async () => { + resultHandler.zone = "sections"; + await this.hideGeneralSection(); + document.getElementById("areas").setAttribute("class", ""); + document.getElementById("sections").setAttribute("class", "is-active"); + }); let radioButtons = document.getElementsByName("filter"); for (var i = 0; i < radioButtons.length; i++) { @@ -140,6 +128,15 @@ class ResultComponent { }, 10000); } + async hideGeneralSection() { + let resultHandler = this; + document.getElementById("general").setAttribute("class", ""); + document.getElementById("results-zone").style.display = "flex"; + document.getElementById("results-general").style.display = "none"; + await resultHandler.calculateResults(); + await resultHandler.resultsZone.displayResults(); + } + async calculateResults() { this.filter = document.querySelector('input[name="filter"]:checked').value; this.results = await this.calculator.calculateResults(this.filter);