annotate client/src/components/importoverview/ImportOverview.vue @ 2796:718ec88fbeed

import_overview: disable loading spinner in case of errors
author Thomas Junk <thomas.junk@intevation.de>
date Mon, 25 Mar 2019 13:44:55 +0100
parents c1e832f77726
children e19fac818aab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
1 <template>
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
2 <div class="overview">
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
3 <UIBoxHeader
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
4 icon="clipboard-check"
2760
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
5 :title="importReviewLabel"
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
6 :closeCallback="$parent.close"
2789
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
7 :actions="[{ callback: loadUpdatedLogs, icon: 'redo' }]"
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
8 />
2632
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
9 <div class="position-relative">
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
10 <transition name="fade">
2740
85de42146bdb client: css: moved class for loading overlay to application.scss
Markus Kottlaender <markus@intevation.de>
parents: 2738
diff changeset
11 <div class="loading" v-if="loading">
2632
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
12 <font-awesome-icon icon="spinner" spin />
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
13 </div>
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
14 </transition>
2699
ef10f1cd6cb8 import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents: 2666
diff changeset
15 <div class="p-2 mb-1 d-flex flex-row flex-fill justify-content-between">
2632
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
16 <Filters></Filters>
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
17 <div>
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
18 <button
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
19 class="btn btn-sm btn-info"
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
20 :disabled="!reviewed.length"
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
21 @click="save"
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
22 >
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
23 <translate>Commit</translate> {{ reviewed.length }}
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
24 </button>
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
25 </div>
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
26 </div>
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
27 <div
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
28 class="ml-2 mr-2 mb-2 datefilter d-flex flex-row justify-content-between"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
29 >
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
30 <div class="mr-3 my-auto pointer">
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
31 <button
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
32 :disabled="!this.prev"
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
33 @click="earlier"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
34 class="btn btn-sm btn-outline-light text-dark"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
35 >
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
36 <translate>Earlier</translate>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
37 <font-awesome-icon class="ml-2" icon="angle-left" />
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
38 </button>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
39 </div>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
40 <div class="selected-interval my-auto">
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
41 <span class="date">{{ interval[0] | dateTime }}</span>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
42 <span class="ml-3 mr-3">-</span>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
43 <span class="date">{{ interval[1] | dateTime }}</span>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
44 </div>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
45 <div class="ml-3 my-auto pointer">
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
46 <button
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
47 :disabled="!this.next"
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
48 @click="later"
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
49 class="btn btn-sm btn-outline-light text-dark"
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
50 >
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
51 <font-awesome-icon class="mr-2" icon="angle-right" /><translate
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
52 >Later</translate
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
53 >
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
54 </button>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
55 </div>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
56 <div class="d-flex flex-row">
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
57 <select
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
58 class="my-auto btn btn-outline-light text-dark form-control interval-select"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
59 v-model="selectedInterval"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
60 >
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
61 <option
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
62 :selected="selectedInterval === $options.LAST_HOUR"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
63 :value="$options.LAST_HOUR"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
64 ><translate>Hour</translate></option
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
65 >
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
66 <option
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
67 :selected="selectedInterval === $options.TODAY"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
68 :value="$options.TODAY"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
69 ><translate>Day</translate></option
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
70 >
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
71 <option
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
72 :selected="selectedInterval === $options.LAST_7_DAYS"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
73 :value="$options.LAST_7_DAYS"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
74 ><translate>7 days</translate></option
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
75 >
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
76 <option
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
77 :selected="selectedInterval === $options.LAST_30_DAYS"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
78 :value="$options.LAST_30_DAYS"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
79 ><translate>30 Days</translate></option
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
80 >
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
81 </select>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
82 </div>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
83 </div>
2699
ef10f1cd6cb8 import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents: 2666
diff changeset
84 <UITableHeader
ef10f1cd6cb8 import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents: 2666
diff changeset
85 :columns="[
2779
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
86 { id: 'id', title: `${idLabel}`, width: '79px' },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
87 { id: 'kind', title: `${kindLabel}`, width: '53px' },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
88 { id: 'enqueued', title: `${enqueuedLabel}`, width: '138px' },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
89 { id: 'user', title: `${userLabel}`, width: '105px' },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
90 { id: 'signer', title: `${signerLabel}`, width: '105px' },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
91 { id: 'state', title: `${statusLabel}`, width: '72px' },
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
92 { id: 'warnings', icon: 'exclamation-triangle', width: '44px' }
2699
ef10f1cd6cb8 import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents: 2666
diff changeset
93 ]"
ef10f1cd6cb8 import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents: 2666
diff changeset
94 />
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
95 <!--
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
96 For server-side sorting, etc simply don't use the sortTable filter.
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
97 Instead you could just pass a function that loads the imports, like:
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
98 :data="loadImports(sortColumn, sortDirection)"
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
99 -->
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
100 <UITableBody
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
101 :data="filteredImports() | sortTable(sortColumn, sortDirection)"
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
102 maxHeight="80vh"
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
103 v-slot="{ item: entry }"
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
104 >
2725
9465749410ba client: import overview: use table body component
Markus Kottlaender <markus@intevation.de>
parents: 2720
diff changeset
105 <LogEntry :entry="entry"></LogEntry>
9465749410ba client: import overview: use table body component
Markus Kottlaender <markus@intevation.de>
parents: 2720
diff changeset
106 </UITableBody>
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
107 </div>
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
108 </div>
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
109 </template>
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
110
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
111 <script>
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
112 /* This is Free Software under GNU Affero General Public License v >= 3.0
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
113 * without warranty, see README.md and license for details.
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
114 *
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
115 * SPDX-License-Identifier: AGPL-3.0-or-later
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
116 * License-Filename: LICENSES/AGPL-3.0.txt
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
117 *
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
118 * Copyright (C) 2018 by via donau
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
119 * – Österreichische Wasserstraßen-Gesellschaft mbH
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
120 * Software engineering by Intevation GmbH
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
121 *
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
122 * Author(s):
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
123 * Thomas Junk <thomas.junk@intevation.de>
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
124 * Markus Kottländer <markus.kottlaender@intevation.de>
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
125 */
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
126
2654
3c04c8e46bd4 importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2651
diff changeset
127 import { mapState, mapGetters } from "vuex";
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
128 import { displayError, displayInfo } from "@/lib/errors";
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
129 import { STATES } from "@/store/imports";
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
130 import { sortTable } from "@/lib/mixins";
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
131 import { HTTP } from "@/lib/http.js";
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
132
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
133 import {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
134 startOfDay,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
135 startOfHour,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
136 endOfHour,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
137 endOfDay,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
138 addDays,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
139 subDays,
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
140 format
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
141 } from "date-fns";
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
142
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
143 export default {
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
144 name: "importoverview",
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
145 mixins: [sortTable],
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
146 components: {
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
147 Filters: () => import("./Filters.vue"),
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
148 LogEntry: () => import("./LogEntry.vue")
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
149 },
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
150 data() {
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
151 return {
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
152 loading: false,
2759
7badd99c9315 import_overview: sprinkled fairydust into the app to make magical timewarp possible for log_overview
Thomas Junk <thomas.junk@intevation.de>
parents: 2753
diff changeset
153 selectedInterval: this.$options.LAST_HOUR
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
154 };
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
155 },
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
156 LAST_HOUR: "lasthour",
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
157 TODAY: "today",
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
158 LAST_7_DAYS: "lastsevendays",
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
159 LAST_30_DAYS: "lastthirtydays",
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
160 computed: {
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
161 ...mapState("application", ["searchQuery"]),
2759
7badd99c9315 import_overview: sprinkled fairydust into the app to make magical timewarp possible for log_overview
Thomas Junk <thomas.junk@intevation.de>
parents: 2753
diff changeset
162 ...mapState("imports", [
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
163 "show",
2759
7badd99c9315 import_overview: sprinkled fairydust into the app to make magical timewarp possible for log_overview
Thomas Junk <thomas.junk@intevation.de>
parents: 2753
diff changeset
164 "imports",
7badd99c9315 import_overview: sprinkled fairydust into the app to make magical timewarp possible for log_overview
Thomas Junk <thomas.junk@intevation.de>
parents: 2753
diff changeset
165 "reviewed",
7badd99c9315 import_overview: sprinkled fairydust into the app to make magical timewarp possible for log_overview
Thomas Junk <thomas.junk@intevation.de>
parents: 2753
diff changeset
166 "startDate",
7badd99c9315 import_overview: sprinkled fairydust into the app to make magical timewarp possible for log_overview
Thomas Junk <thomas.junk@intevation.de>
parents: 2753
diff changeset
167 "endDate",
7badd99c9315 import_overview: sprinkled fairydust into the app to make magical timewarp possible for log_overview
Thomas Junk <thomas.junk@intevation.de>
parents: 2753
diff changeset
168 "prev",
7badd99c9315 import_overview: sprinkled fairydust into the app to make magical timewarp possible for log_overview
Thomas Junk <thomas.junk@intevation.de>
parents: 2753
diff changeset
169 "next"
7badd99c9315 import_overview: sprinkled fairydust into the app to make magical timewarp possible for log_overview
Thomas Junk <thomas.junk@intevation.de>
parents: 2753
diff changeset
170 ]),
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
171 ...mapGetters("imports", ["filters"]),
2760
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
172 importReviewLabel() {
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
173 return this.$gettext("Import review");
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
174 },
2779
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
175 idLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
176 return this.$gettext("Id");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
177 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
178 kindLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
179 return this.$gettext("Kind");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
180 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
181 enqueuedLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
182 return this.$gettext("Enqueued");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
183 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
184 userLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
185 return this.$gettext("User");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
186 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
187 signerLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
188 return this.$gettext("Signer");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
189 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
190 statusLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
191 return this.$gettext("Status");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
192 },
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
193 interval() {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
194 return [this.startDate, this.endDate];
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
195 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
196 },
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
197 methods: {
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
198 determineInterval(pointInTime) {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
199 let start, end;
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
200 switch (this.selectedInterval) {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
201 case this.$options.LAST_HOUR:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
202 start = startOfHour(pointInTime);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
203 end = endOfHour(pointInTime);
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
204 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
205 case this.$options.TODAY:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
206 start = startOfDay(pointInTime);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
207 end = endOfDay(pointInTime);
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
208 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
209 case this.$options.LAST_7_DAYS:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
210 start = startOfDay(pointInTime);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
211 end = endOfDay(addDays(7, start));
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
212 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
213 case this.$options.LAST_30_DAYS:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
214 start = startOfDay(pointInTime);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
215 end = endOfDay(addDays(30, start));
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
216 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
217 }
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
218 return [start, end];
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
219 },
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
220 earlier() {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
221 if (!this.prev) return;
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
222 const [start, end] = this.determineInterval(this.prev);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
223 this.$store.commit("imports/setStartDate", start);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
224 this.$store.commit("imports/setEndDate", end);
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
225 this.loadLogs();
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
226 },
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
227 later() {
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
228 if (!this.next) return;
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
229 const [start, end] = this.determineInterval(this.next);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
230 this.$store.commit("imports/setStartDate", start);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
231 this.$store.commit("imports/setEndDate", end);
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
232 this.loadLogs();
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
233 },
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
234 filteredImports() {
2749
cd789302b3e2 import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents: 2748
diff changeset
235 return this.imports;
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
236 },
2789
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
237 loadUpdatedLogs() {
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
238 const [start, end] = this.determineInterval(new Date());
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
239 this.$store.commit("imports/setStartDate", start);
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
240 this.$store.commit("imports/setEndDate", end);
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
241 this.loadLogs();
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
242 },
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
243 loadLogs() {
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
244 this.loading = true;
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
245 this.$store
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
246 .dispatch("imports/getImports", {
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
247 filter: this.filters,
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
248 from: format(this.startDate, "YYYY-MM-DDTHH:mm:ss.SSS"),
2749
cd789302b3e2 import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents: 2748
diff changeset
249 to: format(this.endDate, "YYYY-MM-DDTHH:mm:ss.SSS"),
cd789302b3e2 import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents: 2748
diff changeset
250 query: this.searchQuery
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
251 })
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
252 .then(() => {
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
253 if (this.show != -1) {
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
254 HTTP.get("/imports/" + this.show, {
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
255 headers: { "X-Gemma-Auth": localStorage.getItem("token") }
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
256 })
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
257 .then(response => {
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
258 this.$store.commit("imports/setCurrentDetails", response.data);
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
259 this.loading = false;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
260 })
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
261 .catch(error => {
2796
718ec88fbeed import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents: 2789
diff changeset
262 this.loading = false;
718ec88fbeed import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents: 2789
diff changeset
263 this.$store.commit("imports/setCurrentDetails", {});
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
264 const { status, data } = error.response;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
265 displayError({
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
266 title: this.$gettext("Backend Error"),
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
267 message: `${status}: ${data.message || data}`
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
268 });
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
269 });
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
270 } else {
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
271 this.loading = false;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
272 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
273 })
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
274 .catch(error => {
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
275 const { status, data } = error.response;
2796
718ec88fbeed import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents: 2789
diff changeset
276 this.loading = false;
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
277 displayError({
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
278 title: this.$gettext("Backend Error"),
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
279 message: `${status}: ${data.message || data}`
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
280 });
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
281 });
2626
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
282 },
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
283 save() {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
284 if (!this.reviewed.length) return;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
285
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
286 let popupContent = `<table class="table table-sm small mb-0 border-0" style="margin-top: -1px;">`;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
287 this.reviewed.forEach(r => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
288 let imp = this.imports.find(i => i.id === r.id);
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
289 let approved = STATES.APPROVED === r.status;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
290 popupContent += `<tr>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
291 <td>${imp.id}</td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
292 <td>${imp.kind.toUpperCase()}</td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
293 <td>${this.$options.filters.dateTime(imp.enqueued)}</td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
294 <td class="text-${approved ? "success" : "danger"}">
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
295 ${this.$gettext(approved ? "approved" : "declined")}
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
296 </td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
297 </tr>`;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
298 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
299 popupContent += "</table>";
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
300
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
301 this.$store.commit("application/popup", {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
302 icon: "clipboard-check",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
303 title: this.$gettext("Finish Review"),
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
304 padding: false,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
305 big: true,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
306 content: popupContent,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
307 confirm: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
308 icon: "check",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
309 callback: () => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
310 let data = this.reviewed.map(r => ({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
311 id: r.id,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
312 state: r.status
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
313 }));
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
314 this.$store
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
315 .dispatch("imports/confirmReview", data)
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
316 .then(response => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
317 this.loadLogs();
2638
6c1730fc3dc1 client: importsoverview2: clear reviewed array after finishing review
Markus Kottlaender <markus@intevation.de>
parents: 2632
diff changeset
318 this.$store.commit("imports/setReviewed", []);
2626
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
319 const messages = response.data
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
320 .map(x => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
321 if (x.message) return x.message;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
322 if (x.error) return x.error;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
323 })
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
324 .join("\n\n");
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
325 displayInfo({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
326 title: "Staging Area",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
327 message: messages,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
328 options: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
329 timeout: 0,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
330 buttons: [{ text: "Ok", action: null, bold: true }]
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
331 }
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
332 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
333 })
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
334 .catch(error => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
335 const { status, data } = error.response;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
336 displayError({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
337 title: "Backend Error",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
338 message: `${status}: ${data.message || data}`
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
339 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
340 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
341 }
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
342 },
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
343 cancel: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
344 label: this.$gettext("Cancel"),
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
345 icon: "times"
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
346 }
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
347 });
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
348 }
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
349 },
2593
956b230c6062 overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2592
diff changeset
350 watch: {
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
351 selectedInterval() {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
352 const now = new Date();
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
353 switch (this.selectedInterval) {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
354 case this.$options.LAST_HOUR:
2753
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
355 this.$store.commit("imports/setStartDate", startOfHour(now));
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
356 this.$store.commit("imports/setEndDate", now);
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
357 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
358 case this.$options.TODAY:
2753
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
359 this.$store.commit("imports/setStartDate", startOfDay(now));
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
360 this.$store.commit("imports/setEndDate", now);
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
361 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
362 case this.$options.LAST_7_DAYS:
2753
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
363 this.$store.commit(
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
364 "imports/setStartDate",
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
365 subDays(startOfDay(now), 7)
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
366 );
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
367 this.$store.commit("imports/setEndDate", now);
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
368 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
369 case this.$options.LAST_30_DAYS:
2753
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
370 this.$store.commit(
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
371 "imports/setStartDate",
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
372 subDays(startOfDay(now), 30)
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
373 );
2aa1620ffd9e search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents: 2749
diff changeset
374 this.$store.commit("imports/setEndDate", now);
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
375 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
376 }
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
377 this.loadLogs();
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
378 },
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
379 imports() {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
380 if (this.imports.length == 0) {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
381 if (this.next) {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
382 const [start, end] = this.determineInterval(this.next);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
383 this.$store.commit("imports/setStartDate", start);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
384 this.$store.commit("imports/setEndDate", end);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
385 this.loadLogs();
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
386 } else if (this.prev) {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
387 const [start, end] = this.determineInterval(this.prev);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
388 this.$store.commit("imports/setStartDate", start);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
389 this.$store.commit("imports/setEndDate", end);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
390 this.loadLogs();
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
391 }
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
392 }
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
393 },
2593
956b230c6062 overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2592
diff changeset
394 filters() {
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
395 this.loadLogs();
2593
956b230c6062 overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2592
diff changeset
396 }
956b230c6062 overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2592
diff changeset
397 },
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
398 mounted() {
2785
9a7d4caa1b77 import_overview: search is cleared when entering view
Thomas Junk <thomas.junk@intevation.de>
parents: 2779
diff changeset
399 this.$store.commit("application/searchQuery", "");
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
400 this.loadLogs();
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
401 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
402 };
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
403 </script>
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
404
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
405 <style lang="scss" scoped>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
406 .date {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
407 font-stretch: condensed;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
408 }
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
409 .interval-select {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
410 padding: 0px;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
411 margin: 0px;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
412 font-size: 80%;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
413 }
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
414 </style>