Mercurial > gemma
view client/src/layers/Layerselect.vue @ 1123:d9e6a1f6f394 store-refactoring
moved all collapse flags for UI elements to store
UI elements can now be expanded/collapsed via the application store
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Tue, 06 Nov 2018 13:00:17 +0100 |
parents | ca628dce90dd |
children | 2fda33d55d81 |
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">{{layername}}</label> </div> <div v-if="isVisible && (layername == 'Bottleneck isolines')" class="card"> <img class="rounded mx-auto d-block" :src="isolinesLegendImgUrl"> </div> </div> </template> <style lang="scss"> .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 by via donau * – Österreichische Wasserstraßen-Gesellschaft mbH * Software engineering by Intevation GmbH * * Author(s): * Thomas Junk <thomas.junk@intevation.de> */ import { HTTP } from "../application/lib/http"; import LegendElement from "./LegendElement.vue"; export default { props: ["layername", "layerindex", "isVisible"], name: "layerselect", data() { return { isolinesLegendImgUrl: "" }; }, components: { LegendElement }, methods: { visibilityToggled() { this.$emit("visibilityToggled", this.layerindex); } }, created() { // fetch legend image for bottleneck isolines // TODO: move to store 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 urlCreator = window.URL || window.webkitURL; this.isolinesLegendImgUrl = urlCreator.createObjectURL(response.data); }); } } }; </script>