view client/src/linetool/Linetool.vue @ 1111:f106aee673e7 store-refactoring

selected bottleneck and surveys now handled by bottleneck store
author Markus Kottlaender <markus@intevation.de>
date Mon, 05 Nov 2018 13:12:33 +0100
parents 23b1d8c0e782
children 2c3d32322126
line wrap: on
line source

<template>
    <div @click="drawLine" class="ui-element d-flex shadow drawtool">
        <i :class="icon"></i>
    </div>
</template>

<style lang="scss">
.drawtool {
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: white;
  padding: $small-offset;
  border-radius: $border-radius;
  margin-left: $offset;
  height: $icon-width;
  width: $icon-height;
  margin-bottom: $offset;
  margin-right: $offset;
  z-index: 2;
}

.inverted {
  color: #0077ff;
}
</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 { mapState } from "vuex";

export default {
  name: "linetool",
  methods: {
    drawLine() {
      if (!this.selectedSurvey && this.drawMode === "LineString") {
        this.$store.commit("application/activateDrawModePolygon");
      } else {
        this.$store.commit("application/toggleDrawModeLine");
      }
    }
  },
  computed: {
    ...mapState("application", ["drawMode"]),
    ...mapState("identifystore", ["identifiedFeatures"]),
    ...mapState("bottlenecks", ["selectedSurvey"]),
    icon() {
      return {
        fa: true,
        "fa-area-chart": this.selectedSurvey,
        "fa-edit": !this.selectedSurvey && this.drawMode === "Polygon",
        "fa-pencil": !this.selectedSurvey && this.drawMode !== "Polygon",
        inverted: this.drawMode
      };
    }
  }
};
</script>