Mercurial > gemma
annotate client/src/components/importoverview/ImportOverview.vue @ 2785:9a7d4caa1b77
import_overview: search is cleared when entering view
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Mon, 25 Mar 2019 10:06:43 +0100 |
parents | 21eb85cdfe45 |
children | c1e832f77726 |
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" |
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
|
7 :actions="[{ callback: loadLogs, icon: 'redo' }]" |
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"> |
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
|
10 <transition name="fade"> |
2740
85de42146bdb
client: css: moved class for loading overlay to application.scss
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
11 <div class="loading" v-if="loading"> |
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 <font-awesome-icon icon="spinner" spin /> |
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
|
13 </div> |
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
|
14 </transition> |
2699
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
15 <div class="p-2 mb-1 d-flex flex-row flex-fill 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
|
16 <Filters></Filters> |
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
|
17 <div> |
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
|
18 <button |
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
|
19 class="btn btn-sm btn-info" |
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
|
20 :disabled="!reviewed.length" |
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
|
21 @click="save" |
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
|
22 > |
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
|
23 <translate>Commit</translate> {{ reviewed.length }} |
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
|
24 </button> |
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
|
25 </div> |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
26 </div> |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
27 <div |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
28 class="ml-2 mr-2 mb-2 datefilter d-flex flex-row justify-content-between" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
29 > |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
30 <div class="mr-3 my-auto pointer"> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
31 <button |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
32 :disabled="!this.prev" |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
33 @click="earlier" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
34 class="btn btn-sm btn-outline-light text-dark" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
35 > |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
36 <translate>Earlier</translate> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
37 <font-awesome-icon class="ml-2" icon="angle-left" /> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
38 </button> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
39 </div> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
40 <div class="selected-interval my-auto"> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
41 <span class="date">{{ interval[0] | dateTime }}</span> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
42 <span class="ml-3 mr-3">-</span> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
43 <span class="date">{{ interval[1] | dateTime }}</span> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
44 </div> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
45 <div class="ml-3 my-auto pointer"> |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
46 <button |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
47 :disabled="!this.next" |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
48 @click="later" |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
49 class="btn btn-sm btn-outline-light text-dark" |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
50 > |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
51 <font-awesome-icon class="mr-2" icon="angle-right" /><translate |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
52 >Later</translate |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
53 > |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
54 </button> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
55 </div> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
56 <div class="d-flex flex-row"> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
57 <select |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
58 class="my-auto btn btn-outline-light text-dark form-control interval-select" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
59 v-model="selectedInterval" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
60 > |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
61 <option |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
62 :selected="selectedInterval === $options.LAST_HOUR" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
63 :value="$options.LAST_HOUR" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
64 ><translate>Hour</translate></option |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
65 > |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
66 <option |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
67 :selected="selectedInterval === $options.TODAY" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
68 :value="$options.TODAY" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
69 ><translate>Day</translate></option |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
70 > |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
71 <option |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
72 :selected="selectedInterval === $options.LAST_7_DAYS" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
73 :value="$options.LAST_7_DAYS" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
74 ><translate>7 days</translate></option |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
75 > |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
76 <option |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
77 :selected="selectedInterval === $options.LAST_30_DAYS" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
78 :value="$options.LAST_30_DAYS" |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
79 ><translate>30 Days</translate></option |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
80 > |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
81 </select> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
82 </div> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
83 </div> |
2699
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
84 <UITableHeader |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
85 :columns="[ |
2779
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
86 { id: 'id', title: `${idLabel}`, width: '79px' }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
87 { 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
|
88 { id: 'enqueued', title: `${enqueuedLabel}`, width: '138px' }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
89 { id: 'user', title: `${userLabel}`, width: '105px' }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
90 { id: 'signer', title: `${signerLabel}`, width: '105px' }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
91 { id: 'state', title: `${statusLabel}`, width: '72px' }, |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
92 { id: 'warnings', icon: 'exclamation-triangle', width: '44px' } |
2699
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
93 ]" |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
94 /> |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
95 <!-- |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
96 For server-side sorting, etc simply don't use the sortTable filter. |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
97 Instead you could just pass a function that loads the imports, like: |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
98 :data="loadImports(sortColumn, sortDirection)" |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
99 --> |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
100 <UITableBody |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
101 :data="filteredImports() | sortTable(sortColumn, sortDirection)" |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
102 maxHeight="80vh" |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
103 v-slot="{ item: entry }" |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
104 > |
2725
9465749410ba
client: import overview: use table body component
Markus Kottlaender <markus@intevation.de>
parents:
2720
diff
changeset
|
105 <LogEntry :entry="entry"></LogEntry> |
9465749410ba
client: import overview: use table body component
Markus Kottlaender <markus@intevation.de>
parents:
2720
diff
changeset
|
106 </UITableBody> |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
107 </div> |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
108 </div> |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
109 </template> |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
110 |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
111 <script> |
2578 | 112 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
113 * without warranty, see README.md and license for details. | |
114 * | |
115 * SPDX-License-Identifier: AGPL-3.0-or-later | |
116 * License-Filename: LICENSES/AGPL-3.0.txt | |
117 * | |
118 * Copyright (C) 2018 by via donau | |
119 * – Österreichische Wasserstraßen-Gesellschaft mbH | |
120 * Software engineering by Intevation GmbH | |
121 * | |
122 * Author(s): | |
123 * Thomas Junk <thomas.junk@intevation.de> | |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
124 * Markus Kottländer <markus.kottlaender@intevation.de> |
2578 | 125 */ |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
126 |
2654
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
127 import { mapState, mapGetters } from "vuex"; |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
128 import { displayError, displayInfo } from "@/lib/errors"; |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
129 import { STATES } from "@/store/imports"; |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
130 import { sortTable } from "@/lib/mixins"; |
2771
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
131 import { HTTP } from "@/lib/http.js"; |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
132 |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
133 import { |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
134 startOfDay, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
135 startOfHour, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
136 endOfHour, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
137 endOfDay, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
138 addDays, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
139 subDays, |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
140 format |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
141 } from "date-fns"; |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
142 |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
143 export default { |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
144 name: "importoverview", |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
145 mixins: [sortTable], |
2578 | 146 components: { |
147 Filters: () => import("./Filters.vue"), | |
148 LogEntry: () => import("./LogEntry.vue") | |
149 }, | |
2619
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
150 data() { |
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
151 return { |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
152 loading: false, |
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
|
153 selectedInterval: this.$options.LAST_HOUR |
2619
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
154 }; |
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
155 }, |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
156 LAST_HOUR: "lasthour", |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
157 TODAY: "today", |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
158 LAST_7_DAYS: "lastsevendays", |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
159 LAST_30_DAYS: "lastthirtydays", |
2578 | 160 computed: { |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
161 ...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
|
162 ...mapState("imports", [ |
2771
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
163 "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
|
164 "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
|
165 "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
|
166 "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
|
167 "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
|
168 "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
|
169 "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
|
170 ]), |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
171 ...mapGetters("imports", ["filters"]), |
2760
c6fba10926cc
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2759
diff
changeset
|
172 importReviewLabel() { |
c6fba10926cc
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2759
diff
changeset
|
173 return this.$gettext("Import review"); |
c6fba10926cc
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2759
diff
changeset
|
174 }, |
2779
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
175 idLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
176 return this.$gettext("Id"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
177 }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
178 kindLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
179 return this.$gettext("Kind"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
180 }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
181 enqueuedLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
182 return this.$gettext("Enqueued"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
183 }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
184 userLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
185 return this.$gettext("User"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
186 }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
187 signerLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
188 return this.$gettext("Signer"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
189 }, |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
190 statusLabel() { |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
191 return this.$gettext("Status"); |
21eb85cdfe45
Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2771
diff
changeset
|
192 }, |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
193 interval() { |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
194 return [this.startDate, this.endDate]; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
195 } |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
196 }, |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
197 methods: { |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
198 determineInterval(pointInTime) { |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
199 let start, end; |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
200 switch (this.selectedInterval) { |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
201 case this.$options.LAST_HOUR: |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
202 start = startOfHour(pointInTime); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
203 end = endOfHour(pointInTime); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
204 break; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
205 case this.$options.TODAY: |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
206 start = startOfDay(pointInTime); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
207 end = endOfDay(pointInTime); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
208 break; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
209 case this.$options.LAST_7_DAYS: |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
210 start = startOfDay(pointInTime); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
211 end = endOfDay(addDays(7, start)); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
212 break; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
213 case this.$options.LAST_30_DAYS: |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
214 start = startOfDay(pointInTime); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
215 end = endOfDay(addDays(30, start)); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
216 break; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
217 } |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
218 return [start, end]; |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
219 }, |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
220 earlier() { |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
221 if (!this.prev) return; |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
222 const [start, end] = this.determineInterval(this.prev); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
223 this.$store.commit("imports/setStartDate", start); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
224 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
|
225 this.loadLogs(); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
226 }, |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
227 later() { |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
228 if (!this.next) return; |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
229 const [start, end] = this.determineInterval(this.next); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
230 this.$store.commit("imports/setStartDate", start); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
231 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
|
232 this.loadLogs(); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
233 }, |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
234 filteredImports() { |
2749
cd789302b3e2
import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents:
2748
diff
changeset
|
235 return this.imports; |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2734
diff
changeset
|
236 }, |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
237 loadLogs() { |
2619
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
238 this.loading = true; |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
239 this.$store |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
240 .dispatch("imports/getImports", { |
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
241 filter: this.filters, |
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
242 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
|
243 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
|
244 query: this.searchQuery |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
245 }) |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
246 .then(() => { |
2771
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
247 if (this.show != -1) { |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
248 HTTP.get("/imports/" + this.show, { |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
249 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
250 }) |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
251 .then(response => { |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
252 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
|
253 this.loading = false; |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
254 }) |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
255 .catch(error => { |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
256 const { status, data } = error.response; |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
257 displayError({ |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
258 title: this.$gettext("Backend Error"), |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
259 message: `${status}: ${data.message || data}` |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
260 }); |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
261 }); |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
262 } else { |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
263 this.loading = false; |
838cf903538f
import_overview: on refresh reload current details
Thomas Junk <thomas.junk@intevation.de>
parents:
2769
diff
changeset
|
264 } |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
265 }) |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
266 .catch(error => { |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
267 const { status, data } = error.response; |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
268 displayError({ |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
269 title: this.$gettext("Backend Error"), |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
270 message: `${status}: ${data.message || data}` |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
271 }); |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
272 }); |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
273 }, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
274 save() { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
275 if (!this.reviewed.length) return; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
276 |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
277 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
|
278 this.reviewed.forEach(r => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
279 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
|
280 let approved = STATES.APPROVED === r.status; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
281 popupContent += `<tr> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
282 <td>${imp.id}</td> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
283 <td>${imp.kind.toUpperCase()}</td> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
284 <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
|
285 <td class="text-${approved ? "success" : "danger"}"> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
286 ${this.$gettext(approved ? "approved" : "declined")} |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
287 </td> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
288 </tr>`; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
289 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
290 popupContent += "</table>"; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
291 |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
292 this.$store.commit("application/popup", { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
293 icon: "clipboard-check", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
294 title: this.$gettext("Finish Review"), |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
295 padding: false, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
296 big: true, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
297 content: popupContent, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
298 confirm: { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
299 icon: "check", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
300 callback: () => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
301 let data = this.reviewed.map(r => ({ |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
302 id: r.id, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
303 state: r.status |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
304 })); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
305 this.$store |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
306 .dispatch("imports/confirmReview", data) |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
307 .then(response => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
308 this.loadLogs(); |
2638
6c1730fc3dc1
client: importsoverview2: clear reviewed array after finishing review
Markus Kottlaender <markus@intevation.de>
parents:
2632
diff
changeset
|
309 this.$store.commit("imports/setReviewed", []); |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
310 const messages = response.data |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
311 .map(x => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
312 if (x.message) return x.message; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
313 if (x.error) return x.error; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
314 }) |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
315 .join("\n\n"); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
316 displayInfo({ |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
317 title: "Staging Area", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
318 message: messages, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
319 options: { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
320 timeout: 0, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
321 buttons: [{ text: "Ok", action: null, bold: true }] |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
322 } |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
323 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
324 }) |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
325 .catch(error => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
326 const { status, data } = error.response; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
327 displayError({ |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
328 title: "Backend Error", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
329 message: `${status}: ${data.message || data}` |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
330 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
331 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
332 } |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
333 }, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
334 cancel: { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
335 label: this.$gettext("Cancel"), |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
336 icon: "times" |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
337 } |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
338 }); |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
339 } |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
340 }, |
2593 | 341 watch: { |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
342 selectedInterval() { |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
343 const now = new Date(); |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
344 switch (this.selectedInterval) { |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
345 case this.$options.LAST_HOUR: |
2753
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
346 this.$store.commit("imports/setStartDate", startOfHour(now)); |
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
347 this.$store.commit("imports/setEndDate", now); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
348 break; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
349 case this.$options.TODAY: |
2753
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
350 this.$store.commit("imports/setStartDate", startOfDay(now)); |
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
351 this.$store.commit("imports/setEndDate", now); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
352 break; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
353 case this.$options.LAST_7_DAYS: |
2753
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
354 this.$store.commit( |
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
355 "imports/setStartDate", |
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
356 subDays(startOfDay(now), 7) |
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
357 ); |
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
358 this.$store.commit("imports/setEndDate", now); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
359 break; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
360 case this.$options.LAST_30_DAYS: |
2753
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
361 this.$store.commit( |
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
362 "imports/setStartDate", |
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
363 subDays(startOfDay(now), 30) |
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
364 ); |
2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
Thomas Junk <thomas.junk@intevation.de>
parents:
2749
diff
changeset
|
365 this.$store.commit("imports/setEndDate", now); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
366 break; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
367 } |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
368 this.loadLogs(); |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
369 }, |
2769
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
370 imports() { |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
371 if (this.imports.length == 0) { |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
372 if (this.next) { |
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); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
376 this.loadLogs(); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
377 } else if (this.prev) { |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
378 const [start, end] = this.determineInterval(this.prev); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
379 this.$store.commit("imports/setStartDate", start); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
380 this.$store.commit("imports/setEndDate", end); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
381 this.loadLogs(); |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
382 } |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
383 } |
c2a2515c7a72
import_overview: hopefully fixed dancing bug
Thomas Junk <thomas.junk@intevation.de>
parents:
2768
diff
changeset
|
384 }, |
2593 | 385 filters() { |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2745
diff
changeset
|
386 this.loadLogs(); |
2593 | 387 } |
388 }, | |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
389 mounted() { |
2785
9a7d4caa1b77
import_overview: search is cleared when entering view
Thomas Junk <thomas.junk@intevation.de>
parents:
2779
diff
changeset
|
390 this.$store.commit("application/searchQuery", ""); |
2578 | 391 this.loadLogs(); |
392 } | |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
393 }; |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
394 </script> |
2745
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
395 |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
396 <style lang="scss" scoped> |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
397 .date { |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
398 font-stretch: condensed; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
399 } |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
400 .interval-select { |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
401 padding: 0px; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
402 margin: 0px; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
403 font-size: 80%; |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
404 } |
d2896bb852e7
import_overview: paging interval selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2740
diff
changeset
|
405 </style> |