Mercurial > gemma
view client/src/components/Sidebar.vue @ 543:b111b765b6cd
client: add hardwired WFS layer to map
* As prototype add a getfeature WFS layer asking our own server
for the fairways_dimensions. It has deactivate filter code.
author | Bernhard Reiter <bernhard@intevation.de> |
---|---|
date | Thu, 30 Aug 2018 17:07:35 +0200 |
parents | 505656a9947f |
children | 06907c875077 |
line wrap: on
line source
<template> <div :class="sidebarStyle"> <nav :class="menuStyle"> <router-link to="/" class="d-flex nav-link">Riverbed Morphology</router-link> <a class="d-flex nav-link" href="#">Link</a> <a class="d-flex nav-link" href="#">Link</a> <div v-if="isSysAdmin"> <hr/> <div class="d-flex menupadding text-muted">Administration</div> <router-link class="d-flex nav-link" to="users">Users</router-link> </div> </nav> <div :class="userinfoStyle"> <div class="menupadding userinfo"> <img class="userpic" src="../assets/user.png"> <span class="username">{{ userinfo }}</span> </div> <div> <span class="logout" @click="logoff"> <i class="fa fa-power-off"></i> </span> </div> </div> </div> </template> <script> import { mapGetters } from "vuex"; export default { name: "sidebar", computed: { ...mapGetters("user", ["userinfo", "isSysAdmin"]), ...mapGetters("application", ["sidebarCollapsed"]), menuStyle() { return { menu: true, nav: true, "flex-column": true, "visibility-extended": !this.sidebarCollapsed, "visibility-collapsed": this.sidebarCollapsed }; }, userinfoStyle() { return { user: true, "d-flex": true, "visibility-extended": !this.sidebarCollapsed, "visibility-collapsed": this.sidebarCollapsed }; }, collapseStyle() { return { collapser: true, collapserextended: !this.sidebarCollapsed, collapsercollapsed: this.sidebarCollapsed }; }, sidebarStyle() { return { sidebar: true, overlay: true, sidebarcollapsed: this.sidebarCollapsed, sidebarextended: !this.sidebarCollapsed, shadow: true }; } }, methods: { logoff() { this.$store.commit("user/clear_auth"); this.$router.push("/login"); } } }; </script> <style lang="scss"> @import "../assets/application.scss"; $sidebar-full-width: 210px; $collapser-left-offset: 170px; $sidebar-collapsed-width: 0px; .menupadding { padding: 0.5rem 1rem; } .collapser { position: absolute; top: 0px; z-index: 1000; background-color: #ffffff; font-size: 24px; } .collapserextended { left: $collapser-left-offset; transition: $transition; } .collapsercollapsed { left: 3px; transition: $transition; } .userpic { position: relative; left: 1px; } .menu { height: 90%; } .visibility-extended { opacity: 100; transition: $transition-slow; } .visibility-collapsed { opacity: 0; transition: $transition-fast; } .user { margin-top: auto; } .sidebar { margin-top: $topbarheight; background-color: #ffffff; padding-top: $large-offset; height: 96vh; } .overlay { position: absolute; z-index: 1; } .sidebarcollapsed { width: $sidebar-collapsed-width; transition: $transition; } .sidebarextended { width: $sidebar-full-width; transition: $transition; } .username { margin-left: $small-offset; } .userinfo { font-weight: bold; } .logout { position: relative; top: 16px; left: -5px; margin-left: $small-offset; cursor: pointer; } </style>