Mercurial > gemma
changeset 3409:c0f5f62343c9
client: import review: refresh map layers after accepting/declining imports
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Thu, 23 May 2019 14:47:33 +0200 |
parents | a26c1d745fc3 |
children | e5bc8f4924cb 5e284f39a081 |
files | client/src/components/importoverview/ImportOverview.vue client/src/components/layers/Layers.vue client/src/store/map.js |
diffstat | 3 files changed, 18 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/client/src/components/importoverview/ImportOverview.vue Thu May 23 13:39:04 2019 +0200 +++ b/client/src/components/importoverview/ImportOverview.vue Thu May 23 14:47:33 2019 +0200 @@ -388,6 +388,7 @@ .then(response => { this.loadLogs(); this.$store.commit("imports/setReviewed", []); + this.$store.dispatch("map/refreshLayers"); const messages = response.data .map(x => { if (x.message) return x.message;
--- a/client/src/components/layers/Layers.vue Thu May 23 13:39:04 2019 +0200 +++ b/client/src/components/layers/Layers.vue Thu May 23 14:47:33 2019 +0200 @@ -58,7 +58,6 @@ * Markus Kottländer <markus.kottlaender@intevation.de> */ import { mapState } from "vuex"; -import { Vector as VectorLayer } from "ol/layer"; export default { components: { @@ -86,19 +85,7 @@ this.$store.commit("application/showLayers", false); }, refreshLayers() { - this.openLayersMaps.forEach(map => { - let layers = map.getLayers().getArray(); - for (let i = 0; i < layers.length; i++) { - let layer = layers[i]; - if ( - layer instanceof VectorLayer && - layer.get("source").loader_.name != "VOID" - ) { - layer.getSource().clear(true); - layer.getSource().refresh({ force: true }); - } - } - }); + this.$store.dispatch("map/refreshLayers"); } } };
--- a/client/src/store/map.js Thu May 23 13:39:04 2019 +0200 +++ b/client/src/store/map.js Thu May 23 14:47:33 2019 +0200 @@ -24,6 +24,7 @@ import { HTTP } from "@/lib/http"; import Feature from "ol/Feature"; import Point from "ol/geom/Point"; +import { Vector as VectorLayer } from "ol/layer"; import { toLonLat } from "ol/proj"; // initial state @@ -539,6 +540,21 @@ } }); }, + refreshLayers({ state }) { + state.openLayersMaps.forEach(map => { + let layers = map.getLayers().getArray(); + for (let i = 0; i < layers.length; i++) { + let layer = layers[i]; + if ( + layer instanceof VectorLayer && + layer.get("source").loader_.name != "VOID" + ) { + layer.getSource().clear(true); + layer.getSource().refresh({ force: true }); + } + } + }); + }, moveToBoundingBox( { state }, { boundingBox, zoom, preventZoomOut, duration }