Mercurial > gemma
view client/src/components/importoverview/LogDetail.vue @ 2608:13377f2a5c42
overview2: agm details prototype implemented
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Wed, 13 Mar 2019 09:45:29 +0100 |
parents | 11fd7ee37f10 |
children | c52bf6f994c0 |
line wrap: on
line source
<template> <div> <div class="d-flex fex-row"> <div v-if="hasAdditionalInfo"> <font-awesome-icon v-if="entry.id === showAdditional" @click="toggleAdditionalInfo" class="my-auto mr-1 text-info pointer" icon="angle-down" fixed-width ></font-awesome-icon> <font-awesome-icon v-if="entry.id !== showAdditional" @click="toggleAdditionalInfo" class="my-auto mr-1 text-info pointer" icon="angle-right" fixed-width ></font-awesome-icon> <span class="text-info"><translate>Additional Info</translate></span> <span class="text-info" v-if="isApprovedGaugeMeasurement"> ({{ entry.summary.length }})</span > <span v-if="isBottleneck" class="text-left">{{ data.summary.bottlenecks.length }}</span> <span class="text-left" v-if="isFairwayDimension" >{{ entry.summary["source-organization"] }} (LOS: {{ entry.summary.los }})</span > </div> <StretchDetail v-if="isStretch" :entry="entry"></StretchDetail> <SoundingResultDetail :entry="entry" v-if="isSoundingResult" ></SoundingResultDetail> </div> <AdditionalDetail v-if="entry.id === showAdditional" class="ml-2 d-flex flex-row" :entry="entry" ></AdditionalDetail> <div class="d-flex fex-row"> <font-awesome-icon v-if="entry.id === showLogs" @click="toggleAdditionalLogging" class="my-auto mr-1 text-info pointer" icon="angle-down" fixed-width ></font-awesome-icon> <font-awesome-icon v-if="entry.id !== showLogs" @click="toggleAdditionalLogging" class="my-auto mr-1 text-info pointer" icon="angle-right" fixed-width ></font-awesome-icon> <span class="text-info"><translate>Logs</translate></span> </div> <AdditionalLog v-if="entry.id === showLogs" class="ml-4 d-flex flex-row mr-1" :entry="entry" ></AdditionalLog> </div> </template> <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: "logdetail", props: ["entry"], components: { SoundingResultDetail: () => import("./SoundingResultDetail.vue"), StretchDetail: () => import("./StretchDetails.vue"), AdditionalDetail: () => import("./AdditionalDetail.vue"), AdditionalLog: () => import("./AdditionalLog.vue") }, methods: { toggleAdditionalInfo() { if (this.entry.id === this.showAdditional) { this.$store.commit("imports/hideAdditionalInfo"); } else { this.$store.commit("imports/showAdditionalInfoFor", this.entry.id); } }, toggleAdditionalLogging() { if (this.entry.id === this.showLogs) { this.$store.commit("imports/hideAdditionalLogs"); } else { this.$store.commit("imports/showAdditionalLogsFor", this.entry.id); } } }, computed: { ...mapState("imports", ["showAdditional", "showLogs"]), kind() { return this.entry.kind.toUpperCase(); }, hasAdditionalInfo() { return this.entry.state == "pending" && this.isApprovedGaugeMeasurement; }, isFairwayDimension() { return this.kind === "FD"; }, isApprovedGaugeMeasurement() { return this.kind === "AGM"; }, isBottleneck() { return this.kind === "BN" || this.kind === "UBN"; }, isStretch() { return this.kind === "ST"; }, isSoundingResult() { return this.kind === "SR"; } } }; </script> <style lang="scss" scoped></style>