view client/src/components/DiagramLegend.vue @ 3264:9ae43313b463

Handle some possibly missing elements in NtS response The NtS XSD does not guarantee that value, value_min and value_max are present in a response. This led to circumventing the NOT NULL constraint for the waterlevel value by silently persisting missing values as zero and filling up missing confidence interval values especially for measurements with zeros.
author Tom Gottfried <tom@intevation.de>
date Wed, 15 May 2019 12:31:57 +0200
parents 7d33eff62dc6
children bf8f21ef40b8
line wrap: on
line source

<template>
  <div :class="['diagram-legend', { collapsed }]">
    <span class="box-control toggle" @click="collapsed = !collapsed">
      <font-awesome-icon icon="angle-left" fixed-width />
    </span>
    <div
      class="d-flex align-items-center justify-content-center w-100"
      style="overflow: hidden"
    >
      <div class="text-left">
        <slot />
      </div>
    </div>
  </div>
</template>

<style lang="sass">
.diagram-legend
  position: relative
  width: 180px
  font-size: 0.8rem
  display: flex
  border-right: solid 1px #dee2e6
  .toggle
    margin-left: 0
    position: absolute
    top: 0.25rem
    left: 0.25rem
    svg
      transition: transform 0.3s
  &.collapsed
    width: 0
    border-right: none
    .toggle
      left: 0.25rem
      svg
        transform: rotateY(180deg)
  .legend
    margin: 10px 0
    span
      vertical-align: middle
      display: inline-block
      width: 12px
      height: 12px
      border-radius: 50%
</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):
 * Markus Kottländer <markus.kottlaender@intevation.de>
 */

export default {
  data() {
    return {
      collapsed: false
    };
  },
  watch: {
    collapsed() {
      this.$nextTick(this.$parent.drawDiagram);
    }
  }
};
</script>