view client/src/application/stores/application.js @ 622:47f11401d999

feat: Usermenu is now collapsible
author Thomas Junk <thomas.junk@intevation.de>
date Tue, 11 Sep 2018 14:14:43 +0200
parents c4a4dc612191
children 620a65f11b33
line wrap: on
line source

const defaultCollapseState = true;

const Application = {
  namespaced: true,
  state: {
    appTitle: process.env.VUE_APP_TITLE,
    secondaryLogo: process.env.VUE_APP_SECONDARY_LOGO_URL,
    sidebar: {
      iscollapsed: defaultCollapseState
    },
    splitsceen: {
      active: false,
      mode: "v"
    },
    usermenu: {
      iscollapsed: defaultCollapseState
    },
    countries: ["AT", "SK", "HU", "HR", "RS", "BiH", "BG", "RO", "UA"]
  },
  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;
    }
  },
  mutations: {
    toggleSidebar: state => {
      state.sidebar.iscollapsed = !state.sidebar.iscollapsed;
    },
    toggleUserMenu: state => {
      state.usermenu.iscollapsed = !state.usermenu.iscollapsed;
    },
    toggleSplitScreen: state => {
      state.splitsceen.active = !state.splitsceen.active;
    },
    resetSidebar: state => {
      state.sidebar.iscollapsed = defaultCollapseState;
    },
    collapseSidebar: state => {
      state.sidebar.iscollapsed = true;
    },
    resetUserMenu: state => {
      state.usermenu.iscollapsed = defaultCollapseState;
    },
    collapseUserMenu: state => {
      state.usermenu.iscollapsed = true;
    }
  },
  actions: {}
};

export default Application;