view client/src/components/map/layers/Layerselect.vue @ 1362:ca33ad696594

remove the first empyty lines * remove the first empyty line in the license hearders to client files
author Fadi Abbud <fadi.abbud@intevation.de>
date Mon, 26 Nov 2018 11:42:47 +0100
parents ea3a89a1813a
children bb47531bdd22
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="isolinesLegendImgUrl">
    </div>
  </div>
</template>

<style lang="sass" 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 by via donau
 *   – Österreichische Wasserstraßen-Gesellschaft mbH
 * Software engineering by Intevation GmbH
 *
 * Author(s):
 * Thomas Junk <thomas.junk@intevation.de>
 */
import { HTTP } from "../../../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>