Mercurial > gemma
annotate client/src/components/importoverview/ImportOverview.vue @ 5736:55892008ec96 default tip
Fixed a bunch of corner cases in WG import.
author | Sascha Wilde <wilde@sha-bang.de> |
---|---|
date | Wed, 29 May 2024 19:02:42 +0200 |
parents | 84d01a536bec |
children |
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" |
4493
b4880e7d4082
client: ImportOverview: change place of save button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4492
diff
changeset
|
7 :actions="[ |
b4880e7d4082
client: ImportOverview: change place of save button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4492
diff
changeset
|
8 { callback: saveImportsView, icon: 'download' }, |
b4880e7d4082
client: ImportOverview: change place of save button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4492
diff
changeset
|
9 { callback: loadUpdatedLogs, icon: 'sync' } |
b4880e7d4082
client: ImportOverview: change place of save button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4492
diff
changeset
|
10 ]" |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
11 /> |
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 <div class="position-relative"> |
2894
95e40c87a943
client: applied component name change where it is used
Markus Kottlaender <markus@intevation.de>
parents:
2885
diff
changeset
|
13 <UISpinnerOverlay v-if="loading" /> |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
14 <div class="border-bottom p-2 d-flex 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
|
15 <Filters></Filters> |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
16 <button |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
17 class="btn btn-xs btn-info" |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
18 :disabled="!reviewed.length" |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
19 @click="save" |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
20 > |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
21 <translate>Commit</translate> {{ reviewed.length }} |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
22 </button> |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
23 </div> |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
24 <div |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
25 class="p-2 d-flex align-items-center justify-content-between border-bottom" |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
26 > |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
27 <button |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
28 :disabled="!this.prev" |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
29 @click="earlier" |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
30 class="btn btn-xs btn-outline-secondary" |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
31 > |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
32 <font-awesome-icon icon="angle-left" fixed-width /> |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
33 <translate>Earlier</translate> |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
34 </button> |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
35 <div class="d-flex align-items-center small"> |
2945
ab771ea5e4fe
client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents:
2934
diff
changeset
|
36 {{ interval[0] | dateTime(selectedInterval !== $options.LAST_HOUR) }} |
ab771ea5e4fe
client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents:
2934
diff
changeset
|
37 <template v-if="selectedInterval !== $options.TODAY"> |
ab771ea5e4fe
client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents:
2934
diff
changeset
|
38 <span class="mx-2">–</span> |
ab771ea5e4fe
client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents:
2934
diff
changeset
|
39 {{ |
ab771ea5e4fe
client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents:
2934
diff
changeset
|
40 interval[1] | dateTime(selectedInterval !== $options.LAST_HOUR) |
ab771ea5e4fe
client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents:
2934
diff
changeset
|
41 }} |
ab771ea5e4fe
client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents:
2934
diff
changeset
|
42 </template> |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
43 <select |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
44 style="width: 75px; height: 24px" |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
45 class="form-control form-control-sm small ml-2" |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
46 v-model="selectedInterval" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
47 > |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
48 <option :value="$options.LAST_HOUR"> |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
49 <translate>Hour</translate> |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
50 </option> |
2877
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
51 <option :value="$options.TODAY"><translate>Day</translate></option> |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
52 <option :value="$options.LAST_7_DAYS"> |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
53 <translate>7 days</translate> |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
54 </option> |
2877
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
55 <option :value="$options.LAST_30_DAYS"> |
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
56 <translate>30 Days</translate> |
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
57 </option> |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
58 </select> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
59 </div> |
3416
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
60 <div class="btn-group"> |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
61 <button |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
62 :disabled="!this.next" |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
63 @click="later" |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
64 class="btn btn-xs btn-outline-secondary" |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
65 > |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
66 <translate>Later</translate> |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
67 <font-awesome-icon icon="angle-right" fixed-width /> |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
68 </button> |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
69 <button |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
70 :disabled="!this.next" |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
71 @click="now" |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
72 class="btn btn-xs btn-outline-secondary" |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
73 > |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
74 <font-awesome-icon icon="angle-double-right" fixed-width /> |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
75 </button> |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
76 </div> |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
77 </div> |
2699
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
78 <UITableHeader |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
79 :columns="[ |
4877
e89c1140f0a8
import_review: display review buttons in same line in firefox
Thomas Junk <thomas.junk@intevation.de>
parents:
4869
diff
changeset
|
80 { id: 'id', title: `${idLabel}`, width: '70px' }, |
4981
9f0830a1845d
squashed the total layout to enable display of long fm importnames
Thomas Junk <thomas.junk@intevation.de>
parents:
4915
diff
changeset
|
81 { |
9f0830a1845d
squashed the total layout to enable display of long fm importnames
Thomas Junk <thomas.junk@intevation.de>
parents:
4915
diff
changeset
|
82 id: 'kind', |
9f0830a1845d
squashed the total layout to enable display of long fm importnames
Thomas Junk <thomas.junk@intevation.de>
parents:
4915
diff
changeset
|
83 title: `${kindLabel.replace('fm_').toUpperCase()}`, |
9f0830a1845d
squashed the total layout to enable display of long fm importnames
Thomas Junk <thomas.junk@intevation.de>
parents:
4915
diff
changeset
|
84 width: '125px' |
9f0830a1845d
squashed the total layout to enable display of long fm importnames
Thomas Junk <thomas.junk@intevation.de>
parents:
4915
diff
changeset
|
85 }, |
4915
db134712519b
import overview remove fm prefix from import kind to circumvent layout problems
Thomas Junk <thomas.junk@intevation.de>
parents:
4877
diff
changeset
|
86 { id: 'enqueued', title: `${enqueuedLabel}`, width: '135px' }, |
3559
c220ad7e61ed
client: import review/configuration: unified column names in table (User/Author -> Owner)
Markus Kottlaender <markus@intevation.de>
parents:
3506
diff
changeset
|
87 { id: 'user', title: `${ownerLabel}`, width: '80px' }, |
4915
db134712519b
import overview remove fm prefix from import kind to circumvent layout problems
Thomas Junk <thomas.junk@intevation.de>
parents:
4877
diff
changeset
|
88 { id: 'country', title: `${countryLabel}`, width: '50px' }, |
3506
e2ed741545e1
import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents:
3416
diff
changeset
|
89 { id: 'signer', title: `${signerLabel}`, width: '80px' }, |
2779
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
90 { id: 'state', title: `${statusLabel}`, width: '72px' }, |
4774
1fd771b08ced
import_overview: added 'changed' column
Thomas Junk <thomas.junk@intevation.de>
parents:
4756
diff
changeset
|
91 { id: 'changed', title: `${changedLabel}`, width: '138px' }, |
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)" |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
102 :isActive="item => item.id === this.show" |
2934
cfa0adbfce63
import_overview: adjust layout height
Thomas Junk <thomas.junk@intevation.de>
parents:
2894
diff
changeset
|
103 maxHeight="70vh" |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
104 > |
2874
b9a6abef9f1c
client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents:
2847
diff
changeset
|
105 <template v-slot:row="{ item: entry }"> |
b9a6abef9f1c
client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents:
2847
diff
changeset
|
106 <LogEntry :entry="entry"></LogEntry> |
b9a6abef9f1c
client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents:
2847
diff
changeset
|
107 </template> |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
108 <template v-slot:expand="{ item: entry }"> |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
109 <LogDetail :entry="entry"></LogDetail> |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
110 </template> |
2725
9465749410ba
client: import overview: use table body component
Markus Kottlaender <markus@intevation.de>
parents:
2720
diff
changeset
|
111 </UITableBody> |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
112 </div> |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
113 </div> |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
114 </template> |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
115 |
5629
84d01a536bec
Transformed scss and sass styles into css
Luisa Beerboom <lbeerboom@intevation.de>
parents:
5456
diff
changeset
|
116 <style scoped> |
84d01a536bec
Transformed scss and sass styles into css
Luisa Beerboom <lbeerboom@intevation.de>
parents:
5456
diff
changeset
|
117 .spinner-overlay { |
84d01a536bec
Transformed scss and sass styles into css
Luisa Beerboom <lbeerboom@intevation.de>
parents:
5456
diff
changeset
|
118 top: 110px; |
84d01a536bec
Transformed scss and sass styles into css
Luisa Beerboom <lbeerboom@intevation.de>
parents:
5456
diff
changeset
|
119 } |
2885
190c84c712e8
client: importoverview: positioned spinner overlay so that it does not cover the controls in the top but only the table
Markus Kottlaender <markus@intevation.de>
parents:
2880
diff
changeset
|
120 </style> |
190c84c712e8
client: importoverview: positioned spinner overlay so that it does not cover the controls in the top but only the table
Markus Kottlaender <markus@intevation.de>
parents:
2880
diff
changeset
|
121 |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
122 <script> |
2578 | 123 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
124 * without warranty, see README.md and license for details. | |
125 * | |
126 * SPDX-License-Identifier: AGPL-3.0-or-later | |
127 * License-Filename: LICENSES/AGPL-3.0.txt | |
128 * | |
129 * Copyright (C) 2018 by via donau | |
130 * – Österreichische Wasserstraßen-Gesellschaft mbH | |
131 * Software engineering by Intevation GmbH | |
132 * | |
133 * Author(s): | |
134 * Thomas Junk <thomas.junk@intevation.de> | |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
135 * Markus Kottländer <markus.kottlaender@intevation.de> |
2578 | 136 */ |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
137 |
2654
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
138 import { mapState, mapGetters } from "vuex"; |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
139 import { displayError, displayInfo } from "@/lib/errors"; |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
140 import { STATES } from "@/store/imports"; |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
141 import { sortTable } from "@/lib/mixins"; |
2985
1b8bb4f89227
client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents:
2950
diff
changeset
|
142 import { HTTP } from "@/lib/http"; |
4501
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
143 import app from "@/main"; |
4801
b23414a3b333
import_overview: alternative save method for csv
Thomas Junk <thomas.junk@intevation.de>
parents:
4793
diff
changeset
|
144 import { saveAs } from "file-saver"; |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
145 import { |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
146 startOfDay, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
147 startOfHour, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
148 endOfHour, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
149 endOfDay, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
150 addDays, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
151 subDays, |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
152 format |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
153 } from "date-fns"; |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
154 |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
155 export default { |
2578 | 156 components: { |
2985
1b8bb4f89227
client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents:
2950
diff
changeset
|
157 Filters: () => import("./Filters"), |
1b8bb4f89227
client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents:
2950
diff
changeset
|
158 LogEntry: () => import("./LogEntry"), |
1b8bb4f89227
client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents:
2950
diff
changeset
|
159 LogDetail: () => import("./LogDetail") |
2578 | 160 }, |
2875
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
161 mixins: [sortTable], |
2877
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
162 LAST_HOUR: "lasthour", |
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
163 TODAY: "today", |
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
164 LAST_7_DAYS: "lastsevendays", |
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
165 LAST_30_DAYS: "lastthirtydays", |
2619
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
166 data() { |
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
167 return { |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
168 loading: false, |
2877
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
169 selectedInterval: this.$options.LAST_HOUR |
2619
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
170 }; |
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
171 }, |
2578 | 172 computed: { |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
173 ...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
|
174 ...mapState("imports", [ |
2771
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
175 "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
|
176 "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
|
177 "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
|
178 "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
|
179 "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
|
180 "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
|
181 "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
|
182 ]), |
3677
24fafb86b528
import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents:
3605
diff
changeset
|
183 ...mapGetters("usermanagement", ["userCountries"]), |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
184 ...mapGetters("imports", ["filters"]), |
3506
e2ed741545e1
import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents:
3416
diff
changeset
|
185 countryLabel() { |
e2ed741545e1
import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents:
3416
diff
changeset
|
186 return this.$gettext("Country"); |
e2ed741545e1
import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents:
3416
diff
changeset
|
187 }, |
2760
c6fba10926cc
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2759
diff
changeset
|
188 importReviewLabel() { |
c6fba10926cc
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2759
diff
changeset
|
189 return this.$gettext("Import review"); |
c6fba10926cc
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2759
diff
changeset
|
190 }, |
2779
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
191 idLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
192 return this.$gettext("Id"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
193 }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
194 kindLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
195 return this.$gettext("Kind"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
196 }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
197 enqueuedLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
198 return this.$gettext("Enqueued"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
199 }, |
4774
1fd771b08ced
import_overview: added 'changed' column
Thomas Junk <thomas.junk@intevation.de>
parents:
4756
diff
changeset
|
200 changedLabel() { |
1fd771b08ced
import_overview: added 'changed' column
Thomas Junk <thomas.junk@intevation.de>
parents:
4756
diff
changeset
|
201 return this.$gettext("Changed"); |
1fd771b08ced
import_overview: added 'changed' column
Thomas Junk <thomas.junk@intevation.de>
parents:
4756
diff
changeset
|
202 }, |
3559
c220ad7e61ed
client: import review/configuration: unified column names in table (User/Author -> Owner)
Markus Kottlaender <markus@intevation.de>
parents:
3506
diff
changeset
|
203 ownerLabel() { |
c220ad7e61ed
client: import review/configuration: unified column names in table (User/Author -> Owner)
Markus Kottlaender <markus@intevation.de>
parents:
3506
diff
changeset
|
204 return this.$gettext("Owner"); |
2779
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
205 }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
206 signerLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
207 return this.$gettext("Signer"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
208 }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
209 statusLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
210 return this.$gettext("Status"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
211 }, |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
212 interval() { |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
213 return [this.startDate, this.endDate]; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
214 } |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
215 }, |
2875
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
216 watch: { |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
217 $route() { |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
218 const { id } = this.$route.params; |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
219 if (id) this.showSingleRessource(id); |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
220 }, |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
221 selectedInterval() { |
2950
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
222 this.loadUpdatedLogs(); |
2875
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
223 }, |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
224 imports() { |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
225 if (this.imports.length == 0) { |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
226 if (this.next) { |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
227 const [start, end] = this.determineInterval(this.next); |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
228 this.$store.commit("imports/setStartDate", start); |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
229 this.$store.commit("imports/setEndDate", end); |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
230 this.loadLogs(); |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
231 } else if (this.prev) { |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
232 const [start, end] = this.determineInterval(this.prev); |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
233 this.$store.commit("imports/setStartDate", start); |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
234 this.$store.commit("imports/setEndDate", end); |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
235 this.loadLogs(); |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
236 } |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
237 } |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
238 }, |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
239 filters() { |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
240 this.loadLogs(); |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
241 } |
84effca50751
client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents:
2874
diff
changeset
|
242 }, |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
243 methods: { |
4493
b4880e7d4082
client: ImportOverview: change place of save button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4492
diff
changeset
|
244 saveImportsView() { |
4498 | 245 const content = ""; |
246 this.$store.commit("application/popup", { | |
247 icon: "clipboard-check", | |
248 title: this.$gettext("Export logs"), | |
249 padding: false, | |
250 big: true, | |
251 content: content, | |
252 confirm: { | |
253 icon: "check", | |
254 callback: dates => { | |
255 const { from, to } = dates; | |
4501
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
256 displayInfo({ |
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
257 title: "Generating CSV", |
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
258 message: `${from} - ${to}`, |
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
259 options: { |
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
260 timeout: 0, |
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
261 buttons: [{ text: "Ok", action: null, bold: true }] |
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
262 } |
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
263 }); |
4498 | 264 HTTP.get( |
4793
d6d73ca5496a
client: import_overview: improve implementation of exporting logs
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4774
diff
changeset
|
265 `/imports/export?from=${encodeURIComponent( |
4498 | 266 format(startOfDay(new Date(from)), "YYYY-MM-DDTHH:mm:ssZ") |
267 )}&to=${encodeURIComponent( | |
268 format(endOfDay(new Date(to)), "YYYY-MM-DDTHH:mm:ssZ") | |
269 )}&query=`, | |
270 { | |
271 headers: { "X-Gemma-Auth": localStorage.getItem("token") } | |
272 } | |
273 ) | |
274 .then(response => { | |
4793
d6d73ca5496a
client: import_overview: improve implementation of exporting logs
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4774
diff
changeset
|
275 const imports = response.data; |
4501
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
276 app.$snotify.clear(); |
4498 | 277 if (!imports) return; |
4801
b23414a3b333
import_overview: alternative save method for csv
Thomas Junk <thomas.junk@intevation.de>
parents:
4793
diff
changeset
|
278 const csvFile = new Blob([new TextEncoder().encode(imports)], { |
b23414a3b333
import_overview: alternative save method for csv
Thomas Junk <thomas.junk@intevation.de>
parents:
4793
diff
changeset
|
279 type: "text/csv" |
b23414a3b333
import_overview: alternative save method for csv
Thomas Junk <thomas.junk@intevation.de>
parents:
4793
diff
changeset
|
280 }); |
b23414a3b333
import_overview: alternative save method for csv
Thomas Junk <thomas.junk@intevation.de>
parents:
4793
diff
changeset
|
281 saveAs(csvFile, "log.csv"); |
4498 | 282 }) |
283 .catch(error => { | |
284 const { status, data } = error.response; | |
4501
8a6c410f6f03
import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents:
4500
diff
changeset
|
285 app.$snotify.clear(); |
4498 | 286 displayError({ |
287 title: this.$gettext("Backend Error"), | |
288 message: `${status}: ${data.message || data}` | |
289 }); | |
290 }); | |
291 } | |
292 }, | |
293 cancel: { | |
294 label: this.$gettext("Cancel"), | |
295 icon: "times" | |
296 }, | |
297 dateSelection: true | |
298 }); | |
4493
b4880e7d4082
client: ImportOverview: change place of save button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4492
diff
changeset
|
299 }, |
2799
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
300 showSingleRessource(id) { |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
301 id = id * 1; |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
302 this.loadDetails(id) |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
303 .then(response => { |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
304 this.$store.commit("imports/setCurrentDetails", response.data); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
305 const { enqueued } = response.data; |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
306 this.$store.commit("imports/setStartDate", startOfHour(enqueued)); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
307 this.$store.commit("imports/setEndDate", endOfHour(enqueued)); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
308 this.$store.commit("imports/showDetailsFor", id); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
309 this.loadLogs(); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
310 }) |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
311 .catch(error => { |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
312 this.loading = false; |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
313 this.$store.commit("imports/setCurrentDetails", {}); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
314 const { status, data } = error.response; |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
315 displayError({ |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
316 title: this.$gettext("Backend Error"), |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
317 message: `${status}: ${data.message || data}` |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
318 }); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
319 }); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
320 }, |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
321 loadDetails(id) { |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
322 return new Promise((resolve, reject) => { |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
323 HTTP.get("/imports/" + id, { |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
324 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
325 }) |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
326 .then(response => { |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
327 resolve(response); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
328 }) |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
329 .catch(error => { |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
330 reject(error); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
331 }); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
332 }); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
333 }, |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
334 determineInterval(pointInTime) { |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
335 let start, end; |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
336 switch (this.selectedInterval) { |
2877
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
337 case this.$options.LAST_HOUR: |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
338 start = startOfHour(pointInTime); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
339 end = endOfHour(pointInTime); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
340 break; |
2877
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
341 case this.$options.TODAY: |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
342 start = startOfDay(pointInTime); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
343 end = endOfDay(pointInTime); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
344 break; |
2877
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
345 case this.$options.LAST_7_DAYS: |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
346 start = startOfDay(pointInTime); |
2847
4da07a11e6e1
import_overview: fix date calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2840
diff
changeset
|
347 end = endOfDay(addDays(start, 7)); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
348 break; |
2877
55a9c7965e25
client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents:
2876
diff
changeset
|
349 case this.$options.LAST_30_DAYS: |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
350 start = startOfDay(pointInTime); |
2847
4da07a11e6e1
import_overview: fix date calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2840
diff
changeset
|
351 end = endOfDay(addDays(start, 30)); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
352 break; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
353 } |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
354 return [start, end]; |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
355 }, |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
356 earlier() { |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
357 if (!this.prev) return; |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
358 const [start, end] = this.determineInterval(this.prev); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
359 this.$store.commit("imports/setStartDate", start); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
360 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
|
361 this.loadLogs(); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
362 }, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
363 later() { |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
364 if (!this.next) return; |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
365 const [start, end] = this.determineInterval(this.next); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
366 this.$store.commit("imports/setStartDate", start); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
367 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
|
368 this.loadLogs(); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
369 }, |
3416
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
370 now() { |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
371 if (!this.next) return; |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
372 const [start, end] = this.determineInterval(new Date()); |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
373 this.$store.commit("imports/setStartDate", start); |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
374 this.$store.commit("imports/setEndDate", end); |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
375 this.loadLogs(); |
b65c2530c680
client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents:
3409
diff
changeset
|
376 }, |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
377 filteredImports() { |
3677
24fafb86b528
import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents:
3605
diff
changeset
|
378 return this.imports.map(x => { |
24fafb86b528
import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents:
3605
diff
changeset
|
379 x["country"] = this.userCountries[x.user]; |
24fafb86b528
import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents:
3605
diff
changeset
|
380 return x; |
24fafb86b528
import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents:
3605
diff
changeset
|
381 }); |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
382 }, |
2789
c1e832f77726
import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents:
2785
diff
changeset
|
383 loadUpdatedLogs() { |
2950
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
384 const now = new Date(); |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
385 switch (this.selectedInterval) { |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
386 case this.$options.LAST_HOUR: |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
387 this.$store.commit("imports/setStartDate", startOfHour(now)); |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
388 this.$store.commit("imports/setEndDate", now); |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
389 break; |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
390 case this.$options.TODAY: |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
391 this.$store.commit("imports/setStartDate", startOfDay(now)); |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
392 this.$store.commit("imports/setEndDate", now); |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
393 break; |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
394 case this.$options.LAST_7_DAYS: |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
395 this.$store.commit( |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
396 "imports/setStartDate", |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
397 subDays(startOfDay(now), 7) |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
398 ); |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
399 this.$store.commit("imports/setEndDate", now); |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
400 break; |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
401 case this.$options.LAST_30_DAYS: |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
402 this.$store.commit( |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
403 "imports/setStartDate", |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
404 subDays(startOfDay(now), 30) |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
405 ); |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
406 this.$store.commit("imports/setEndDate", now); |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
407 break; |
1775ffa65504
import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents:
2945
diff
changeset
|
408 } |
2789
c1e832f77726
import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents:
2785
diff
changeset
|
409 this.loadLogs(); |
c1e832f77726
import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents:
2785
diff
changeset
|
410 }, |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
411 loadLogs() { |
2619
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
412 this.loading = true; |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
413 this.$store |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
414 .dispatch("imports/getImports", { |
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
415 filter: this.filters, |
4086
23f88a6c1e88
importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents:
3745
diff
changeset
|
416 from: encodeURIComponent( |
23f88a6c1e88
importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents:
3745
diff
changeset
|
417 format(this.startDate, "YYYY-MM-DDTHH:mm:ssZ") |
23f88a6c1e88
importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents:
3745
diff
changeset
|
418 ), |
23f88a6c1e88
importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents:
3745
diff
changeset
|
419 to: encodeURIComponent(format(this.endDate, "YYYY-MM-DDTHH:mm:ssZ")), |
2749
cd789302b3e2
import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents:
2748
diff
changeset
|
420 query: this.searchQuery |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
421 }) |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
422 .then(() => { |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
423 if (this.show) { |
2799
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
424 this.loadDetails(this.show) |
2771
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
425 .then(response => { |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
426 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
|
427 this.loading = false; |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
428 }) |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
429 .catch(error => { |
2796
718ec88fbeed
import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents:
2789
diff
changeset
|
430 this.loading = false; |
718ec88fbeed
import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents:
2789
diff
changeset
|
431 this.$store.commit("imports/setCurrentDetails", {}); |
2771
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
432 const { status, data } = error.response; |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
433 displayError({ |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
434 title: this.$gettext("Backend Error"), |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
435 message: `${status}: ${data.message || data}` |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
436 }); |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
437 }); |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
438 } else { |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
439 this.loading = false; |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
440 } |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
441 }) |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
442 .catch(error => { |
2796
718ec88fbeed
import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents:
2789
diff
changeset
|
443 this.loading = false; |
4869
6b054b91d9b2
backend not reachable as error message etd. Login adjusted
Thomas Junk <thomas.junk@intevation.de>
parents:
4868
diff
changeset
|
444 let message = "Backend not reachable"; |
4868
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
445 if (error.response) { |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
446 const { status, data } = error.response; |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
447 message = `${status}: ${data.message || data}`; |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
448 } |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
449 displayError({ |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
450 title: this.$gettext("Backend Error"), |
4868
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
451 message: message |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
452 }); |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
453 }); |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
454 }, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
455 save() { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
456 if (!this.reviewed.length) return; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
457 |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
458 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
|
459 this.reviewed.forEach(r => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
460 let approved = STATES.APPROVED === r.status; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
461 popupContent += `<tr> |
4698
a130b5e55ffc
import_overview: save additional information for approval dialogue in the store
Thomas Junk <thomas.junk@intevation.de>
parents:
4501
diff
changeset
|
462 <td>${r.id}</td> |
a130b5e55ffc
import_overview: save additional information for approval dialogue in the store
Thomas Junk <thomas.junk@intevation.de>
parents:
4501
diff
changeset
|
463 <td>${r.kind.toUpperCase()}</td> |
a130b5e55ffc
import_overview: save additional information for approval dialogue in the store
Thomas Junk <thomas.junk@intevation.de>
parents:
4501
diff
changeset
|
464 <td>${this.$options.filters.dateTime(r.enqueued)}</td> |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
465 <td class="text-${approved ? "success" : "danger"}"> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
466 ${this.$gettext(approved ? "approved" : "declined")} |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
467 </td> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
468 </tr>`; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
469 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
470 popupContent += "</table>"; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
471 |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
472 this.$store.commit("application/popup", { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
473 icon: "clipboard-check", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
474 title: this.$gettext("Finish Review"), |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
475 padding: false, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
476 big: true, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
477 content: popupContent, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
478 confirm: { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
479 icon: "check", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
480 callback: () => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
481 let data = this.reviewed.map(r => ({ |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
482 id: r.id, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
483 state: r.status |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
484 })); |
5136
03f28c5d2a88
Import overview: Show busy-spinner during dispatch of review-request.
Thomas Junk <thomas.junk@intevation.de>
parents:
4981
diff
changeset
|
485 this.loading = true; |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
486 this.$store |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
487 .dispatch("imports/confirmReview", data) |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
488 .then(response => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
489 this.loadLogs(); |
2638
6c1730fc3dc1
client: importsoverview2: clear reviewed array after finishing review
Markus Kottlaender <markus@intevation.de>
parents:
2632
diff
changeset
|
490 this.$store.commit("imports/setReviewed", []); |
4446
ec8c9793dbb7
import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents:
4374
diff
changeset
|
491 this.$store.commit("map/startRefreshLayers"); |
4141
be34d02cff73
refresh layers with preceding cache invalidation
Thomas Junk <thomas.junk@intevation.de>
parents:
4086
diff
changeset
|
492 this.$store.commit("gauges/deleteNashSutcliffeCache"); |
3409
c0f5f62343c9
client: import review: refresh map layers after accepting/declining imports
Markus Kottlaender <markus@intevation.de>
parents:
3014
diff
changeset
|
493 this.$store.dispatch("map/refreshLayers"); |
3605
d02d4e31491b
sidebar: move staging notifications to store and update notifications after finishing review
Thomas Junk <thomas.junk@intevation.de>
parents:
3559
diff
changeset
|
494 this.$store.dispatch("imports/loadStagingNotifications"); |
3745
ae79c9546908
client: import review: load stretches/sections after confirming pending import
Markus Kottlaender <markus@intevation.de>
parents:
3696
diff
changeset
|
495 this.$store.dispatch("imports/loadStretches"); |
ae79c9546908
client: import review: load stretches/sections after confirming pending import
Markus Kottlaender <markus@intevation.de>
parents:
3696
diff
changeset
|
496 this.$store.dispatch("imports/loadSections"); |
4374
ad2bf9580696
importoverview: review of fairwaydimensions improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4141
diff
changeset
|
497 this.$store.commit("map/reviewActive", false); |
4446
ec8c9793dbb7
import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents:
4374
diff
changeset
|
498 this.$nextTick(() => { |
ec8c9793dbb7
import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents:
4374
diff
changeset
|
499 this.$store.commit("map/finishRefreshLayers"); |
ec8c9793dbb7
import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents:
4374
diff
changeset
|
500 }); |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
501 const messages = response.data |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
502 .map(x => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
503 if (x.message) return x.message; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
504 if (x.error) return x.error; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
505 }) |
5156
0897859b2f4a
fix toast css. Respect newlines in messages
Thomas Junk <thomas.junk@intevation.de>
parents:
5137
diff
changeset
|
506 .join("\n"); |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
507 displayInfo({ |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
508 title: "Staging Area", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
509 message: messages, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
510 options: { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
511 timeout: 0, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
512 buttons: [{ text: "Ok", action: null, bold: true }] |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
513 } |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
514 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
515 }) |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
516 .catch(error => { |
4869
6b054b91d9b2
backend not reachable as error message etd. Login adjusted
Thomas Junk <thomas.junk@intevation.de>
parents:
4868
diff
changeset
|
517 let message = "Backend not reachable"; |
4868
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
518 if (error.response) { |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
519 const { status, data } = error.response; |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
520 message = `${status}: ${data.message || data}`; |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
521 } |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
522 displayError({ |
4868
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
523 title: this.$gettext("Backend Error"), |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
524 message: message |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
525 }); |
5136
03f28c5d2a88
Import overview: Show busy-spinner during dispatch of review-request.
Thomas Junk <thomas.junk@intevation.de>
parents:
4981
diff
changeset
|
526 }) |
03f28c5d2a88
Import overview: Show busy-spinner during dispatch of review-request.
Thomas Junk <thomas.junk@intevation.de>
parents:
4981
diff
changeset
|
527 .finally(() => { |
03f28c5d2a88
Import overview: Show busy-spinner during dispatch of review-request.
Thomas Junk <thomas.junk@intevation.de>
parents:
4981
diff
changeset
|
528 this.loading = false; |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
529 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
530 } |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
531 }, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
532 cancel: { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
533 label: this.$gettext("Cancel"), |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
534 icon: "times" |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
535 } |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
536 }); |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
537 } |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
538 }, |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
539 mounted() { |
3684
2babdaa32709
client: importoverview: refresh on mount
Markus Kottlaender <markus@intevation.de>
parents:
3677
diff
changeset
|
540 this.loadUpdatedLogs(); |
3506
e2ed741545e1
import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents:
3416
diff
changeset
|
541 this.$store.dispatch("usermanagement/loadUsers").catch(error => { |
4869
6b054b91d9b2
backend not reachable as error message etd. Login adjusted
Thomas Junk <thomas.junk@intevation.de>
parents:
4868
diff
changeset
|
542 let message = "Backend not reachable"; |
4868
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
543 if (error.response) { |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
544 const { status, data } = error.response; |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
545 message = `${status}: ${data.message || data}`; |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
546 } |
3506
e2ed741545e1
import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents:
3416
diff
changeset
|
547 displayError({ |
e2ed741545e1
import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents:
3416
diff
changeset
|
548 title: this.$gettext("Backend Error"), |
4868
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4801
diff
changeset
|
549 message: message |
3506
e2ed741545e1
import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents:
3416
diff
changeset
|
550 }); |
e2ed741545e1
import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents:
3416
diff
changeset
|
551 }); |
2799
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
552 const { id } = this.$route.params; |
2880
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
553 if (id) { |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
554 this.showSingleRessource(id); |
c40540889b53
client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents:
2877
diff
changeset
|
555 } else { |
2799
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
556 this.$store.commit("application/searchQuery", ""); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
557 this.loadLogs(); |
e19fac818aab
import_overview: specifying single imports via URL should open the overview with all logentries of the according hour and open the details for the specified import
Thomas Junk <thomas.junk@intevation.de>
parents:
2796
diff
changeset
|
558 } |
3696
982816fca381
client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents:
3690
diff
changeset
|
559 }, |
982816fca381
client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents:
3690
diff
changeset
|
560 activated() { |
982816fca381
client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents:
3690
diff
changeset
|
561 this.loadUpdatedLogs(); |
2578 | 562 } |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
563 }; |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
564 </script> |