Mercurial > gemma
diff client/src/store/gauges.js @ 2813:49c1570919ae
client: spuc8: use new endpoints to fetch year based and longterm waterlevel data
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Tue, 26 Mar 2019 14:05:54 +0100 |
parents | 16d08532c420 |
children | 12f053763be2 |
line wrap: on
line diff
--- a/client/src/store/gauges.js Tue Mar 26 13:03:10 2019 +0100 +++ b/client/src/store/gauges.js Tue Mar 26 14:05:54 2019 +0100 @@ -25,7 +25,8 @@ gauges: [], selectedGaugeISRS: null, waterlevels: [], - meanWaterlevels: [], + longtermWaterlevels: [], + yearWaterlevels: [], nashSutcliffe: null, dateFrom: dateFrom, dateTo: dateTo @@ -53,8 +54,11 @@ waterlevels: (state, data) => { state.waterlevels = data; }, - meanWaterlevels: (state, data) => { - state.meanWaterlevels = data; + longtermWaterlevels: (state, data) => { + state.longtermWaterlevels = data; + }, + yearWaterlevels: (state, data) => { + state.yearWaterlevels = data; }, nashSutcliffe: (state, data) => { state.nashSutcliffe = data; @@ -139,19 +143,26 @@ }); }); }, - loadMeanWaterlevels({ state, commit }) { + loadLongtermWaterlevels({ state, commit }) { return new Promise((resolve, reject) => { - HTTP.get(`/data/average-waterlevels/${state.selectedGaugeISRS}`, { + HTTP.get(`/data/longterm-waterlevels/${state.selectedGaugeISRS}`, { headers: { "X-Gemma-Auth": localStorage.getItem("token") } }) .then(response => { + const now = new Date(); let data = response.data .split("\n") .filter((wl, i) => wl && i) // remove empty rows and first row .map(wl => { wl = wl.split(","); + let dayAndMonth = wl[0].split("-").map(n => Number(n)); + let date = new Date( + now.getFullYear(), + dayAndMonth[1] - 1, + dayAndMonth[0] + ); return { - date: new Date(wl[0]), + date: date, min: Number(wl[1]), max: Number(wl[2]), mean: Number(wl[3]), @@ -161,11 +172,49 @@ }; }); data = data.sort((a, b) => a.date - b.date); - commit("meanWaterlevels", data); + commit("longtermWaterlevels", data); resolve(data); }) .catch(error => { - commit("meanWaterlevels", []); + commit("longtermWaterlevels", []); + reject(error); + }); + }); + }, + loadYearWaterlevels({ state, commit }, year) { + return new Promise((resolve, reject) => { + HTTP.get(`/data/year-waterlevels/${state.selectedGaugeISRS}/${year}`, { + headers: { "X-Gemma-Auth": localStorage.getItem("token") } + }) + .then(response => { + const now = new Date(); + let data = response.data + .split("\n") + .filter((wl, i) => wl && i) // remove empty rows and first row + .map(wl => { + wl = wl.split(","); + let dayAndMonth = wl[0].split("-").map(n => Number(n)); + let date = new Date( + now.getFullYear(), + dayAndMonth[1] - 1, + dayAndMonth[0] + ); + return { + date: date, + 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("yearWaterlevels", data); + resolve(data); + }) + .catch(error => { + commit("yearWaterlevels", []); reject(error); }); });