changeset 2851:a7e31594959d

profiles: difference selection now with spinner
author Thomas Junk <thomas.junk@intevation.de>
date Thu, 28 Mar 2019 17:04:44 +0100
parents 6d4f361c36e8
children 0bca55dde5f2
files client/src/components/fairway/Profiles.vue client/src/components/layers/Layers.vue client/src/components/layers/Layerselect.vue client/src/store/fairway.js client/src/store/map.js
diffstat 5 files changed, 18 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/client/src/components/fairway/Profiles.vue	Thu Mar 28 16:57:41 2019 +0100
+++ b/client/src/components/fairway/Profiles.vue	Thu Mar 28 17:04:44 2019 +0100
@@ -12,7 +12,9 @@
         :closeCallback="close"
       />
       <div class="box-body">
-        <SpinnerOverlay v-if="surveysLoading || profileLoading" />
+        <SpinnerOverlay
+          v-if="surveysLoading || profileLoading || differencesLoading"
+        />
         <select
           @change="moveToBottleneck"
           v-model="selectedBottleneck"
@@ -275,6 +277,7 @@
       "startPoint",
       "endPoint",
       "profileLoading",
+      "differencesLoading",
       "waterLevels"
     ]),
     orderedBottlenecks() {
@@ -393,6 +396,7 @@
   },
   methods: {
     showSurveyDiffences() {
+      this.$store.commit("fairwayprofile/setDifferencesLoading", true);
       HTTP.post(
         "/diff",
         {
@@ -428,6 +432,9 @@
             title: this.$gettext("Backend Error"),
             message: `${status}: ${data.message || data}`
           });
+        })
+        .finally(() => {
+          this.$store.commit("fairwayprofile/setDifferencesLoading", false);
         });
     },
     close() {
--- a/client/src/components/layers/Layers.vue	Thu Mar 28 16:57:41 2019 +0100
+++ b/client/src/components/layers/Layers.vue	Thu Mar 28 17:04:44 2019 +0100
@@ -57,8 +57,8 @@
     close() {
       this.$store.commit("application/showLayers", false);
     },
-    visibilityToggled(layer) {
-      this.$store.commit("map/toggleVisibility", layer);
+    visibilityToggled(layername) {
+      this.$store.commit("map/toggleVisibilityByName", layername);
     }
   }
 };
--- a/client/src/components/layers/Layerselect.vue	Thu Mar 28 16:57:41 2019 +0100
+++ b/client/src/components/layers/Layerselect.vue	Thu Mar 28 17:04:44 2019 +0100
@@ -65,7 +65,7 @@
   },
   methods: {
     visibilityToggled() {
-      this.$emit("visibilityToggled", this.layerindex);
+      this.$emit("visibilityToggled", this.layername);
     }
   },
   created() {
--- a/client/src/store/fairway.js	Thu Mar 28 16:57:41 2019 +0100
+++ b/client/src/store/fairway.js	Thu Mar 28 17:04:44 2019 +0100
@@ -37,7 +37,8 @@
     endPoint: null,
     previousCuts: [],
     profileLoading: false,
-    selectedCut: null
+    selectedCut: null,
+    differencesLoading: false
   };
 };
 
@@ -63,6 +64,9 @@
     setSelectedWaterLevel: (state, level) => {
       state.selectedWaterLevel = state.waterLevels[level];
     },
+    setDifferencesLoading: (state, value) => {
+      state.differencesLoading = value;
+    },
     profileLoaded: (state, answer) => {
       const { response, surveyDate } = answer;
       const { data } = response;
--- a/client/src/store/map.js	Thu Mar 28 16:57:41 2019 +0100
+++ b/client/src/store/map.js	Thu Mar 28 17:04:44 2019 +0100
@@ -625,6 +625,8 @@
       state.layers[layer].data.setVisible(state.layers[layer].isVisible);
     },
     toggleVisibility: (state, layer) => {
+      console.log(layer);
+      console.log(state.layers);
       state.layers[layer].isVisible = !state.layers[layer].isVisible;
       state.layers[layer].data.setVisible(state.layers[layer].isVisible);
     },