changeset 3064:c5d4cf89d323

client: map refresh button: refreshes layers of all maps if there is more than one map
author Markus Kottlaender <markus@intevation.de>
date Tue, 16 Apr 2019 13:26:32 +0200
parents 333aff79197d
children f6eae0b6c221
files client/src/components/Zoom.vue
diffstat 1 files changed, 18 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- 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 <markus@intevation.de>
  * Thomas Junk <thomas.junk@intevation.de>
  */
-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 });
+          }
         }
-      }
+      });
     }
   }
 };