Mercurial > gemma
annotate client/src/components/importconfiguration/Import.vue @ 2974:e161e1ffb6b5 unified_import
unified_imports: AGM moved to new interface
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Mon, 08 Apr 2019 16:44:15 +0200 |
parents | 6f351e00e579 |
children | 2a29bf8776d0 |
rev | line source |
---|---|
2968 | 1 <template> |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
2 <div> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
3 <UIBoxHeader icon="clock" :title="title" /> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
4 <div v-if="mode === $options.MODES.LIST" class="mb-3"> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
5 <UISpinnerOverlay v-if="loading" /> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
6 <UITableHeader |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
7 :columns="[ |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
8 { id: 'id', title: `${idLabel}`, class: 'col-1' }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
9 { id: 'kind', title: `${typeLabel}`, class: 'col-2' }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
10 { id: 'user', title: `${authorLabel}`, class: 'col-2' }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
11 { id: 'config.cron', title: `${scheduleLabel}`, class: 'col-2' }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
12 { id: 'config.send-email', title: `${emailLabel}`, class: 'col-2' } |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
13 ]" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
14 /> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
15 <UITableBody |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
16 :data="filteredSchedules | sortTable(sortColumn, sortDirection)" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
17 :isActive="item => currentSchedule && item.id === currentSchedule.id" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
18 > |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
19 <template v-slot:row="{ item: schedule }"> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
20 <div class="table-cell col-1">{{ schedule.id }}</div> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
21 <div class="table-cell col-2"> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
22 {{ schedule.kind.toUpperCase() }} |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
23 </div> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
24 <div class="table-cell col-2">{{ schedule.user }}</div> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
25 <div class="table-cell col-2">{{ schedule.config.cron }}</div> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
26 <div class="table-cell col-2"> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
27 <font-awesome-icon |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
28 v-if="schedule.config['send-email']" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
29 class="fa-fw mr-2" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
30 fixed-width |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
31 icon="check" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
32 /> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
33 </div> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
34 <div class="table-cell col justify-content-end"> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
35 <button |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
36 @click="triggerManualImport(schedule.id)" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
37 class="btn btn-xs btn-dark mr-1" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
38 :disabled="importScheduleDetailVisible" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
39 > |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
40 <font-awesome-icon icon="play" fixed-width /> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
41 </button> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
42 <button |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
43 @click="editSchedule(schedule.id)" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
44 class="btn btn-xs btn-dark mr-1" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
45 :disabled="importScheduleDetailVisible" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
46 > |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
47 <font-awesome-icon icon="pencil-alt" fixed-width /> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
48 </button> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
49 <button |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
50 @click="deleteSchedule(schedule)" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
51 class="btn btn-xs btn-dark" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
52 :disabled="importScheduleDetailVisible" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
53 > |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
54 <font-awesome-icon icon="trash" fixed-width /> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
55 </button> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
56 </div> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
57 </template> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
58 </UITableBody> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
59 </div> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
60 <ImportDetails v-if="mode === $options.MODES.EDIT"></ImportDetails> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
61 <div class="d-flex flex-row-reverse w-100 mb-3"> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
62 <button |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
63 :key="1" |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
64 v-if="mode === $options.MODES.EDIT && !isOnetime" |
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
65 @click="back()" |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
66 class="btn btn-warning mr-3" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
67 > |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
68 Back |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
69 </button> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
70 <button |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
71 :key="2" |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
72 v-if="mode === $options.MODES.EDIT && !isOnetime" |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
73 type="submit" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
74 class="shadow-sm btn btn-info submit-button mr-3" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
75 > |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
76 <translate>Submit</translate> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
77 </button> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
78 <button |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
79 :key="3" |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
80 v-if="mode === $options.MODES.LIST && !isOnetime" |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
81 @click="newConfiguration()" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
82 class="btn btn-info mr-3" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
83 > |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
84 <translate>New import</translate> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
85 </button> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
86 <button |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
87 v-if=" |
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
88 mode === $options.MODES.EDIT && |
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
89 currentSchedule.importType && |
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
90 !isOnetime |
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
91 " |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
92 @click="triggerManualImport" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
93 type="button" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
94 class="shadow-sm btn btn-outline-info trigger mr-auto ml-3" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
95 > |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
96 <font-awesome-icon class="fa-fw mr-2" fixed-width icon="play" /> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
97 <translate>Trigger import</translate> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
98 </button> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
99 </div> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
100 </div> |
2968 | 101 </template> |
102 | |
103 <style></style> | |
104 | |
105 <script> | |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
106 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
107 * without warranty, see README.md and license for details. |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
108 * |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
109 * SPDX-License-Identifier: AGPL-3.0-or-later |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
110 * License-Filename: LICENSES/AGPL-3.0.txt |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
111 * |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
112 * Copyright (C) 2018 by via donau |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
113 * – Österreichische Wasserstraßen-Gesellschaft mbH |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
114 * Software engineering by Intevation GmbH |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
115 * |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
116 * Author(s): |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
117 * Thomas Junk <thomas.junk@intevation.de> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
118 * Markus Kottländer <markus.kottlaender@intevation.de> |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
119 */ |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
120 import { mapState } from "vuex"; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
121 import { displayInfo, displayError } from "@/lib/errors"; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
122 import { HTTP } from "@/lib/http"; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
123 import { |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
124 IMPORTTYPES, |
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
125 MODES |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
126 // IMPORTTYPEKIND, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
127 // initializeCurrentSchedule |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
128 } from "@/store/importschedule"; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
129 |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
130 export default { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
131 components: { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
132 ImportDetails: () => import("./ImportDetails.vue") |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
133 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
134 data() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
135 return { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
136 loading: false, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
137 sortColumn: "", |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
138 sortDirection: "" |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
139 }; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
140 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
141 methods: { |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
142 back() { |
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
143 this.$store.commit("importschedule/setListMode"); |
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
144 }, |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
145 newConfiguration() { |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
146 this.$store.commit("importschedule/setEditMode"); |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
147 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
148 getSchedules() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
149 this.loading = true; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
150 this.$store |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
151 .dispatch("importschedule/loadSchedules") |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
152 .catch(error => { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
153 const { status, data } = error.response; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
154 displayError({ |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
155 title: this.$gettext("Backend Error"), |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
156 message: `${status}: ${data.message || data}` |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
157 }); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
158 }) |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
159 .finally(() => { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
160 this.loading = false; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
161 }); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
162 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
163 editSchedule(id) { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
164 this.$store |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
165 .dispatch("importschedule/loadSchedule", id) |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
166 .then(() => { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
167 this.$store.commit("importschedule/setImportScheduleDetailVisible"); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
168 }) |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
169 .catch(error => { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
170 const { status, data } = error.response; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
171 displayError({ |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
172 title: this.$gettext("Backend Error"), |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
173 message: `${status}: ${data.message || data}` |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
174 }); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
175 }); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
176 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
177 triggerManualImport(id) { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
178 HTTP.get("/imports/config/" + id + "/run", { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
179 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
180 }) |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
181 .then(response => { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
182 const { id } = response.data; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
183 displayInfo({ |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
184 title: this.$gettext("Imports"), |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
185 message: this.$gettext("Manually triggered import: #") + id |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
186 }); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
187 }) |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
188 .catch(error => { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
189 const { status, data } = error.response; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
190 displayError({ |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
191 title: this.$gettext("Backend Error"), |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
192 message: `${status}: ${data.message || data}` |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
193 }); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
194 }); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
195 } |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
196 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
197 computed: { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
198 ...mapState("application", ["searchQuery"]), |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
199 ...mapState("importschedule", [ |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
200 "mode", |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
201 "schedules", |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
202 "currentSchedule", |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
203 "importScheduleDetailVisible" |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
204 ]), |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
205 isOnetime() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
206 for (let kind of [ |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
207 this.$options.IMPORTTYPES.SOUNDINGRESULTS, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
208 this.$options.IMPORTTYPES.APPROVEDGAUGEMEASUREMENTS, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
209 this.$options.IMPORTTYPES.WATERWAYPROFILES |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
210 ]) { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
211 if (kind === this.currentSchedule.importType) return true; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
212 } |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
213 return false; |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
214 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
215 title() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
216 return this.$gettext("Imports"); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
217 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
218 filteredSchedules() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
219 return this.schedules.filter(s => { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
220 return (s.id + s.kind) |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
221 .toLowerCase() |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
222 .includes(this.searchQuery.toLowerCase()); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
223 }); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
224 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
225 importScheduleLabel() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
226 return this.$gettext("Import Schedule"); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
227 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
228 idLabel() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
229 return this.$gettext("ID"); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
230 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
231 typeLabel() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
232 return this.$gettext("Type"); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
233 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
234 authorLabel() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
235 return this.$gettext("Author"); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
236 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
237 scheduleLabel() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
238 return this.$gettext("Schedule"); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
239 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
240 emailLabel() { |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
241 return this.$gettext("Email"); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
242 } |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
243 }, |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
244 mounted() { |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
245 this.$store.commit("importschedule/setListMode"); |
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
246 this.$store.commit("importschedule/clearCurrentSchedule"); |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
247 this.getSchedules(); |
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
248 }, |
2974
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
249 IMPORTTYPES: IMPORTTYPES, |
e161e1ffb6b5
unified_imports: AGM moved to new interface
Thomas Junk <thomas.junk@intevation.de>
parents:
2972
diff
changeset
|
250 MODES: MODES |
2972
6f351e00e579
unified_imports: initial layout etd
Thomas Junk <thomas.junk@intevation.de>
parents:
2968
diff
changeset
|
251 }; |
2968 | 252 </script> |