Mercurial > gemma
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;