diff client/src/store/fairwayavailability.js @ 4329:83eb99662a91

client: improve ability to test FW diagrams * Restructure code in fairwayavailability.js to seperate external data retrieval and adding the data into the store. Good side effects are that using a mutation for setting test data is easier and only one commit call is necessary, which means less clutter in the state history. * Adding an example how to use this for testing to docs/developers.md . * Bump copyright year for one file.
author Bernhard Reiter <bernhard@intevation.de>
date Wed, 04 Sep 2019 17:05:43 +0200
parents 9f03eb3817d6
children 47aa3be2a7de
line wrap: on
line diff
--- a/client/src/store/fairwayavailability.js	Wed Sep 04 16:45:59 2019 +0200
+++ b/client/src/store/fairwayavailability.js	Wed Sep 04 17:05:43 2019 +0200
@@ -4,7 +4,7 @@
  * SPDX-License-Identifier: AGPL-3.0-or-later
  * License-Filename: LICENSES/AGPL-3.0.txt
  *
- * Copyright (C) 2018 by via donau
+ * Copyright (C) 2018, 2019 by via donau
  *   – Österreichische Wasserstraßen-Gesellschaft mbH
  * Software engineering by Intevation GmbH
  *
@@ -178,9 +178,6 @@
     setSelectedFairwayAvailability: (state, feature) => {
       state.selectedFairwayAvailabilityFeature = feature;
     },
-    setFwData: (state, fwData) => {
-      state.fwData = fwData;
-    },
     setFwLNWLData: (state, fwLNWLData) => {
       state.fwLNWLData = fwLNWLData;
     },
@@ -195,8 +192,17 @@
         state.fwLNWLOverviewData.splice(existingIndex, 1);
       state.fwLNWLOverviewData.push(data);
     },
-    setLegend: (state, header) => {
-      const headerEntries = header.split(",");
+    setLegendLNWL: (state, headerLNWL) => {
+      state.headerLNWL = headerLNWL;
+    },
+    // See docs/developers.md for an example how to directly
+    // call this method for testing.
+    setAvailableFairwayDepthData: (state, data) => {
+      state.csv = data;
+      const csv = data.split("\n").filter(x => x !== ""); //omit empty lines
+
+      // setLegend
+      const headerEntries = csv.shift().split(",");
       headerEntries.shift();
       headerEntries.shift();
       state.legend = headerEntries.map(x => {
@@ -204,9 +210,8 @@
         entry = entry.replace("[h]", "").trim(); // omit unit
         return entry;
       });
-    },
-    setLegendLNWL: (state, headerLNWL) => {
-      this.headerLNWL = headerLNWL;
+
+      state.fwData = transformAFD(csv);
     }
   },
   actions: {
@@ -247,12 +252,7 @@
           headers: { "X-Gemma-Auth": localStorage.getItem("token") }
         })
           .then(response => {
-            const { data } = response;
-            commit("setCSV", data);
-            const csv = data.split("\n").filter(x => x !== ""); //omit empty lines
-            commit("setLegend", csv.shift());
-            let transformed = transformAFD(csv);
-            commit("setFwData", transformed);
+            commit("setAvailableFairwayDepthData", response.data);
             resolve(response);
           })
           .catch(error => {