# HG changeset patch # User Markus Kottlaender # Date 1555413992 -7200 # Node ID c5d4cf89d323966afb635a1d43e9d7ff216012c3 # Parent 333aff79197d15a380dc96d18c6766be1b1abc0b client: map refresh button: refreshes layers of all maps if there is more than one map diff -r 333aff79197d -r c5d4cf89d323 client/src/components/Zoom.vue --- a/client/src/components/Zoom.vue Tue Apr 16 13:18:30 2019 +0200 +++ b/client/src/components/Zoom.vue Tue Apr 16 13:26:32 2019 +0200 @@ -55,20 +55,22 @@ * Markus Kottländer * Thomas Junk */ -import { mapState, mapGetters } from "vuex"; +import { mapState } from "vuex"; import { Vector as VectorLayer } from "ol/layer"; export default { name: "zoom", computed: { - ...mapGetters("map", ["openLayersMap"]), + ...mapState("map", ["openLayersMaps"]), ...mapState("application", ["showSplitscreen"]), zoomLevel: { get() { - return this.openLayersMap.getView().getZoom(); + return this.openLayersMaps[0].getView().getZoom(); }, set(value) { - this.openLayersMap.getView().animate({ zoom: value, duration: 300 }); + this.openLayersMaps[0] + .getView() + .animate({ zoom: value, duration: 300 }); } } }, @@ -80,17 +82,19 @@ this.zoomLevel = this.zoomLevel - 1; }, refreshMap() { - let layers = this.openLayersMap.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.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 }); + } } - } + }); } } };