Mercurial > gemma
view client/src/components/map/Zoom.vue @ 5704:a68e8eae7273 sr-v2
Dont store bounding boxes in v2 meshes.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 19 Feb 2024 18:27:40 +0100 |
parents | 84d01a536bec |
children |
line wrap: on
line source
<template> <div :class="['zoom-buttons shadow-xs', { move: showTimeSlider }]"> <button class="zoom-button border-0 bg-white rounded-left ui-element" @click="zoomOut" > <font-awesome-icon icon="minus" /> </button> <button class="zoom-button border-0 bg-white rounded-right ui-element border-right" @click="zoomIn" > <font-awesome-icon icon="plus" /> </button> </div> </template> <style> .zoom-buttons { position: absolute; z-index: 1; bottom: var(--small-offset); left: 50%; margin-left: -var(--icon-width); margin-bottom: 0; transition: margin-bottom 0.3s; } .zoom-buttons.move { bottom: calc(var(--large-offset) * 1.5); } .zoom-buttons .zoom-button { min-height: var(--icon-width); min-width: var(--icon-width); z-index: 1; outline: none; color: #666; } </style> <script> import { mapState } from "vuex"; /* 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@intevation.de> * Thomas Junk <thomas.junk@intevation.de> */ export default { props: ["map"], computed: { ...mapState("application", ["showTimeSlider"]), zoomLevel: { get() { return this.map.getView().getZoom(); }, set(value) { this.map.getView().animate({ zoom: value, duration: 300 }); } } }, methods: { zoomIn() { this.zoomLevel = this.zoomLevel + 1; }, zoomOut() { this.zoomLevel = this.zoomLevel - 1; } } }; </script>