Mercurial > gemma
view client/src/store/bottlenecks.js @ 1443:6b100f639178
removed blue borders from fairwayprofile and infobar
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Fri, 30 Nov 2018 13:20:26 +0100 |
parents | b350b0b5cb6c |
children | 9b81ac91a43e |
line wrap: on
line source
/* This is Free Software under GNU Affero General Public License v >= 3.0 * without warranty, see README.md and license for details. * * SPDX-License-Identifier: AGPL-3.0-or-later * License-Filename: LICENSES/AGPL-3.0.txt * * Copyright (C) 2018 by via donau * – Österreichische Wasserstraßen-Gesellschaft mbH * Software engineering by Intevation GmbH * * Author(s): * Markus Kottländer <markuks.kottlaender@intevation.de> * Thomas Junk <thomas.junk@intevation.de> */ import { HTTP } from "../lib/http"; import { WFS } from "ol/format.js"; import { displayError } from "../lib/errors.js"; // initial state const init = () => { return { bottlenecks: [], selectedBottleneck: null, surveys: [], selectedSurvey: null, surveysLoading: false }; }; export default { init, namespaced: true, state: init(), mutations: { setBottlenecks: (state, bottlenecks) => { state.bottlenecks = bottlenecks; }, setSelectedBottleneck: (state, name) => { state.selectedBottleneck = name; }, setSurveys(state, surveys) { state.surveys = surveys; }, selectedSurvey(state, survey) { state.selectedSurvey = survey; }, surveysLoading: (state, loading) => { state.surveysLoading = loading; } }, actions: { setSelectedBottleneck( { state, commit, dispatch, rootState, rootGetters }, name ) { if (name !== state.selectedBottleneck) { commit("selectedSurvey", null); commit("fairwayprofile/clearCurrentProfile", null, { root: true }); commit("application/showSplitscreen", false, { root: true }); rootState.map.cutTool.setActive(false); rootGetters["map/getVSourceByName"]("Cut Tool").clear(); } if (name) { commit("application/showProfiles", true, { root: true }); } commit("setSelectedBottleneck", name); dispatch("querySurveys", name); }, loadBottlenecks({ commit }) { var bottleneckFeatureCollectionRequest = new WFS().writeGetFeature({ srsName: "EPSG:4326", featureNS: "gemma", featurePrefix: "gemma", featureTypes: ["bottleneck_overview"], outputFormat: "application/json" }); HTTP.post( "/internal/wfs", new XMLSerializer().serializeToString( bottleneckFeatureCollectionRequest ), { headers: { "X-Gemma-Auth": localStorage.getItem("token"), "Content-type": "text/xml; charset=UTF-8" } } ).then(response => { commit("setBottlenecks", response.data.features); }); }, querySurveys({ commit }, name) { if (name) { commit("surveysLoading", true); HTTP.get("/surveys/" + name, { headers: { "X-Gemma-Auth": localStorage.getItem("token"), "Content-type": "text/xml; charset=UTF-8" } }) .then(response => { const surveys = response.data.surveys.sort( (a, b) => (a.date_info < b.date_info ? 1 : -1) ); commit("selectedSurvey", surveys[0]); commit("setSurveys", surveys); }) .catch(error => { commit("setSurveys", []); commit("selectedSurvey", null); const { status, data } = error.response; displayError({ title: "Backend Error", message: `${status}: ${data.message || data}` }); }) .finally(() => commit("surveysLoading", false)); } else { commit("setSurveys", []); } } } };