annotate client/src/components/importoverview/ImportOverview.vue @ 4756:415c1993c7fe

Made CSV export of import log more csv like. Removed spurious leading whitespace from columns, changed filename suffix to 'csv'.
author Sascha Wilde <wilde@intevation.de>
date Fri, 18 Oct 2019 18:17:06 +0200
parents 99b400df4217
children 1fd771b08ced
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";
4501
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
137 import app from "@/main";
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
138 import {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
139 startOfDay,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
140 startOfHour,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
141 endOfHour,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
142 endOfDay,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
143 addDays,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
144 subDays,
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
145 format
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
146 } from "date-fns";
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
147
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
148 export default {
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
149 components: {
2985
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
150 Filters: () => import("./Filters"),
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
151 LogEntry: () => import("./LogEntry"),
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
152 LogDetail: () => import("./LogDetail")
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
153 },
2875
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
154 mixins: [sortTable],
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
155 LAST_HOUR: "lasthour",
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
156 TODAY: "today",
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
157 LAST_7_DAYS: "lastsevendays",
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
158 LAST_30_DAYS: "lastthirtydays",
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
159 data() {
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
160 return {
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
161 loading: false,
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
162 selectedInterval: this.$options.LAST_HOUR
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
163 };
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
164 },
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
165 computed: {
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
166 ...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
167 ...mapState("imports", [
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
168 "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
169 "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
170 "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
171 "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
172 "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
173 "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
174 "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
175 ]),
3677
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
176 ...mapGetters("usermanagement", ["userCountries"]),
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
177 ...mapGetters("imports", ["filters"]),
3506
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
178 countryLabel() {
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
179 return this.$gettext("Country");
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
180 },
2760
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
181 importReviewLabel() {
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
182 return this.$gettext("Import review");
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
183 },
2779
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
184 idLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
185 return this.$gettext("Id");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
186 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
187 kindLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
188 return this.$gettext("Kind");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
189 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
190 enqueuedLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
191 return this.$gettext("Enqueued");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
192 },
3559
c220ad7e61ed client: import review/configuration: unified column names in table (User/Author -> Owner)
Markus Kottlaender <markus@intevation.de>
parents: 3506
diff changeset
193 ownerLabel() {
c220ad7e61ed client: import review/configuration: unified column names in table (User/Author -> Owner)
Markus Kottlaender <markus@intevation.de>
parents: 3506
diff changeset
194 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
195 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
196 signerLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
197 return this.$gettext("Signer");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
198 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
199 statusLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
200 return this.$gettext("Status");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
201 },
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
202 interval() {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
203 return [this.startDate, this.endDate];
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
204 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
205 },
2875
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
206 watch: {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
207 $route() {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
208 const { id } = this.$route.params;
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
209 if (id) this.showSingleRessource(id);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
210 },
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
211 selectedInterval() {
2950
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
212 this.loadUpdatedLogs();
2875
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
213 },
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
214 imports() {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
215 if (this.imports.length == 0) {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
216 if (this.next) {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
217 const [start, end] = this.determineInterval(this.next);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
218 this.$store.commit("imports/setStartDate", start);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
219 this.$store.commit("imports/setEndDate", end);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
220 this.loadLogs();
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
221 } else if (this.prev) {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
222 const [start, end] = this.determineInterval(this.prev);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
223 this.$store.commit("imports/setStartDate", start);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
224 this.$store.commit("imports/setEndDate", end);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
225 this.loadLogs();
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 },
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
229 filters() {
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 }
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
232 },
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
233 methods: {
4493
b4880e7d4082 client: ImportOverview: change place of save button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 4492
diff changeset
234 saveImportsView() {
4498
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
235 const content = "";
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
236 this.$store.commit("application/popup", {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
237 icon: "clipboard-check",
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
238 title: this.$gettext("Export logs"),
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
239 padding: false,
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
240 big: true,
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
241 content: content,
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
242 confirm: {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
243 icon: "check",
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
244 callback: dates => {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
245 const { from, to } = dates;
4501
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
246 displayInfo({
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
247 title: "Generating CSV",
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
248 message: `${from} - ${to}`,
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
249 options: {
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
250 timeout: 0,
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
251 buttons: [{ text: "Ok", action: null, bold: true }]
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
252 }
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
253 });
4498
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
254 HTTP.get(
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
255 `/imports?from=${encodeURIComponent(
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
256 format(startOfDay(new Date(from)), "YYYY-MM-DDTHH:mm:ssZ")
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
257 )}&to=${encodeURIComponent(
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
258 format(endOfDay(new Date(to)), "YYYY-MM-DDTHH:mm:ssZ")
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
259 )}&query=`,
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
260 {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
261 headers: { "X-Gemma-Auth": localStorage.getItem("token") }
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
262 }
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
263 )
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
264 .then(response => {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
265 const { imports } = response.data;
4501
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
266 app.$snotify.clear();
4498
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
267 if (!imports) return;
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
268 const csvLink =
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
269 "data:text/csv;charset=utf-8," +
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
270 encodeURIComponent(
4756
415c1993c7fe Made CSV export of import log more csv like.
Sascha Wilde <wilde@intevation.de>
parents: 4753
diff changeset
271 "id,kind,enqueued,user,country,signer,state,changed,warnings\n" +
4498
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
272 imports
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
273 .map(el => {
4756
415c1993c7fe Made CSV export of import log more csv like.
Sascha Wilde <wilde@intevation.de>
parents: 4753
diff changeset
274 return `${el.id},${el.kind},${el.enqueued},\
415c1993c7fe Made CSV export of import log more csv like.
Sascha Wilde <wilde@intevation.de>
parents: 4753
diff changeset
275 ${el.user || " "},${this.userCountries[el.user] || " "},${el.signer || " "},\
415c1993c7fe Made CSV export of import log more csv like.
Sascha Wilde <wilde@intevation.de>
parents: 4753
diff changeset
276 ${el.state || " "},${el.changed || " "},${el.warnings || " "}`;
4498
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
277 })
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
278 .join("\n")
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
279 );
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
280 let element = document.createElement("a");
4756
415c1993c7fe Made CSV export of import log more csv like.
Sascha Wilde <wilde@intevation.de>
parents: 4753
diff changeset
281 element.setAttribute("download", "log.csv");
4498
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
282 element.setAttribute("href", csvLink);
4499
df91a747872c import_overview: add csvlink to DOM and remove after triggering
Thomas Junk <thomas.junk@intevation.de>
parents: 4498
diff changeset
283 document.querySelector("body").appendChild(element);
4498
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
284 element.click();
4499
df91a747872c import_overview: add csvlink to DOM and remove after triggering
Thomas Junk <thomas.junk@intevation.de>
parents: 4498
diff changeset
285 document.querySelector("body").removeChild(element);
4498
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
286 })
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
287 .catch(error => {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
288 const { status, data } = error.response;
4501
8a6c410f6f03 import_overview: export spawns info toast.
Thomas Junk <thomas.junk@intevation.de>
parents: 4500
diff changeset
289 app.$snotify.clear();
4498
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
290 displayError({
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
291 title: this.$gettext("Backend Error"),
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
292 message: `${status}: ${data.message || data}`
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
293 });
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
294 });
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
295 }
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
296 },
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
297 cancel: {
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
298 label: this.$gettext("Cancel"),
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
299 icon: "times"
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
300 },
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
301 dateSelection: true
8763da6bef4a export imports
Thomas Junk <thomas.junk@intevation.de>
parents: 4493
diff changeset
302 });
4493
b4880e7d4082 client: ImportOverview: change place of save button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 4492
diff changeset
303 },
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
304 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
305 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
306 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
307 .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
308 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
309 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
310 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
311 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
312 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
313 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
314 })
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 .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
316 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
317 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
318 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
319 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
320 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
321 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
322 });
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 });
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 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
326 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
327 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
328 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
329 })
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 .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
331 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
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 .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
334 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
335 });
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
336 });
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
337 },
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
338 determineInterval(pointInTime) {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
339 let start, end;
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
340 switch (this.selectedInterval) {
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
341 case this.$options.LAST_HOUR:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
342 start = startOfHour(pointInTime);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
343 end = endOfHour(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.TODAY:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
346 start = startOfDay(pointInTime);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
347 end = endOfDay(pointInTime);
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_7_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, 7));
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
352 break;
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
353 case this.$options.LAST_30_DAYS:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
354 start = startOfDay(pointInTime);
2847
4da07a11e6e1 import_overview: fix date calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2840
diff changeset
355 end = endOfDay(addDays(start, 30));
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
356 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
357 }
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
358 return [start, end];
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
359 },
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
360 earlier() {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
361 if (!this.prev) return;
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
362 const [start, end] = this.determineInterval(this.prev);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
363 this.$store.commit("imports/setStartDate", start);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
364 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
365 this.loadLogs();
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
366 },
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
367 later() {
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
368 if (!this.next) return;
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
369 const [start, end] = this.determineInterval(this.next);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
370 this.$store.commit("imports/setStartDate", start);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
371 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
372 this.loadLogs();
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
373 },
3416
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
374 now() {
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
375 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
376 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
377 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
378 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
379 this.loadLogs();
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
380 },
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
381 filteredImports() {
3677
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
382 return this.imports.map(x => {
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
383 x["country"] = this.userCountries[x.user];
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
384 return x;
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
385 });
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
386 },
2789
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
387 loadUpdatedLogs() {
2950
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
388 const now = new Date();
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
389 switch (this.selectedInterval) {
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
390 case this.$options.LAST_HOUR:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
391 this.$store.commit("imports/setStartDate", startOfHour(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.TODAY:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
395 this.$store.commit("imports/setStartDate", startOfDay(now));
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
396 this.$store.commit("imports/setEndDate", now);
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
397 break;
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
398 case this.$options.LAST_7_DAYS:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
399 this.$store.commit(
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
400 "imports/setStartDate",
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
401 subDays(startOfDay(now), 7)
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
402 );
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
403 this.$store.commit("imports/setEndDate", now);
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
404 break;
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
405 case this.$options.LAST_30_DAYS:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
406 this.$store.commit(
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
407 "imports/setStartDate",
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
408 subDays(startOfDay(now), 30)
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
409 );
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
410 this.$store.commit("imports/setEndDate", now);
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
411 break;
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
412 }
2789
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
413 this.loadLogs();
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
414 },
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
415 loadLogs() {
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
416 this.loading = true;
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
417 this.$store
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
418 .dispatch("imports/getImports", {
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
419 filter: this.filters,
4086
23f88a6c1e88 importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents: 3745
diff changeset
420 from: encodeURIComponent(
23f88a6c1e88 importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents: 3745
diff changeset
421 format(this.startDate, "YYYY-MM-DDTHH:mm:ssZ")
23f88a6c1e88 importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents: 3745
diff changeset
422 ),
23f88a6c1e88 importoverview, fairwayavailability, gauges: handle timezones
Thomas Junk <thomas.junk@intevation.de>
parents: 3745
diff changeset
423 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
424 query: this.searchQuery
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
425 })
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
426 .then(() => {
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
427 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
428 this.loadDetails(this.show)
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
429 .then(response => {
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
430 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
431 this.loading = false;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
432 })
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
433 .catch(error => {
2796
718ec88fbeed import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents: 2789
diff changeset
434 this.loading = false;
718ec88fbeed import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents: 2789
diff changeset
435 this.$store.commit("imports/setCurrentDetails", {});
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
436 const { status, data } = error.response;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
437 displayError({
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
438 title: this.$gettext("Backend Error"),
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
439 message: `${status}: ${data.message || data}`
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
440 });
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
441 });
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
442 } else {
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
443 this.loading = false;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
444 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
445 })
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
446 .catch(error => {
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
447 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
448 this.loading = false;
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"),
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
451 message: `${status}: ${data.message || data}`
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 }));
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
485 this.$store
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
486 .dispatch("imports/confirmReview", data)
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
487 .then(response => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
488 this.loadLogs();
2638
6c1730fc3dc1 client: importsoverview2: clear reviewed array after finishing review
Markus Kottlaender <markus@intevation.de>
parents: 2632
diff changeset
489 this.$store.commit("imports/setReviewed", []);
4446
ec8c9793dbb7 import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents: 4374
diff changeset
490 this.$store.commit("map/startRefreshLayers");
4141
be34d02cff73 refresh layers with preceding cache invalidation
Thomas Junk <thomas.junk@intevation.de>
parents: 4086
diff changeset
491 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
492 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
493 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
494 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
495 this.$store.dispatch("imports/loadSections");
4374
ad2bf9580696 importoverview: review of fairwaydimensions improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4141
diff changeset
496 this.$store.commit("map/reviewActive", false);
4446
ec8c9793dbb7 import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents: 4374
diff changeset
497 this.$nextTick(() => {
ec8c9793dbb7 import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents: 4374
diff changeset
498 this.$store.commit("map/finishRefreshLayers");
ec8c9793dbb7 import_overview: refresh layers after review
Thomas Junk <thomas.junk@intevation.de>
parents: 4374
diff changeset
499 });
2626
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
500 const messages = response.data
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
501 .map(x => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
502 if (x.message) return x.message;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
503 if (x.error) return x.error;
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 .join("\n\n");
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
506 displayInfo({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
507 title: "Staging Area",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
508 message: messages,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
509 options: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
510 timeout: 0,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
511 buttons: [{ text: "Ok", action: null, bold: true }]
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 })
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
515 .catch(error => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
516 const { status, data } = error.response;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
517 displayError({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
518 title: "Backend Error",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
519 message: `${status}: ${data.message || data}`
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
520 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
521 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
522 }
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
523 },
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
524 cancel: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
525 label: this.$gettext("Cancel"),
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
526 icon: "times"
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
527 }
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
528 });
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
529 }
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
530 },
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
531 mounted() {
3684
2babdaa32709 client: importoverview: refresh on mount
Markus Kottlaender <markus@intevation.de>
parents: 3677
diff changeset
532 this.loadUpdatedLogs();
3506
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
533 this.$store.dispatch("usermanagement/loadUsers").catch(error => {
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
534 const { status, data } = error.response;
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
535 displayError({
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
536 title: this.$gettext("Backend Error"),
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
537 message: `${status}: ${data.message || data}`
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
538 });
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
539 });
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
540 const { id } = this.$route.params;
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
541 if (id) {
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
542 this.showSingleRessource(id);
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
543 } 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
544 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
545 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
546 }
3696
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3690
diff changeset
547 },
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3690
diff changeset
548 activated() {
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3690
diff changeset
549 this.loadUpdatedLogs();
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
550 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
551 };
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
552 </script>