annotate client/src/components/importoverview/ImportOverview.vue @ 4498:8763da6bef4a

export imports
author Thomas Junk <thomas.junk@intevation.de>
date Mon, 30 Sep 2019 15:28:15 +0200
parents b4880e7d4082
children df91a747872c
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"
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">&ndash;</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="[
3506
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
80 { id: 'id', title: `${idLabel}`, width: '75px' },
2779
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
81 { 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
82 { id: 'enqueued', title: `${enqueuedLabel}`, width: '138px' },
3559
c220ad7e61ed client: import review/configuration: unified column names in table (User/Author -> Owner)
Markus Kottlaender <markus@intevation.de>
parents: 3506
diff changeset
83 { id: 'user', title: `${ownerLabel}`, width: '80px' },
3506
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
84 { id: 'country', title: `${countryLabel}`, width: '55px' },
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
85 { 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
86 { id: 'state', title: `${statusLabel}`, width: '72px' },
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
87 { 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
88 ]"
ef10f1cd6cb8 import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents: 2666
diff changeset
89 />
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
90 <!--
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
91 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
92 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
93 :data="loadImports(sortColumn, sortDirection)"
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
94 -->
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
95 <UITableBody
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
96 :data="filteredImports() | sortTable(sortColumn, sortDirection)"
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
97 :isActive="item => item.id === this.show"
2934
cfa0adbfce63 import_overview: adjust layout height
Thomas Junk <thomas.junk@intevation.de>
parents: 2894
diff changeset
98 maxHeight="70vh"
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
99 >
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2847
diff changeset
100 <template v-slot:row="{ item: entry }">
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2847
diff changeset
101 <LogEntry :entry="entry"></LogEntry>
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2847
diff changeset
102 </template>
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
103 <template v-slot:expand="{ item: entry }">
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
104 <LogDetail :entry="entry"></LogDetail>
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
105 </template>
2725
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
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
111 <style lang="sass" scoped>
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
112 .spinner-overlay
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
113 top: 110px
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
114 </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
115
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
116 <script>
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
117 /* 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
118 * without warranty, see README.md and license for details.
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
119 *
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
120 * SPDX-License-Identifier: AGPL-3.0-or-later
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
121 * License-Filename: LICENSES/AGPL-3.0.txt
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
122 *
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
123 * Copyright (C) 2018 by via donau
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
124 * – Österreichische Wasserstraßen-Gesellschaft mbH
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
125 * Software engineering by Intevation GmbH
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
126 *
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
127 * Author(s):
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
128 * Thomas Junk <thomas.junk@intevation.de>
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
129 * Markus Kottländer <markus.kottlaender@intevation.de>
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
130 */
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
131
2654
3c04c8e46bd4 importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2651
diff changeset
132 import { mapState, mapGetters } from "vuex";
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
133 import { displayError, displayInfo } from "@/lib/errors";
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
134 import { STATES } from "@/store/imports";
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
135 import { sortTable } from "@/lib/mixins";
2985
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
136 import { HTTP } from "@/lib/http";
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
137 import {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
138 startOfDay,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
139 startOfHour,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
140 endOfHour,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
141 endOfDay,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
142 addDays,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
143 subDays,
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
144 format
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
145 } from "date-fns";
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
146
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
147 export default {
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
148 components: {
2985
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
149 Filters: () => import("./Filters"),
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
150 LogEntry: () => import("./LogEntry"),
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
151 LogDetail: () => import("./LogDetail")
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
152 },
2875
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
153 mixins: [sortTable],
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
154 LAST_HOUR: "lasthour",
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
155 TODAY: "today",
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
156 LAST_7_DAYS: "lastsevendays",
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
157 LAST_30_DAYS: "lastthirtydays",
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
158 data() {
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
159 return {
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
160 loading: false,
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
161 selectedInterval: this.$options.LAST_HOUR
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
162 };
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
163 },
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
164 computed: {
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
165 ...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
166 ...mapState("imports", [
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
167 "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
168 "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
169 "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
170 "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
171 "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
172 "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
173 "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
174 ]),
3677
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
175 ...mapGetters("usermanagement", ["userCountries"]),
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
176 ...mapGetters("imports", ["filters"]),
3506
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
177 countryLabel() {
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
178 return this.$gettext("Country");
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
179 },
2760
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
180 importReviewLabel() {
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
181 return this.$gettext("Import review");
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
182 },
2779
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
183 idLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
184 return this.$gettext("Id");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
185 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
186 kindLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
187 return this.$gettext("Kind");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
188 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
189 enqueuedLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
190 return this.$gettext("Enqueued");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
191 },
3559
c220ad7e61ed client: import review/configuration: unified column names in table (User/Author -> Owner)
Markus Kottlaender <markus@intevation.de>
parents: 3506
diff changeset
192 ownerLabel() {
c220ad7e61ed client: import review/configuration: unified column names in table (User/Author -> Owner)
Markus Kottlaender <markus@intevation.de>
parents: 3506
diff changeset
193 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
194 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
195 signerLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
196 return this.$gettext("Signer");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
197 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
198 statusLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
199 return this.$gettext("Status");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
200 },
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
201 interval() {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
202 return [this.startDate, this.endDate];
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
203 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
204 },
2875
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
205 watch: {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
206 $route() {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
207 const { id } = this.$route.params;
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
208 if (id) this.showSingleRessource(id);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
209 },
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
210 selectedInterval() {
2950
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
211 this.loadUpdatedLogs();
2875
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
212 },
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
213 imports() {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
214 if (this.imports.length == 0) {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
215 if (this.next) {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
216 const [start, end] = this.determineInterval(this.next);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
217 this.$store.commit("imports/setStartDate", start);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
218 this.$store.commit("imports/setEndDate", end);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
219 this.loadLogs();
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
220 } else if (this.prev) {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
221 const [start, end] = this.determineInterval(this.prev);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
222 this.$store.commit("imports/setStartDate", start);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
223 this.$store.commit("imports/setEndDate", end);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
224 this.loadLogs();
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
225 }
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
226 }
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
227 },
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
228 filters() {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
229 this.loadLogs();
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
230 }
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
231 },
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
232 methods: {
4493
b4880e7d4082 client: ImportOverview: change place of save button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 4492
diff changeset
233 saveImportsView() {
4498
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
234 const content = "";
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
235 this.$store.commit("application/popup", {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
236 icon: "clipboard-check",
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
237 title: this.$gettext("Export logs"),
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
238 padding: false,
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
239 big: true,
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
240 content: content,
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
241 confirm: {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
242 icon: "check",
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
243 callback: dates => {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
244 const { from, to } = dates;
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
245 HTTP.get(
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
246 `/imports?from=${encodeURIComponent(
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
247 format(startOfDay(new Date(from)), "YYYY-MM-DDTHH:mm:ssZ")
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
248 )}&to=${encodeURIComponent(
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
249 format(endOfDay(new Date(to)), "YYYY-MM-DDTHH:mm:ssZ")
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
250 )}&query=`,
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
251 {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
252 headers: { "X-Gemma-Auth": localStorage.getItem("token") }
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
253 }
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
254 )
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
255 .then(response => {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
256 const { imports } = response.data;
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
257 if (!imports) return;
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
258 const csvLink =
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
259 "data:text/csv;charset=utf-8," +
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
260 encodeURIComponent(
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
261 "id, kind, enqueued, user, country, signer, state, warnings\n" +
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
262 imports
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
263 .map(el => {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
264 return ` ${el.id}, ${el.kind}, ${
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
265 el.enqueued
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
266 }, ${el.user || " "}, ${el.country ||
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
267 " "}, ${el.signer || " "}, ${el.state ||
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
268 " "}, ${el.warnings || " "}`;
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
269 })
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
270 .join("\n")
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
271 );
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
272 let element = document.createElement("a");
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
273 element.setAttribute("download", "log.txt");
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
274 element.setAttribute("href", csvLink);
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
275 element.click();
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
276 })
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
277 .catch(error => {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
278 const { status, data } = error.response;
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
279 displayError({
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
280 title: this.$gettext("Backend Error"),
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
281 message: `${status}: ${data.message || data}`
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
282 });
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
283 });
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
284 }
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
285 },
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
286 cancel: {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
287 label: this.$gettext("Cancel"),
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
288 icon: "times"
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
289 },
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
290 dateSelection: true
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
291 });
4493
b4880e7d4082 client: ImportOverview: change place of save button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 4492
diff changeset
292 },
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
293 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
294 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
295 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
296 .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
297 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
298 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
299 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
300 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
301 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
302 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
303 })
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 .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
305 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
306 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
307 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
308 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
309 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
310 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
311 });
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 });
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 },
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 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
315 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
316 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
317 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
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 .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
320 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
321 })
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 .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
323 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
324 });
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 },
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
327 determineInterval(pointInTime) {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
328 let start, end;
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
329 switch (this.selectedInterval) {
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
330 case this.$options.LAST_HOUR:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
331 start = startOfHour(pointInTime);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
332 end = endOfHour(pointInTime);
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
333 break;
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
334 case this.$options.TODAY:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
335 start = startOfDay(pointInTime);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
336 end = endOfDay(pointInTime);
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
337 break;
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
338 case this.$options.LAST_7_DAYS:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
339 start = startOfDay(pointInTime);
2847
4da07a11e6e1 import_overview: fix date calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2840
diff changeset
340 end = endOfDay(addDays(start, 7));
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
341 break;
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
342 case this.$options.LAST_30_DAYS:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
343 start = startOfDay(pointInTime);
2847
4da07a11e6e1 import_overview: fix date calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2840
diff changeset
344 end = endOfDay(addDays(start, 30));
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
345 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
346 }
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
347 return [start, end];
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
348 },
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
349 earlier() {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
350 if (!this.prev) return;
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
351 const [start, end] = this.determineInterval(this.prev);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
352 this.$store.commit("imports/setStartDate", start);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
353 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
354 this.loadLogs();
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
355 },
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
356 later() {
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
357 if (!this.next) 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.next);
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 },
3416
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
363 now() {
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
364 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
365 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
366 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
367 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
368 this.loadLogs();
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
369 },
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
370 filteredImports() {
3677
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
371 return this.imports.map(x => {
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
372 x["country"] = this.userCountries[x.user];
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
373 return x;
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
374 });
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
375 },
2789
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
376 loadUpdatedLogs() {
2950
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
377 const now = new Date();
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
378 switch (this.selectedInterval) {
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
379 case this.$options.LAST_HOUR:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
380 this.$store.commit("imports/setStartDate", startOfHour(now));
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
381 this.$store.commit("imports/setEndDate", now);
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
382 break;
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
383 case this.$options.TODAY:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
384 this.$store.commit("imports/setStartDate", startOfDay(now));
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
385 this.$store.commit("imports/setEndDate", now);
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
386 break;
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
387 case this.$options.LAST_7_DAYS:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
388 this.$store.commit(
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
389 "imports/setStartDate",
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
390 subDays(startOfDay(now), 7)
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
391 );
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_30_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), 30)
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 }
2789
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
402 this.loadLogs();
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
403 },
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
404 loadLogs() {
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
405 this.loading = true;
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
406 this.$store
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
407 .dispatch("imports/getImports", {
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
408 filter: this.filters,
4086
23f88a6c1e88 importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents: 3745
diff changeset
409 from: encodeURIComponent(
23f88a6c1e88 importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents: 3745
diff changeset
410 format(this.startDate, "YYYY-MM-DDTHH:mm:ssZ")
23f88a6c1e88 importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents: 3745
diff changeset
411 ),
23f88a6c1e88 importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents: 3745
diff changeset
412 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
413 query: this.searchQuery
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
414 })
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
415 .then(() => {
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
416 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
417 this.loadDetails(this.show)
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
418 .then(response => {
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
419 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
420 this.loading = false;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
421 })
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
422 .catch(error => {
2796
718ec88fbeed import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents: 2789
diff changeset
423 this.loading = false;
718ec88fbeed import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents: 2789
diff changeset
424 this.$store.commit("imports/setCurrentDetails", {});
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
425 const { status, data } = error.response;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
426 displayError({
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
427 title: this.$gettext("Backend Error"),
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
428 message: `${status}: ${data.message || data}`
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
429 });
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
430 });
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
431 } else {
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
432 this.loading = false;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
433 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
434 })
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
435 .catch(error => {
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
436 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
437 this.loading = false;
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
438 displayError({
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
439 title: this.$gettext("Backend Error"),
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
440 message: `${status}: ${data.message || data}`
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 });
2626
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
443 },
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
444 save() {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
445 if (!this.reviewed.length) return;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
446
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
447 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
448 this.reviewed.forEach(r => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
449 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
450 let approved = STATES.APPROVED === r.status;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
451 popupContent += `<tr>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
452 <td>${imp.id}</td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
453 <td>${imp.kind.toUpperCase()}</td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
454 <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
455 <td class="text-${approved ? "success" : "danger"}">
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
456 ${this.$gettext(approved ? "approved" : "declined")}
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
457 </td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
458 </tr>`;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
459 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
460 popupContent += "</table>";
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
461
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
462 this.$store.commit("application/popup", {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
463 icon: "clipboard-check",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
464 title: this.$gettext("Finish Review"),
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
465 padding: false,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
466 big: true,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
467 content: popupContent,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
468 confirm: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
469 icon: "check",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
470 callback: () => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
471 let data = this.reviewed.map(r => ({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
472 id: r.id,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
473 state: r.status
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
474 }));
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
475 this.$store
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
476 .dispatch("imports/confirmReview", data)
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
477 .then(response => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
478 this.loadLogs();
2638
6c1730fc3dc1 client: importsoverview2: clear reviewed array after finishing review
Markus Kottlaender <markus@intevation.de>
parents: 2632
diff changeset
479 this.$store.commit("imports/setReviewed", []);
4446
ec8c9793dbb7 import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents: 4374
diff changeset
480 this.$store.commit("map/startRefreshLayers");
4141
be34d02cff73 refresh layers with preceding cache invalidation
Thomas Junk <thomas.junk@intevation.de>
parents: 4086
diff changeset
481 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
482 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
483 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
484 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
485 this.$store.dispatch("imports/loadSections");
4374
ad2bf9580696 importoverview: review of fairwaydimensions improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4141
diff changeset
486 this.$store.commit("map/reviewActive", false);
4446
ec8c9793dbb7 import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents: 4374
diff changeset
487 this.$nextTick(() => {
ec8c9793dbb7 import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents: 4374
diff changeset
488 this.$store.commit("map/finishRefreshLayers");
ec8c9793dbb7 import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents: 4374
diff changeset
489 });
2626
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
490 const messages = response.data
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
491 .map(x => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
492 if (x.message) return x.message;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
493 if (x.error) return x.error;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
494 })
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
495 .join("\n\n");
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
496 displayInfo({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
497 title: "Staging Area",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
498 message: messages,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
499 options: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
500 timeout: 0,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
501 buttons: [{ text: "Ok", action: null, bold: true }]
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
502 }
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
503 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
504 })
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
505 .catch(error => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
506 const { status, data } = error.response;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
507 displayError({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
508 title: "Backend Error",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
509 message: `${status}: ${data.message || data}`
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
510 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
511 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
512 }
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 cancel: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
515 label: this.$gettext("Cancel"),
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
516 icon: "times"
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
517 }
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
518 });
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
519 }
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
520 },
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
521 mounted() {
3684
2babdaa32709 client: importoverview: refresh on mount
Markus Kottlaender <markus@intevation.de>
parents: 3677
diff changeset
522 this.loadUpdatedLogs();
3506
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
523 this.$store.dispatch("usermanagement/loadUsers").catch(error => {
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
524 const { status, data } = error.response;
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
525 displayError({
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
526 title: this.$gettext("Backend Error"),
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
527 message: `${status}: ${data.message || data}`
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
528 });
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
529 });
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
530 const { id } = this.$route.params;
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
531 if (id) {
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
532 this.showSingleRessource(id);
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
533 } 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
534 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
535 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
536 }
3696
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3690
diff changeset
537 },
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3690
diff changeset
538 activated() {
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3690
diff changeset
539 this.loadUpdatedLogs();
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
540 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
541 };
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
542 </script>