changeset 2905:818ec1265772

Merged.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 02 Apr 2019 16:52:25 +0200
parents 83137bbd4939 (current diff) 399b03e59411 (diff)
children ae678f7cf938
files
diffstat 7 files changed, 38 insertions(+), 85 deletions(-) [+]
line wrap: on
line diff
--- a/client/src/components/Bottlenecks.vue	Tue Apr 02 16:38:31 2019 +0200
+++ b/client/src/components/Bottlenecks.vue	Tue Apr 02 16:52:25 2019 +0200
@@ -47,31 +47,12 @@
           }}
         </div>
         <div class="table-cell center" style="width: 30px">
-          <a
-            class="text-info"
+          <UISpinnerButton
             @click="loadSurveys(bottleneck)"
+            :loading="loading === bottleneck"
+            :state="bottleneck === openBottleneck"
             v-if="bottleneck.properties.current"
-          >
-            <font-awesome-icon
-              class="pointer"
-              icon="spinner"
-              fixed-width
-              spin
-              v-if="loading === bottleneck"
-            ></font-awesome-icon>
-            <font-awesome-icon
-              class="pointer"
-              icon="angle-down"
-              fixed-width
-              v-if="loading !== bottleneck && openBottleneck !== bottleneck"
-            ></font-awesome-icon>
-            <font-awesome-icon
-              class="pointer"
-              icon="angle-up"
-              fixed-width
-              v-if="loading !== bottleneck && openBottleneck === bottleneck"
-            ></font-awesome-icon>
-          </a>
+          />
         </div>
       </template>
       <template v-slot:expand="{ item: bottleneck }">
--- a/client/src/components/importoverview/AdditionalDetail.vue	Tue Apr 02 16:38:31 2019 +0200
+++ b/client/src/components/importoverview/AdditionalDetail.vue	Tue Apr 02 16:52:25 2019 +0200
@@ -35,7 +35,6 @@
 import { mapState } from "vuex";
 
 export default {
-  name: "additionaldetail",
   props: ["entry"],
   components: {
     BottleneckDetail: () => import("./BottleneckDetail.vue"),
@@ -60,5 +59,3 @@
   }
 };
 </script>
-
-<style lang="scss" scoped></style>
--- a/client/src/components/importoverview/ApprovedGaugeMeasurementDetail.vue	Tue Apr 02 16:38:31 2019 +0200
+++ b/client/src/components/importoverview/ApprovedGaugeMeasurementDetail.vue	Tue Apr 02 16:52:25 2019 +0200
@@ -12,18 +12,11 @@
           @click="toggleDiff(index)"
           class="small mt-auto mb-auto text-info text-left"
         >
-          <font-awesome-icon
-            class="pointer"
-            v-if="showDiff == index"
-            icon="angle-down"
-            fixed-width
-          ></font-awesome-icon>
-          <font-awesome-icon
-            class="pointer"
-            v-if="showDiff != index"
-            icon="angle-right"
-            fixed-width
-          ></font-awesome-icon>
+          <UISpinnerButton
+            :state="showDiff == index"
+            :icons="['angle-right', 'angle-down']"
+            class="text-info"
+          />
         </div>
         <span v-if="result.versions.length == 1" class="agmcode text-left"
           ><div>
--- a/client/src/components/importoverview/BottleneckDetail.vue	Tue Apr 02 16:38:31 2019 +0200
+++ b/client/src/components/importoverview/BottleneckDetail.vue	Tue Apr 02 16:52:25 2019 +0200
@@ -17,18 +17,11 @@
             @click="showBottleneckDetails(index)"
             class="mt-auto mb-auto text-info text-left"
           >
-            <font-awesome-icon
-              class="pointer"
-              v-if="showBottleneckDetail === index"
-              icon="angle-down"
-              fixed-width
-            ></font-awesome-icon>
-            <font-awesome-icon
-              class="pointer"
-              v-if="!(showBottleneckDetail === index)"
-              icon="angle-right"
-              fixed-width
-            ></font-awesome-icon>
+            <UISpinnerButton
+              :state="showBottleneckDetail === index"
+              :icons="['angle-right', 'angle-down']"
+              class="text-info"
+            />
           </div>
           <a @click="moveToBottleneck(index)" href="#">
             {{ bottleneck.properties.objnam }}
--- a/client/src/components/importoverview/FairwayDimension.vue	Tue Apr 02 16:38:31 2019 +0200
+++ b/client/src/components/importoverview/FairwayDimension.vue	Tue Apr 02 16:52:25 2019 +0200
@@ -16,9 +16,7 @@
  * Author(s):
  * Thomas Junk <thomas.junk@intevation.de>
  */
-export default {
-  name: "fairwaydimensiondetails"
-};
+export default {};
 </script>
 
 <style></style>
--- a/client/src/components/importoverview/LogDetail.vue	Tue Apr 02 16:38:31 2019 +0200
+++ b/client/src/components/importoverview/LogDetail.vue	Tue Apr 02 16:52:25 2019 +0200
@@ -6,20 +6,12 @@
       v-if="hasAdditionalInfo || isStretch || isSoundingResult"
     >
       <div v-if="hasAdditionalInfo">
-        <font-awesome-icon
-          v-if="entry.id === showAdditional"
+        <UISpinnerButton
           @click="toggleAdditionalInfo"
-          class="my-auto mr-1 text-info pointer"
-          icon="angle-down"
-          fixed-width
-        ></font-awesome-icon>
-        <font-awesome-icon
-          v-if="entry.id !== showAdditional"
-          @click="toggleAdditionalInfo"
-          class="my-auto mr-1 text-info pointer"
-          icon="angle-right"
-          fixed-width
-        ></font-awesome-icon>
+          :state="entry.id === showAdditional"
+          :icons="['angle-right', 'angle-down']"
+          class="text-info d-inline-block"
+        />
         <span class="text-info"><translate>Additional Info</translate></span>
         <span
           class="text-info"
@@ -53,20 +45,12 @@
       :entry="entry"
     ></AdditionalDetail>
     <div class="d-flex fex-row" style="padding-left: 3px;">
-      <font-awesome-icon
-        v-if="entry.id === showLogs"
+      <UISpinnerButton
         @click="toggleAdditionalLogging"
-        class="my-auto mr-1 text-info pointer"
-        icon="angle-down"
-        fixed-width
-      ></font-awesome-icon>
-      <font-awesome-icon
-        v-if="entry.id !== showLogs"
-        @click="toggleAdditionalLogging"
-        class="my-auto mr-1 text-info pointer"
-        icon="angle-right"
-        fixed-width
-      ></font-awesome-icon>
+        :state="entry.id === showLogs"
+        :icons="['angle-right', 'angle-down']"
+        classes="text-info"
+      />
       <span class="text-info"><translate>Logs</translate></span>
     </div>
     <AdditionalLog
--- a/client/src/components/importoverview/LogEntry.vue	Tue Apr 02 16:38:31 2019 +0200
+++ b/client/src/components/importoverview/LogEntry.vue	Tue Apr 02 16:52:25 2019 +0200
@@ -1,12 +1,12 @@
 <template>
   <div class="row w-100 no-gutters text-left">
     <div style="width: 79px;" class="table-cell d-flex justify-content-between">
-      <font-awesome-icon
+      <UISpinnerButton
         @click="toggleDetails"
-        :class="'pointer ' + (entry.id === show ? 'text-white' : 'text-info')"
-        :icon="entry.id === show ? 'angle-down' : 'angle-right'"
-        fixed-width
-      ></font-awesome-icon>
+        :loading="loading"
+        :state="entry.id === show"
+        :icons="['angle-right', 'angle-down']"
+      />
       {{ entry.id }}
     </div>
     <div style="width: 53px;" class="table-cell center">
@@ -109,6 +109,11 @@
 export default {
   STATES,
   props: ["entry"],
+  data() {
+    return {
+      loading: false
+    };
+  },
   computed: {
     ...mapState("imports", ["show"]),
     needsApproval() {
@@ -135,6 +140,7 @@
         this.$store.commit("imports/hideAdditionalInfo");
         this.$store.commit("imports/hideAdditionalLogs");
       } else {
+        this.loading = true;
         HTTP.get("/imports/" + this.entry.id, {
           headers: { "X-Gemma-Auth": localStorage.getItem("token") }
         })
@@ -148,7 +154,8 @@
               title: this.$gettext("Backend Error"),
               message: `${status}: ${data.message || data}`
             });
-          });
+          })
+          .finally(() => (this.loading = false));
       }
     }
   }