Mercurial > gemma
view client/src/components/importoverview/AdditionalLog.vue @ 3750:dbdef91a3ff3 infiniscroll
first implementation
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Thu, 20 Jun 2019 17:21:09 +0200 |
parents | 91539caae611 |
children | 7ca3b288ac5e |
line wrap: on
line source
<template> <div :class="[ 'additionallog d-flex flex-column text-left', { split: showAdditional } ]" > <virtual-list :size="20" :remain="8"> <Item class="d-flex flex-row px-2 border-top" v-for="item in details.entries" :key="item.time" :line="item" /> </virtual-list> <!-- <div class="d-flex flex-row px-2 border-top" v-for="(line, index) in details.entries" :key="index" > <span :class="[ 'kind', { 'text-danger': /error/.test(line.kind), 'text-warning': /warn/.test(line.kind), 'font-weight-bold': /warn|error/.test(line.kind) } ]" >{{ line.kind.toUpperCase() }}</span > <span :class="[ 'time', { 'text-danger': /error/.test(line.kind), 'text-warning': /warn/.test(line.kind), 'font-weight-bold': /warn|error/.test(line.kind) } ]" >{{ line.time | dateTime }}</span > <span :class="[ 'message', { 'text-danger': /error/.test(line.kind), 'text-warning': /warn/.test(line.kind), 'font-weight-bold': /warn|error/.test(line.kind) } ]" >{{ line.message }}</span > </div> --> </div> </template> <style lang="sass" scoped> .additionallog overflow-y: auto &.split max-height: 35vh > div &:not(:first-child) border-top-style: dashed !important &:hover background-color: #fcfcfc </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"; import virtualList from "vue-virtual-scroll-list"; export default { name: "additionallogs", components: { "virtual-list": virtualList, Item: () => import("./LogItem.vue") }, computed: { ...mapState("imports", ["showAdditional", "details"]) } }; </script>