Mercurial > gemma
diff client/src/store/bottlenecks.js @ 1372:553aadd97087
new cross profile workflow (WIP)
Needs fixing of some bugs and not so nice looks.
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Tue, 27 Nov 2018 12:59:26 +0100 |
parents | d0c4d17ee7ab |
children | 752b6bb2bee5 |
line wrap: on
line diff
--- a/client/src/store/bottlenecks.js Tue Nov 27 12:49:53 2018 +0100 +++ b/client/src/store/bottlenecks.js Tue Nov 27 12:59:26 2018 +0100 @@ -22,7 +22,8 @@ bottlenecks: [], selectedBottleneck: null, surveys: [], - selectedSurvey: null + selectedSurvey: null, + surveysLoading: false }; }; @@ -42,6 +43,9 @@ }, setSelectedSurvey(state, survey) { state.selectedSurvey = survey; + }, + surveysLoading: (state, loading) => { + state.surveysLoading = loading; } }, actions: { @@ -50,6 +54,9 @@ commit("setSelectedSurvey", null); commit("fairwayprofile/clearCurrentProfile", null, { root: true }); } + if (name) { + commit("application/showProfiles", true, { root: true }); + } commit("setSelectedBottleneck", name); dispatch("querySurveys", name); }, @@ -79,6 +86,7 @@ }, querySurveys({ commit }, name) { if (name) { + commit("surveysLoading", true); HTTP.get("/surveys/" + name, { headers: { "X-Gemma-Auth": localStorage.getItem("token"), @@ -86,16 +94,22 @@ } }) .then(response => { - commit("setSurveys", response.data.surveys); + const surveys = response.data.surveys.sort( + (a, b) => (a.date_info < b.date_info ? 1 : -1) + ); + commit("setSelectedSurvey", surveys[0]); + commit("setSurveys", surveys); }) .catch(error => { commit("setSurveys", []); + commit("setSelectedSurvey", null); const { status, data } = error.response; displayError({ title: "Backend Error", message: `${status}: ${data.message || data}` }); - }); + }) + .finally(() => commit("surveysLoading", false)); } else { commit("setSurveys", []); }