diff client/src/store/map.js @ 1096:aa1f5daf6fc9

refac: centralized stores
author Thomas Junk <thomas.junk@intevation.de>
date Tue, 30 Oct 2018 16:55:29 +0100
parents client/src/map/store.js@ca628dce90dd
children 1f4799bab8a6
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/src/store/map.js	Tue Oct 30 16:55:29 2018 +0100
@@ -0,0 +1,45 @@
+/*
+ * This is Free Software under GNU Affero General Public License v >= 3.0
+ * without warranty, see README.md and license for details.
+ * 
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ * License-Filename: LICENSES/AGPL-3.0.txt
+ * 
+ * Copyright (C) 2018 by via donau 
+ *   – Österreichische Wasserstraßen-Gesellschaft mbH
+ * Software engineering by Intevation GmbH
+ * 
+ * Author(s):
+ * Thomas Junk <thomas.junk@intevation.de>
+ */
+
+//import { HTTP } from "../lib/http";
+
+import { layers } from "../layers/layers";
+
+const MapStore = {
+  namespaced: true,
+  state: {
+    openLayersMap: null,
+    layers: layers
+  },
+  getters: {
+    layers: state => {
+      return state.layers;
+    },
+    getLayerByName: state => name => {
+      return state.layers.find(layer => layer.name === name);
+    }
+  },
+  mutations: {
+    toggleVisibility: (state, layer) => {
+      state.layers[layer].isVisible = !state.layers[layer].isVisible;
+      state.layers[layer].data.setVisible(state.layers[layer].isVisible);
+    },
+    setOpenLayersMap: (state, map) => {
+      state.openLayersMap = map;
+    }
+  }
+};
+
+export default MapStore;