changeset 3861:704f853b9c37

client: configuration: reset morphology classbreaks
author Markus Kottlaender <markus@intevation.de>
date Tue, 09 Jul 2019 15:29:56 +0200
parents 9a7a27301720
children dd0e5be71393
files client/src/components/systemconfiguration/MorphologyClassbreaks.vue
diffstat 1 files changed, 43 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/client/src/components/systemconfiguration/MorphologyClassbreaks.vue	Tue Jul 09 15:07:54 2019 +0200
+++ b/client/src/components/systemconfiguration/MorphologyClassbreaks.vue	Tue Jul 09 15:29:56 2019 +0200
@@ -94,6 +94,12 @@
       >
         <translate>Send</translate>
       </a>
+      <a
+        @click.prevent="resetClassbreaks"
+        class="btn btn-outline-info btn-sm ml-2"
+      >
+        <translate>Reset to defaults</translate>
+      </a>
     </div>
     <div class="px-3">
       <h6 class="font-weight-bold">
@@ -189,6 +195,12 @@
       >
         <translate>Send</translate>
       </a>
+      <a
+        @click.prevent="resetClassbreaksCompare"
+        class="btn btn-outline-info btn-sm ml-2"
+      >
+        <translate>Reset to defaults</translate>
+      </a>
     </div>
   </div>
 </template>
@@ -247,6 +259,11 @@
 import { mapState } from "vuex";
 import { Chrome } from "vue-color";
 
+const DEFAULT_CLASSBREAKS =
+  "1:#ff00dd,1.5,1.7,1.9,2.1,2.3,2.5:#f25f20,2.7,2.9,3.1:#f7e40e,3.3,3.5,4:#8ad51a,4.5,5,5.5,6,6.5,7:#1414ff";
+const DEFAULT_CLASSBREAKS_COMPARE =
+  "-2:#06b100,-1.9,-1.8,-1.7,-1.6,-1.5,-1.4,-1.3,-1.2,-1.1,-1:#1cc68e,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,-0.2,-0.1,0:#c2c2c2,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1:#fff01a,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2:#f80012";
+
 export default {
   components: {
     "chrome-picker": Chrome
@@ -295,25 +312,35 @@
             .join(",")
         })
         .finally(() => this.$store.dispatch("application/loadConfig"));
+    },
+    resetClassbreaks() {
+      this.morphologyClassbreaks = this.parseClassbreakString(
+        DEFAULT_CLASSBREAKS
+      );
+    },
+    resetClassbreaksCompare() {
+      this.morphologyClassbreaksCompare = this.parseClassbreakString(
+        DEFAULT_CLASSBREAKS_COMPARE
+      );
+    },
+    parseClassbreakString(str) {
+      return str
+        .split(",")
+        .map(cb => cb.split(":"))
+        .map(cb => {
+          cb[0] = Number(cb[0]);
+          cb[1] = cb[1] || "#ffffff";
+          return cb;
+        });
     }
   },
   mounted() {
-    this.morphologyClassbreaks = this.config.morphology_classbreaks
-      .split(",")
-      .map(cb => cb.split(":"))
-      .map(cb => {
-        cb[0] = Number(cb[0]);
-        cb[1] = cb[1] || "#ffffff";
-        return cb;
-      });
-    this.morphologyClassbreaksCompare = this.config.morphology_classbreaks_compare
-      .split(",")
-      .map(cb => cb.split(":"))
-      .map(cb => {
-        cb[0] = Number(cb[0]);
-        cb[1] = cb[1] || "#ffffff";
-        return cb;
-      });
+    this.morphologyClassbreaks = this.parseClassbreakString(
+      this.config.morphology_classbreaks
+    );
+    this.morphologyClassbreaksCompare = this.parseClassbreakString(
+      this.config.morphology_classbreaks_compare
+    );
 
     this.closeColorPickerListener = e => {
       // Escape