Mercurial > gemma
diff client/src/store/imports.js @ 3290:3ada3d0347bd
client: define sections: duplicated and adjusted code from stretches
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Thu, 16 May 2019 13:18:11 +0200 |
parents | 1b8bb4f89227 |
children | d02d4e31491b |
line wrap: on
line diff
--- a/client/src/store/imports.js Thu May 16 12:50:20 2019 +0200 +++ b/client/src/store/imports.js Thu May 16 13:18:11 2019 +0200 @@ -33,6 +33,8 @@ warning: false, stretches: [], selectedStretchId: null, + sections: [], + selectedSectionId: null, imports: [], reviewed: [], show: null, @@ -46,19 +48,19 @@ }; }; -const getStretchFromWFS = filter => { +const getFromWFS = (type, filter) => { return new Promise((resolve, reject) => { - var stretchesFeatureCollectionRequest = new WFS().writeGetFeature({ + var featureCollectionRequest = new WFS().writeGetFeature({ srsName: "EPSG:4326", featureNS: "gemma", featurePrefix: "gemma", - featureTypes: ["stretches_geoserver"], + featureTypes: [type], outputFormat: "application/json", filter: filter }); HTTP.post( "/internal/wfs", - new XMLSerializer().serializeToString(stretchesFeatureCollectionRequest), + new XMLSerializer().serializeToString(featureCollectionRequest), { headers: { "X-Gemma-Auth": localStorage.getItem("token"), @@ -132,6 +134,12 @@ selectedStretchId: (state, id) => { state.selectedStretchId = id; }, + setSections: (state, sections) => { + state.sections = sections; + }, + selectedSectionId: (state, id) => { + state.selectedSectionId = id; + }, setReviewed: (state, reviewed) => { state.reviewed = reviewed; }, @@ -194,7 +202,7 @@ actions: { loadStretch(context, name) { return new Promise((resolve, reject) => { - getStretchFromWFS(equalToFilter("name", name)) + getFromWFS("stretches_geoserver", equalToFilter("name", name)) .then(response => { resolve(response); }) @@ -205,7 +213,7 @@ }, loadStretches({ commit }) { return new Promise((resolve, reject) => { - getStretchFromWFS(equalToFilter("staging_done", true)) + getFromWFS("stretches_geoserver", equalToFilter("staging_done", true)) .then(response => { if (response.data.features) { commit("setStretches", response.data.features); @@ -232,6 +240,46 @@ }); }); }, + loadSection(context, name) { + return new Promise((resolve, reject) => { + getFromWFS("sections_geoserver", equalToFilter("name", name)) + .then(response => { + resolve(response); + }) + .catch(error => { + reject(error); + }); + }); + }, + loadSections({ commit }) { + return new Promise((resolve, reject) => { + getFromWFS("sections_geoserver", equalToFilter("staging_done", true)) + .then(response => { + if (response.data.features) { + commit("setSections", response.data.features); + } else { + commit("setSections", []); + } + resolve(response); + }) + .catch(error => { + reject(error); + }); + }); + }, + saveSection(context, section) { + return new Promise((resolve, reject) => { + HTTP.post("/imports/sec", section, { + headers: { "X-Gemma-Auth": localStorage.getItem("token") } + }) + .then(response => { + resolve(response); + }) + .catch(error => { + reject(error); + }); + }); + }, getImports({ commit }, options) { let { filter, from, to, query } = options; let queryParams = "";