Mercurial > gemma
annotate client/src/components/importoverview/ImportOverview.vue @ 2699:ef10f1cd6cb8
import_overview: testwise including header component
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Mon, 18 Mar 2019 12:49:38 +0100 |
parents | 0d2650dd8f62 |
children | 58e2d95757ac |
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" |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
5 title="Staging Area" |
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"> |
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
|
11 <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
|
12 class="loading d-flex justify-content-center align-items-center" |
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 v-if="loading" |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
14 > |
2632
0b14de0bb85f
client: importoverview2: moved refresh button to box header, added loading animation like in other boxes
Markus Kottlaender <markus@intevation.de>
parents:
2626
diff
changeset
|
15 <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
|
16 </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
|
17 </transition> |
2699
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
18 <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
|
19 <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
|
20 <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
|
21 <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
|
22 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
|
23 :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
|
24 @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
|
25 > |
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
|
26 <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
|
27 </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
|
28 </div> |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
29 </div> |
2699
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
30 <UITableHeader |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
31 :columns="[ |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
32 { id: 'id', title: 'Id', class: 'col-1' }, |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
33 { |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
34 id: 'kind', |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
35 title: 'Kind', |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
36 class: 'col-1' |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
37 }, |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
38 { |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
39 id: 'enqueued', |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
40 title: 'Enqueued', |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
41 class: 'col-3' |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
42 }, |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
43 { |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
44 id: 'user', |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
45 title: 'User', |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
46 class: 'user' |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
47 }, |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
48 { |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
49 id: 'signer', |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
50 title: 'Signer', |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
51 class: 'signer' |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
52 }, |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
53 { |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
54 id: 'state', |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
55 title: 'Status', |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
56 class: 'col-2' |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
57 } |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
58 ]" |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
59 @sortingChanged="sortBy" |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
60 /> |
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
|
61 <LogEntry |
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
|
62 class="border-top d-flex-flex-column w-100" |
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
|
63 :entry="entry" |
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
|
64 v-for="entry in imports" |
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
|
65 :key="entry.id" |
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
|
66 ></LogEntry> |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
67 </div> |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
68 </div> |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
69 </template> |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
70 |
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
|
71 <style lang="sass" scoped> |
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
|
72 .loading |
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
|
73 background: rgba(255, 255, 255, 0.9) |
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
|
74 position: absolute |
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
|
75 z-index: 99 |
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
|
76 top: 0 |
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
|
77 right: 0 |
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
|
78 bottom: 0 |
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
|
79 left: 0 |
2699
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
80 .id |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
81 width: 5% |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
82 |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
83 .kind |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
84 width: 8% |
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 .state |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
87 width: 12% |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
88 |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
89 .enqueued |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
90 width: 25 |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
91 |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
92 .user |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
93 width: 16% |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
94 .signer |
ef10f1cd6cb8
import_overview: testwise including header component
Thomas Junk <thomas.junk@intevation.de>
parents:
2666
diff
changeset
|
95 width: 16% |
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
|
96 </style> |
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
|
97 |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
98 <script> |
2578 | 99 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
100 * without warranty, see README.md and license for details. | |
101 * | |
102 * SPDX-License-Identifier: AGPL-3.0-or-later | |
103 * License-Filename: LICENSES/AGPL-3.0.txt | |
104 * | |
105 * Copyright (C) 2018 by via donau | |
106 * – Österreichische Wasserstraßen-Gesellschaft mbH | |
107 * Software engineering by Intevation GmbH | |
108 * | |
109 * Author(s): | |
110 * Thomas Junk <thomas.junk@intevation.de> | |
111 */ | |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
112 |
2654
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
113 import { mapState, mapGetters } from "vuex"; |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
114 import { displayError, displayInfo } from "@/lib/errors.js"; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
115 import { STATES } from "@/store/imports.js"; |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
116 |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
117 export default { |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
118 name: "importoverviewalt", |
2578 | 119 components: { |
120 Filters: () => import("./Filters.vue"), | |
121 LogEntry: () => import("./LogEntry.vue") | |
122 }, | |
2619
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
123 data() { |
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
124 return { |
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
125 loading: false |
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
126 }; |
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
127 }, |
2578 | 128 computed: { |
2654
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
129 ...mapState("imports", ["imports", "reviewed"]), |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
130 ...mapGetters("imports", ["filters"]) |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
131 }, |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
132 methods: { |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
133 loadLogs() { |
2619
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
134 this.loading = true; |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
135 this.$store |
2654
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
136 .dispatch("imports/getImports", this.filters) |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
137 .then(() => { |
2619
eb1ec926ff97
client: importoverview2: added refresh button
Markus Kottlaender <markus@intevation.de>
parents:
2618
diff
changeset
|
138 this.loading = false; |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
139 }) |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
140 .catch(error => { |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
141 const { status, data } = error.response; |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
142 displayError({ |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
143 title: this.$gettext("Backend Error"), |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
144 message: `${status}: ${data.message || data}` |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
145 }); |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
146 }); |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
147 }, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
148 save() { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
149 if (!this.reviewed.length) return; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
150 |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
151 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
|
152 this.reviewed.forEach(r => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
153 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
|
154 let approved = STATES.APPROVED === r.status; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
155 popupContent += `<tr> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
156 <td>${imp.id}</td> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
157 <td>${imp.kind.toUpperCase()}</td> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
158 <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
|
159 <td class="text-${approved ? "success" : "danger"}"> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
160 ${this.$gettext(approved ? "approved" : "declined")} |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
161 </td> |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
162 </tr>`; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
163 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
164 popupContent += "</table>"; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
165 |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
166 this.$store.commit("application/popup", { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
167 icon: "clipboard-check", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
168 title: this.$gettext("Finish Review"), |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
169 padding: false, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
170 big: true, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
171 content: popupContent, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
172 confirm: { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
173 icon: "check", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
174 callback: () => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
175 let data = this.reviewed.map(r => ({ |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
176 id: r.id, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
177 state: r.status |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
178 })); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
179 this.$store |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
180 .dispatch("imports/confirmReview", data) |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
181 .then(response => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
182 this.loadLogs(); |
2638
6c1730fc3dc1
client: importsoverview2: clear reviewed array after finishing review
Markus Kottlaender <markus@intevation.de>
parents:
2632
diff
changeset
|
183 this.$store.commit("imports/setReviewed", []); |
2626
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
184 const messages = response.data |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
185 .map(x => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
186 if (x.message) return x.message; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
187 if (x.error) return x.error; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
188 }) |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
189 .join("\n\n"); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
190 displayInfo({ |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
191 title: "Staging Area", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
192 message: messages, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
193 options: { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
194 timeout: 0, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
195 buttons: [{ text: "Ok", action: null, bold: true }] |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
196 } |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
197 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
198 }) |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
199 .catch(error => { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
200 const { status, data } = error.response; |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
201 displayError({ |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
202 title: "Backend Error", |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
203 message: `${status}: ${data.message || data}` |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
204 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
205 }); |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
206 } |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
207 }, |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
208 cancel: { |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
209 label: this.$gettext("Cancel"), |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
210 icon: "times" |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
211 } |
50cc5bffd787
client: importoverview2: implemented Finish Review (confirm) dialog
Markus Kottlaender <markus@intevation.de>
parents:
2619
diff
changeset
|
212 }); |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
213 } |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
214 }, |
2593 | 215 watch: { |
216 filters() { | |
217 this.$store.dispatch("imports/getImports", this.filters); | |
218 } | |
219 }, | |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
220 mounted() { |
2578 | 221 this.loadLogs(); |
222 } | |
2559
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
223 }; |
d9e1db955d49
Backed out changeset 91c68153e7b6
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
224 </script> |