view client/src/application/stores/application.js @ 666:4c36b0e39d78

feat: prepareProfile converts geoJSON to diagram data. PrepareProfile assumes data given in geoJSON format. It extracts heigth and width information for the diagram and transposes every coordinate given relative to the first coordinate in the first set.
author Thomas Junk <thomas.junk@intevation.de>
date Tue, 18 Sep 2018 13:43:24 +0200
parents 83081ba6c9c1
children 68a39aea942a
line wrap: on
line source

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
    },
    splitsceen: initializeSplitScreen(),
    usermenu: {
      iscollapsed: defaultCollapseState
    },
    countries: ["AT", "SK", "HU", "HR", "RS", "BiH", "BG", "RO", "UA"],
    drawMode: null
  },
  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;
    }
  },
  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;
    },
    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;