Mercurial > gemma
view client/src/store/application.js @ 2787:2ce5ee6d65b5
client:translations: merge translations from weblate
author | Fadi Abbud <fadi.abbud@intevation.de> |
---|---|
date | Mon, 25 Mar 2019 10:34:33 +0100 |
parents | 8774054959a7 |
children | d6c90d2c8c8d |
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> * Bernhard E. Reiter <bernhard.reiter@intevation.de> */ import Vue from "vue"; import { version } from "../../package.json"; // initial state const init = () => { return { appTitle: process.env.VUE_APP_TITLE, secondaryLogo: process.env.VUE_APP_SECONDARY_LOGO_URL, logoForPDF: process.env.VUE_APP_LOGO_FOR_PDF_URL, popup: null, splitscreens: [], splitscreenLoading: false, activeSplitscreenId: null, showSplitscreen: false, showSidebar: false, showUsermenu: false, showSearchbar: false, showSearchbarLastState: false, showIdentify: false, showLayers: true, showPdfTool: false, showContextBox: false, showProfiles: false, showGauges: false, contextBoxContent: null, // bottlenecks, imports, staging expandToolbar: false, countries: ["AT", "SK", "HU", "HR", "RS", "BiH", "BG", "RO", "UA"], searchQuery: "", version }; }; export default { init, namespaced: true, state: init(), getters: { 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")) ) // a '+' according to semver 2.0.0 starts a build meta info section // which shall only have [0-9A-Za-z-] chars // and is to be ignored when determining the order versionStr += "+" + process.env.VUE_APP_HGREV; return versionStr; }, activeSplitscreen: state => { return state.splitscreens.find(s => s.id === state.activeSplitscreenId); } }, mutations: { popup: (state, popup) => { state.popup = popup; }, showSidebar: (state, show) => { state.showSidebar = show; }, showSplitscreen: (state, show) => { state.showSplitscreen = show; }, splitscreenLoading: (state, loading) => { state.splitscreenLoading = loading; }, activeSplitscreenId: (state, id) => { state.activeSplitscreenId = id; }, addSplitscreen: (state, config) => { let index = state.splitscreens.findIndex(s => s.id === config.id); if (index !== -1) Vue.set(state.splitscreens, index, config); else state.splitscreens.push(config); }, removeSplitscreen: (state, id) => { let index = state.splitscreens.findIndex(s => s.id === id); if (index !== -1) state.splitscreens.splice(index, 1); }, showUsermenu: (state, show) => { state.showUsermenu = show; }, showSearchbar: (state, show) => { state.showSearchbar = show; }, showIdentify: (state, show) => { state.showIdentify = show; }, showLayers: (state, show) => { state.showLayers = show; }, showPdfTool: (state, show) => { state.showPdfTool = show; }, showContextBox: (state, show) => { state.showContextBox = show; }, showProfiles: (state, show) => { state.showProfiles = show; }, showGauges: (state, show) => { state.showGauges = show; }, contextBoxContent: (state, context) => { state.contextBoxContent = context; if (context) { state.showSearchbarLastState = state.showSearchbar; } }, expandToolbar: (state, expandToolbar) => { state.expandToolbar = expandToolbar; }, searchQuery: (state, searchQuery) => { state.searchQuery = searchQuery; } } };