Mercurial > gemma
view client/src/components/KeyboardHandler.vue @ 4130:980f12d3c766 request_hist_bns
bottleneck import: Fixed detection of identical bottlenecks.
author | Sascha Wilde <wilde@intevation.de> |
---|---|
date | Thu, 01 Aug 2019 18:23:32 +0200 |
parents | 869505c5087b |
children | 0fa20662ca66 |
line wrap: on
line source
<template> <transition name="fade"> <div class="notice" v-if="showNotice"> <span>{{ noticeText }}</span> </div> </transition> </template> <style lang="sass" scoped> .notice position: absolute top: 0 width: 100% text-align: center z-index: 1 font-size: 11px line-height: 11px > span opacity: 0.5 background: white display: inline-block border-bottom-right-radius: 0.25rem border-bottom-left-radius: 0.25rem padding: 3px 5px </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): * Markus Kottländer <markus.kottlaender@intevation.de> */ import { mapState } from "vuex"; export default { computed: { ...mapState("application", ["paneSetup"]), ...mapState("map", [ "openLayersMaps", "lineToolEnabled", "polygonToolEnabled", "cutToolEnabled" ]), showNotice() { return ( this.lineToolEnabled || this.polygonToolEnabled || this.cutToolEnabled || this.paneSetup.includes("COMPARESURVEYS") ); }, noticeText() { if ( this.lineToolEnabled || this.polygonToolEnabled || this.cutToolEnabled ) { return this.$gettext("Press ESC to stop drawing."); } else if (this.paneSetup.includes("COMPARESURVEYS")) { return this.$gettext("Press ESC to close compare view."); } } }, mounted() { window.addEventListener("keydown", e => { // Escape if (e.keyCode === 27) { if ( this.lineToolEnabled || this.polygonToolEnabled || this.cutToolEnabled ) { this.$store.commit("map/lineToolEnabled", false); this.$store.commit("map/polygonToolEnabled", false); this.$store.commit("map/cutToolEnabled", false); this.$store.commit("map/setCurrentMeasurement", null); this.openLayersMaps.forEach(m => { m.getLayer("DRAWTOOL") .getSource() .clear(); }); } else if (this.paneSetup.includes("COMPARESURVEYS")) { this.$store.commit("fairwayprofile/additionalSurvey", null); } } }); } }; </script>