diff client/src/store/gauges.js @ 2791:2b79c0871138

client: spuc8: draw diagrams The line and area charts from spuc 8 are being drawn but there's a lot missing like tooltips and toggeling individual charts.
author Markus Kottlaender <markus@intevation.de>
date Mon, 25 Mar 2019 12:07:00 +0100
parents 2feb9f8f6c66
children 16d08532c420
line wrap: on
line diff
--- a/client/src/store/gauges.js	Mon Mar 25 11:42:31 2019 +0100
+++ b/client/src/store/gauges.js	Mon Mar 25 12:07:00 2019 +0100
@@ -137,26 +137,36 @@
           });
       });
     },
-    loadMeanWaterlevels({ /*state,*/ commit }) {
-      return new Promise(resolve => {
-        setTimeout(() => {
-          commit("meanWaterlevels", [1]);
-          resolve();
-        }, 2000);
+    loadMeanWaterlevels({ state, commit }) {
+      return new Promise((resolve, reject) => {
+        HTTP.get(`/data/average-waterlevels/${state.selectedGaugeISRS}`, {
+          headers: { "X-Gemma-Auth": localStorage.getItem("token") }
+        })
+          .then(response => {
+            let data = response.data
+              .split("\n")
+              .filter((wl, i) => wl && i) // remove empty rows and first row
+              .map(wl => {
+                wl = wl.split(",");
+                return {
+                  date: new Date(wl[0]),
+                  min: Number(wl[1]),
+                  max: Number(wl[2]),
+                  mean: Number(wl[3]),
+                  median: Number(wl[4]),
+                  q25: Number(wl[5]),
+                  q75: Number(wl[6])
+                };
+              });
+            data = data.sort((a, b) => a.date - b.date);
+            commit("meanWaterlevels", data);
+            resolve(data);
+          })
+          .catch(error => {
+            commit("meanWaterlevels", []);
+            reject(error);
+          });
       });
-      // return new Promise((resolve, reject) => {
-      //   HTTP.get(`/data/mean-waterlevels/${state.selectedGaugeISRS}`, {
-      //     headers: { "X-Gemma-Auth": localStorage.getItem("token") }
-      //   })
-      //     .then(response => {
-      //       commit("meanWaterlevels", response.data);
-      //       resolve(response.data);
-      //     })
-      //     .catch(error => {
-      //       commit("meanWaterlevels", []);
-      //       reject(error);
-      //     })
-      // });
     },
     loadNashSutcliffe({ state, commit }) {
       return new Promise((resolve, reject) => {