annotate client/src/components/importoverview/ImportOverview.vue @ 4774:1fd771b08ced

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