annotate client/src/components/importoverview/ImportOverview.vue @ 3677:24fafb86b528

import_logs: client side sorting for country
author Thomas Junk <thomas.junk@intevation.de>
date Mon, 17 Jun 2019 17:27:24 +0200
parents d02d4e31491b
children 2babdaa32709
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"
3014
5a3ac4d3dbbb client: replaced refresh icon in import overview and zoom controls with a more appropriate one
Markus Kottlaender <markus@intevation.de>
parents: 2985
diff changeset
7 :actions="[{ callback: loadUpdatedLogs, icon: 'sync' }]"
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
8 />
2632
0b14de0bb85f client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents: 2626
diff changeset
9 <div class="position-relative">
2894
95e40c87a943 client: applied component name change where it is used
Markus Kottlaender <markus@intevation.de>
parents: 2885
diff changeset
10 <UISpinnerOverlay v-if="loading" />
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
11 <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
12 <Filters></Filters>
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
13 <button
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
14 class="btn btn-xs btn-info"
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
15 :disabled="!reviewed.length"
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
16 @click="save"
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
17 >
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
18 <translate>Commit</translate> {{ reviewed.length }}
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
19 </button>
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
20 </div>
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
21 <div
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
22 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
23 >
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
24 <button
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
25 :disabled="!this.prev"
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
26 @click="earlier"
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
27 class="btn btn-xs btn-outline-secondary"
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
28 >
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
29 <font-awesome-icon icon="angle-left" fixed-width />
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
30 <translate>Earlier</translate>
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
31 </button>
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
32 <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
33 {{ interval[0] | dateTime(selectedInterval !== $options.LAST_HOUR) }}
ab771ea5e4fe client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents: 2934
diff changeset
34 <template v-if="selectedInterval !== $options.TODAY">
ab771ea5e4fe client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents: 2934
diff changeset
35 <span class="mx-2">&ndash;</span>
ab771ea5e4fe client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents: 2934
diff changeset
36 {{
ab771ea5e4fe client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents: 2934
diff changeset
37 interval[1] | dateTime(selectedInterval !== $options.LAST_HOUR)
ab771ea5e4fe client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents: 2934
diff changeset
38 }}
ab771ea5e4fe client: importoverview: improved display of date interval
Markus Kottlaender <markus@intevation.de>
parents: 2934
diff changeset
39 </template>
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
40 <select
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
41 style="width: 75px; height: 24px"
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
42 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
43 v-model="selectedInterval"
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
44 >
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
45 <option :value="$options.LAST_HOUR">
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
46 <translate>Hour</translate>
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
47 </option>
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
48 <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
49 <option :value="$options.LAST_7_DAYS">
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
50 <translate>7 days</translate>
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
51 </option>
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
52 <option :value="$options.LAST_30_DAYS">
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
53 <translate>30 Days</translate>
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
54 </option>
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
55 </select>
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
56 </div>
3416
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
57 <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
58 <button
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
59 :disabled="!this.next"
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
60 @click="later"
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
61 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
62 >
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
63 <translate>Later</translate>
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
64 <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
65 </button>
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
66 <button
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
67 :disabled="!this.next"
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
68 @click="now"
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
69 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
70 >
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
71 <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
72 </button>
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
73 </div>
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
74 </div>
2699
ef10f1cd6cb8 import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents: 2666
diff changeset
75 <UITableHeader
ef10f1cd6cb8 import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents: 2666
diff changeset
76 :columns="[
3506
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
77 { 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
78 { 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
79 { 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
80 { id: 'user', title: `${ownerLabel}`, width: '80px' },
3506
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
81 { id: 'country', title: `${countryLabel}`, width: '55px' },
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
82 { 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
83 { id: 'state', title: `${statusLabel}`, width: '72px' },
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
84 { 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
85 ]"
ef10f1cd6cb8 import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents: 2666
diff changeset
86 />
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
87 <!--
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
88 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
89 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
90 :data="loadImports(sortColumn, sortDirection)"
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 <UITableBody
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
93 :data="filteredImports() | sortTable(sortColumn, sortDirection)"
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
94 :isActive="item => item.id === this.show"
2934
cfa0adbfce63 import_overview: adjust layout height
Thomas Junk <thomas.junk@intevation.de>
parents: 2894
diff changeset
95 maxHeight="70vh"
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
96 >
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2847
diff changeset
97 <template v-slot:row="{ item: entry }">
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2847
diff changeset
98 <LogEntry :entry="entry"></LogEntry>
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2847
diff changeset
99 </template>
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
100 <template v-slot:expand="{ item: entry }">
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
101 <LogDetail :entry="entry"></LogDetail>
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
102 </template>
2725
9465749410ba client: import overview: use table body component
Markus Kottlaender <markus@intevation.de>
parents: 2720
diff changeset
103 </UITableBody>
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
104 </div>
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
105 </div>
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
106 </template>
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
107
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
108 <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
109 .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
110 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
111 </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
112
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
113 <script>
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
114 /* 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
115 * without warranty, see README.md and license for details.
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
116 *
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
117 * SPDX-License-Identifier: AGPL-3.0-or-later
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
118 * License-Filename: LICENSES/AGPL-3.0.txt
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
119 *
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
120 * Copyright (C) 2018 by via donau
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
121 * – Österreichische Wasserstraßen-Gesellschaft mbH
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
122 * Software engineering by Intevation GmbH
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 * Author(s):
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
125 * Thomas Junk <thomas.junk@intevation.de>
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
126 * Markus Kottländer <markus.kottlaender@intevation.de>
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
127 */
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
128
2654
3c04c8e46bd4 importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2651
diff changeset
129 import { mapState, mapGetters } from "vuex";
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
130 import { displayError, displayInfo } from "@/lib/errors";
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
131 import { STATES } from "@/store/imports";
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
132 import { sortTable } from "@/lib/mixins";
2985
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
133 import { HTTP } from "@/lib/http";
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
134 import {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
135 startOfDay,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
136 startOfHour,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
137 endOfHour,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
138 endOfDay,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
139 addDays,
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
140 subDays,
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
141 format
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
142 } from "date-fns";
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
143
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
144 export default {
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
145 components: {
2985
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
146 Filters: () => import("./Filters"),
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
147 LogEntry: () => import("./LogEntry"),
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2950
diff changeset
148 LogDetail: () => import("./LogDetail")
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
149 },
2875
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
150 mixins: [sortTable],
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
151 LAST_HOUR: "lasthour",
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
152 TODAY: "today",
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
153 LAST_7_DAYS: "lastsevendays",
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
154 LAST_30_DAYS: "lastthirtydays",
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
155 data() {
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
156 return {
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
157 loading: false,
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
158 selectedInterval: this.$options.LAST_HOUR
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
159 };
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
160 },
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
161 computed: {
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
162 ...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
163 ...mapState("imports", [
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
164 "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
165 "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
166 "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
167 "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
168 "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
169 "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
170 "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
171 ]),
3677
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
172 ...mapGetters("usermanagement", ["userCountries"]),
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
173 ...mapGetters("imports", ["filters"]),
3506
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
174 countryLabel() {
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
175 return this.$gettext("Country");
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
176 },
2760
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
177 importReviewLabel() {
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
178 return this.$gettext("Import review");
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2759
diff changeset
179 },
2779
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
180 idLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
181 return this.$gettext("Id");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
182 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
183 kindLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
184 return this.$gettext("Kind");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
185 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
186 enqueuedLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
187 return this.$gettext("Enqueued");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
188 },
3559
c220ad7e61ed client: import review/configuration: unified column names in table (User/Author -> Owner)
Markus Kottlaender <markus@intevation.de>
parents: 3506
diff changeset
189 ownerLabel() {
c220ad7e61ed client: import review/configuration: unified column names in table (User/Author -> Owner)
Markus Kottlaender <markus@intevation.de>
parents: 3506
diff changeset
190 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
191 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
192 signerLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
193 return this.$gettext("Signer");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
194 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
195 statusLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
196 return this.$gettext("Status");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2771
diff changeset
197 },
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
198 interval() {
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
199 return [this.startDate, this.endDate];
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
200 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
201 },
2875
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
202 watch: {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
203 $route() {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
204 const { id } = this.$route.params;
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
205 if (id) this.showSingleRessource(id);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
206 },
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
207 selectedInterval() {
2950
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
208 this.loadUpdatedLogs();
2875
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
209 },
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
210 imports() {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
211 if (this.imports.length == 0) {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
212 if (this.next) {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
213 const [start, end] = this.determineInterval(this.next);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
214 this.$store.commit("imports/setStartDate", start);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
215 this.$store.commit("imports/setEndDate", end);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
216 this.loadLogs();
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
217 } else if (this.prev) {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
218 const [start, end] = this.determineInterval(this.prev);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
219 this.$store.commit("imports/setStartDate", start);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
220 this.$store.commit("imports/setEndDate", end);
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
221 this.loadLogs();
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
222 }
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
223 }
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
224 },
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
225 filters() {
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
226 this.loadLogs();
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
227 }
84effca50751 client: importoverview: cleaned up code
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
228 },
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
229 methods: {
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
230 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
231 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
232 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
233 .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
234 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
235 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
236 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
237 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
238 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
239 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
240 })
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
241 .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
242 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
243 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
244 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
245 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
246 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
247 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
248 });
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
249 });
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
250 },
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
251 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
252 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
253 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
254 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
255 })
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
256 .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
257 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
258 })
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
259 .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
260 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
261 });
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
262 });
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
263 },
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
264 determineInterval(pointInTime) {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
265 let start, end;
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
266 switch (this.selectedInterval) {
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
267 case this.$options.LAST_HOUR:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
268 start = startOfHour(pointInTime);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
269 end = endOfHour(pointInTime);
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
270 break;
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
271 case this.$options.TODAY:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
272 start = startOfDay(pointInTime);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
273 end = endOfDay(pointInTime);
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
274 break;
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
275 case this.$options.LAST_7_DAYS:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
276 start = startOfDay(pointInTime);
2847
4da07a11e6e1 import_overview: fix date calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2840
diff changeset
277 end = endOfDay(addDays(start, 7));
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
278 break;
2877
55a9c7965e25 client: importoverview: fixed interval select fix
Markus Kottlaender <markus@intevation.de>
parents: 2876
diff changeset
279 case this.$options.LAST_30_DAYS:
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
280 start = startOfDay(pointInTime);
2847
4da07a11e6e1 import_overview: fix date calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2840
diff changeset
281 end = endOfDay(addDays(start, 30));
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
282 break;
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
283 }
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
284 return [start, end];
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
285 },
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
286 earlier() {
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
287 if (!this.prev) return;
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
288 const [start, end] = this.determineInterval(this.prev);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
289 this.$store.commit("imports/setStartDate", start);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
290 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
291 this.loadLogs();
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
292 },
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
293 later() {
2769
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
294 if (!this.next) return;
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
295 const [start, end] = this.determineInterval(this.next);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
296 this.$store.commit("imports/setStartDate", start);
c2a2515c7a72 import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents: 2768
diff changeset
297 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
298 this.loadLogs();
2745
d2896bb852e7 import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents: 2740
diff changeset
299 },
3416
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
300 now() {
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
301 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
302 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
303 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
304 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
305 this.loadLogs();
b65c2530c680 client: import review: added button to go back to latest date
Markus Kottlaender <markus@intevation.de>
parents: 3409
diff changeset
306 },
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
307 filteredImports() {
3677
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
308 return this.imports.map(x => {
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
309 x["country"] = this.userCountries[x.user];
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
310 return x;
24fafb86b528 import_logs: client side sorting for country
Thomas Junk <thomas.junk@intevation.de>
parents: 3605
diff changeset
311 });
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2734
diff changeset
312 },
2789
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
313 loadUpdatedLogs() {
2950
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
314 const now = new Date();
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
315 switch (this.selectedInterval) {
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
316 case this.$options.LAST_HOUR:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
317 this.$store.commit("imports/setStartDate", startOfHour(now));
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
318 this.$store.commit("imports/setEndDate", now);
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
319 break;
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
320 case this.$options.TODAY:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
321 this.$store.commit("imports/setStartDate", startOfDay(now));
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
322 this.$store.commit("imports/setEndDate", now);
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
323 break;
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
324 case this.$options.LAST_7_DAYS:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
325 this.$store.commit(
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
326 "imports/setStartDate",
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
327 subDays(startOfDay(now), 7)
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
328 );
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
329 this.$store.commit("imports/setEndDate", now);
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
330 break;
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
331 case this.$options.LAST_30_DAYS:
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
332 this.$store.commit(
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
333 "imports/setStartDate",
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
334 subDays(startOfDay(now), 30)
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
335 );
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
336 this.$store.commit("imports/setEndDate", now);
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
337 break;
1775ffa65504 import_overview: fix time calculation
Thomas Junk <thomas.junk@intevation.de>
parents: 2945
diff changeset
338 }
2789
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
339 this.loadLogs();
c1e832f77726 import_overview: setting a sane default window in case of reload
Thomas Junk <thomas.junk@intevation.de>
parents: 2785
diff changeset
340 },
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
341 loadLogs() {
2619
eb1ec926ff97 client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents: 2618
diff changeset
342 this.loading = true;
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
343 this.$store
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
344 .dispatch("imports/getImports", {
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
345 filter: this.filters,
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
346 from: format(this.startDate, "YYYY-MM-DDTHH:mm:ss.SSS"),
2749
cd789302b3e2 import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents: 2748
diff changeset
347 to: format(this.endDate, "YYYY-MM-DDTHH:mm:ss.SSS"),
cd789302b3e2 import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents: 2748
diff changeset
348 query: this.searchQuery
2748
c6695d6e9334 import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents: 2745
diff changeset
349 })
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
350 .then(() => {
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
351 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
352 this.loadDetails(this.show)
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
353 .then(response => {
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
354 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
355 this.loading = false;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
356 })
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
357 .catch(error => {
2796
718ec88fbeed import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents: 2789
diff changeset
358 this.loading = false;
718ec88fbeed import_overview: disable loading spinner in case of errors
Thomas Junk <thomas.junk@intevation.de>
parents: 2789
diff changeset
359 this.$store.commit("imports/setCurrentDetails", {});
2771
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
360 const { status, data } = error.response;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
361 displayError({
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
362 title: this.$gettext("Backend Error"),
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
363 message: `${status}: ${data.message || data}`
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
364 });
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
365 });
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
366 } else {
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
367 this.loading = false;
838cf903538f import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents: 2769
diff changeset
368 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
369 })
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
370 .catch(error => {
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
371 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
372 this.loading = false;
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
373 displayError({
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
374 title: this.$gettext("Backend Error"),
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
375 message: `${status}: ${data.message || data}`
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
376 });
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
377 });
2626
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
378 },
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
379 save() {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
380 if (!this.reviewed.length) return;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
381
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
382 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
383 this.reviewed.forEach(r => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
384 let imp = this.imports.find(i => i.id === r.id);
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
385 let approved = STATES.APPROVED === r.status;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
386 popupContent += `<tr>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
387 <td>${imp.id}</td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
388 <td>${imp.kind.toUpperCase()}</td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
389 <td>${this.$options.filters.dateTime(imp.enqueued)}</td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
390 <td class="text-${approved ? "success" : "danger"}">
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
391 ${this.$gettext(approved ? "approved" : "declined")}
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
392 </td>
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
393 </tr>`;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
394 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
395 popupContent += "</table>";
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
396
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
397 this.$store.commit("application/popup", {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
398 icon: "clipboard-check",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
399 title: this.$gettext("Finish Review"),
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
400 padding: false,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
401 big: true,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
402 content: popupContent,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
403 confirm: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
404 icon: "check",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
405 callback: () => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
406 let data = this.reviewed.map(r => ({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
407 id: r.id,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
408 state: r.status
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
409 }));
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
410 this.$store
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
411 .dispatch("imports/confirmReview", data)
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
412 .then(response => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
413 this.loadLogs();
2638
6c1730fc3dc1 client: importsoverview2: clear reviewed array after finishing review
Markus Kottlaender <markus@intevation.de>
parents: 2632
diff changeset
414 this.$store.commit("imports/setReviewed", []);
3409
c0f5f62343c9 client: import review: refresh map layers after accepting/declining imports
Markus Kottlaender <markus@intevation.de>
parents: 3014
diff changeset
415 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
416 this.$store.dispatch("imports/loadStagingNotifications");
2626
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
417 const messages = response.data
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
418 .map(x => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
419 if (x.message) return x.message;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
420 if (x.error) return x.error;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
421 })
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
422 .join("\n\n");
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
423 displayInfo({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
424 title: "Staging Area",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
425 message: messages,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
426 options: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
427 timeout: 0,
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
428 buttons: [{ text: "Ok", action: null, bold: true }]
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
429 }
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
430 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
431 })
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
432 .catch(error => {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
433 const { status, data } = error.response;
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
434 displayError({
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
435 title: "Backend Error",
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
436 message: `${status}: ${data.message || data}`
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
437 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
438 });
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
439 }
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
440 },
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
441 cancel: {
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
442 label: this.$gettext("Cancel"),
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
443 icon: "times"
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
444 }
50cc5bffd787 client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents: 2619
diff changeset
445 });
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
446 }
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
447 },
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
448 mounted() {
3506
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
449 this.$store.dispatch("usermanagement/loadUsers").catch(error => {
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
450 const { status, data } = error.response;
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
451 displayError({
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
452 title: this.$gettext("Backend Error"),
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
453 message: `${status}: ${data.message || data}`
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
454 });
e2ed741545e1 import_overview: added country column
Thomas Junk <thomas.junk@intevation.de>
parents: 3416
diff changeset
455 });
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
456 const { id } = this.$route.params;
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
457 if (id) {
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
458 this.showSingleRessource(id);
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2877
diff changeset
459 } 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
460 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
461 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
462 }
2578
3ad81357a57c overview2 WIP
Thomas Junk <thomas.junk@intevation.de>
parents: 2559
diff changeset
463 }
2559
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
464 };
d9e1db955d49 Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
465 </script>