Mercurial > gemma
view client/src/application/stores/application.js @ 1055:1ff8c072df18
WIP: Bottleneck list/table
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Thu, 25 Oct 2018 15:05:20 +0200 |
parents | ca628dce90dd |
children | 7ec2133c6404 |
line wrap: on
line source
/* * 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> * Markus Kottländer <markus.kottlaender@intevation.de> */ import { version } from "../../../package.json"; const defaultCollapseState = true; const initializeSplitScreen = () => { return { active: false, mode: "v" }; }; const DRAWMODES = { LINE: "LineString" }; const Application = { namespaced: true, state: { appTitle: process.env.VUE_APP_TITLE, secondaryLogo: process.env.VUE_APP_SECONDARY_LOGO_URL, sidebar: { iscollapsed: defaultCollapseState }, bottlenecksCollapsed: true, splitsceen: initializeSplitScreen(), usermenu: { iscollapsed: defaultCollapseState }, countries: ["AT", "SK", "HU", "HR", "RS", "BiH", "BG", "RO", "UA"], drawMode: null, version }, getters: { countries: state => { return state.countries; }, sidebarCollapsed: state => { return state.sidebar.iscollapsed; }, isUsermenuCollapsed: state => { return state.usermenu.iscollapsed; }, appTitle: state => { return state.appTitle; }, secondaryLogo: state => { return state.secondaryLogo; }, isSplitscreen: state => { return state.splitsceen.active; }, splitMode: state => { return state.splitsceen.mode; }, drawMode: state => { return state.drawMode; }, versionStr: state => { // version number from package.json let versionStr = "v" + state.version; // hg revision if ( process.env.VUE_APP_HGREV && (state.version.includes("dev") || state.version.includes("beta") || state.version.includes("alpha")) ) versionStr += " " + process.env.VUE_APP_HGREV; return versionStr; } }, mutations: { toggleSidebar: state => { state.sidebar.iscollapsed = !state.sidebar.iscollapsed; }, toggleBottlenecks: state => { state.bottlenecksCollapsed = !state.bottlenecksCollapsed; }, toggleUserMenu: state => { state.usermenu.iscollapsed = !state.usermenu.iscollapsed; }, toggleSplitScreen: state => { state.splitsceen.active = !state.splitsceen.active; }, openSplitScreen: state => { state.splitsceen.active = true; }, closeSplitScreen: state => { state.splitsceen.active = false; }, resetSidebar: state => { state.sidebar.iscollapsed = defaultCollapseState; }, collapseSidebar: state => { state.sidebar.iscollapsed = true; }, resetUserMenu: state => { state.usermenu.iscollapsed = defaultCollapseState; }, collapseUserMenu: state => { state.usermenu.iscollapsed = true; }, resetSplitScreen: state => { state.splitsceen = initializeSplitScreen(); }, toggleDrawModeLine: state => { if (state.drawMode && state.drawMode === DRAWMODES.LINE) { state.drawMode = null; return; } state.drawMode = DRAWMODES.LINE; } }, actions: {} }; export default Application;