Mercurial > gemma
view client/src/components/layers/Layerselect.vue @ 1965:f845236e76bd
Translated using Weblate (Bulgarian)
Currently translated at 2.7% (6 of 221 strings)
Translation: Gemma/client
Translate-URL: https://hosted.weblate.org/projects/gemma/client/bg/
author | Fadi Abbud <fadi.abbud@intevation.de> |
---|---|
date | Wed, 23 Jan 2019 09:38:17 +0000 |
parents | 5a37ee321651 |
children | a08e0f532304 |
line wrap: on
line source
<template> <div> <div class="form-check d-flex flex-row flex-start selection"> <input class="form-check-input" @change="visibilityToggled" :id="layername" type="checkbox" :checked="isVisible" /> <LegendElement :layername="layername" :layerindex="layerindex" ></LegendElement> <label class="layername form-check-label" @click="visibilityToggled">{{ layername }}</label> </div> <div v-if="isVisible && layername == 'Bottleneck isolines'"> <img class="rounded my-1 d-block" :src="isolinesLegendImgDataURL" /> </div> </div> </template> <style lang="scss" scoped> .selection { text-align: left; } .layername { margin-left: $small-offset; } </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, 2019 by via donau * – Österreichische Wasserstraßen-Gesellschaft mbH * Software engineering by Intevation GmbH * * Author(s): * * Thomas Junk <thomas.junk@intevation.de> * * Bernhard Reiter <bernhard.reiter@intevation.de> */ import { HTTP } from "@/lib/http"; import { mapState } from "vuex"; export default { props: ["layername", "layerindex", "isVisible"], name: "layerselect", components: { LegendElement: () => import("./LegendElement.vue") }, computed: { ...mapState("map", ["isolinesLegendImgDataURL"]) }, methods: { visibilityToggled() { this.$emit("visibilityToggled", this.layerindex); } }, created() { // fetch legend image for bottleneck isolines // directly read it as dataURL so it is reusable later if (this.layername == "Bottleneck isolines") { const src = "/internal/wms?REQUEST=GetLegendGraphic&VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=sounding_results_contour_lines_geoserver&legend_options=columns:4;fontAntiAliasing:true"; HTTP.get(src, { headers: { Accept: "image/png", "X-Gemma-Auth": localStorage.getItem("token") }, responseType: "blob" }).then(response => { var that = this; const reader = new FileReader(); reader.onload = function() { that.$store.commit("map/isolinesLegendImgDataURL", this.result); }; reader.readAsDataURL(response.data); }); } } }; </script>