Mercurial > gemma
view client/src/App.vue @ 1251:d1903250390b
splitted mophtool into two components
one shows the survey results and the other the info bar when a bottleneck is selected (and no profile is shown)
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Wed, 21 Nov 2018 12:10:12 +0100 |
parents | 104d41ea7c15 |
children | 13abf612cd9d |
line wrap: on
line source
<template> <div id="app" class="main"> <div v-if="isAuthenticated" class="d-flex flex-column userinterface"> <div class="topbar d-flex pt-3 mx-3"> <div class="mr-auto d-flex"> <Sidebar :routeName="routeName"></Sidebar> <div class="d-flex flex-column" style="max-width: 600px;"> <Search v-if="routeName == 'mainview'"></Search> <Contextbox v-if="routeName == 'mainview'"></Contextbox> </div> </div> <div class="ml-auto d-flex"> <Pdftool v-if="routeName == 'mainview'"></Pdftool> <Layers v-if="routeName == 'mainview'"></Layers> <Identify v-if="routeName == 'mainview'"></Identify> <Toolbar v-if="routeName == 'mainview'"></Toolbar> </div> </div> <div class="flex-fill"></div> <div class="d-flex flex-row align-items-end"> <Morphtool v-if="routeName == 'mainview'"></Morphtool> <Infobar v-if="routeName == 'mainview'"></Infobar> </div> <Zoom v-if="routeName == 'mainview'"></Zoom> </div> <div class="d-flex flex-column"> <router-view/> </div> </div> </template> <style lang="sass" scoped> .userinterface position: absolute top: 0 left: 0 height: 100vh width: 100vw z-index: 4 pointer-events: none .topbar position: relative z-index: 2 #app height: 100vh width: 100vw font-family: "Avenir", Helvetica, Arial, sans-serif -webkit-font-smoothing: antialiased -moz-osx-font-smoothing: grayscale text-align: center color: #2c3e50 </style> <script> /* * 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 { mapState } from "vuex"; export default { name: "app", computed: { ...mapState("user", ["isAuthenticated"]), routeName() { const routeName = this.$route.name; return routeName; } }, components: { Morphtool: () => import("./morphtool/Morphtool"), Infobar: () => import("./morphtool/Infobar"), Pdftool: () => import("./pdftool/Pdftool"), Zoom: () => import("./zoom/zoom"), Identify: () => import("./identify/Identify"), Layers: () => import("./layers/Layers"), Sidebar: () => import("./application/Sidebar"), Search: () => import("./application/Search"), Contextbox: () => import("./application/Contextbox"), Toolbar: () => import("./toolbar/Toolbar") } }; </script>