Mercurial > gemma
annotate client/src/store/imports.js @ 2753:2aa1620ffd9e
search: in context of importoverview pressing enter triggers a request for and updated dataset
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Thu, 21 Mar 2019 13:03:27 +0100 |
parents | cd789302b3e2 |
children | 7badd99c9315 |
rev | line source |
---|---|
1362
ca33ad696594
remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1311
diff
changeset
|
1 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
2 * without warranty, see README.md and license for details. |
1173 | 3 * |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
4 * SPDX-License-Identifier: AGPL-3.0-or-later |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
5 * License-Filename: LICENSES/AGPL-3.0.txt |
1173 | 6 * |
7 * Copyright (C) 2018 by via donau | |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
8 * – Österreichische Wasserstraßen-Gesellschaft mbH |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
9 * Software engineering by Intevation GmbH |
1173 | 10 * |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
11 * Author(s): |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
12 * Thomas Junk <thomas.junk@intevation.de> |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
13 */ |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
14 |
1725
b24a54c684bd
importschedule: UI improvements
Thomas Junk <thomas.junk@intevation.de>
parents:
1724
diff
changeset
|
15 import { HTTP } from "@/lib/http"; |
1942
d1b7b1c70410
import stretch: listview with edit-function
Thomas Junk <thomas.junk@intevation.de>
parents:
1930
diff
changeset
|
16 import { WFS } from "ol/format.js"; |
1980
c8e2f6838eaf
define stretches: mark stretches in review
Thomas Junk <thomas.junk@intevation.de>
parents:
1946
diff
changeset
|
17 import { equalTo as equalToFilter } from "ol/format/filter.js"; |
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
|
18 import { startOfHour } from "date-fns"; |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
19 |
1311
d5eda9f79610
staging: display visual feedback for now due missing backendcall
Thomas Junk <thomas.junk@intevation.de>
parents:
1310
diff
changeset
|
20 /* eslint-disable no-unused-vars */ |
d5eda9f79610
staging: display visual feedback for now due missing backendcall
Thomas Junk <thomas.junk@intevation.de>
parents:
1310
diff
changeset
|
21 /* eslint-disable no-unreachable */ |
d5eda9f79610
staging: display visual feedback for now due missing backendcall
Thomas Junk <thomas.junk@intevation.de>
parents:
1310
diff
changeset
|
22 const STATES = { |
1468 | 23 NEEDSAPPROVAL: "pending", |
24 APPROVED: "accepted", | |
1475
2365acde39dc
Staging area: Dealing with backend response.
Thomas Junk <thomas.junk@intevation.de>
parents:
1470
diff
changeset
|
25 REJECTED: "declined" |
1311
d5eda9f79610
staging: display visual feedback for now due missing backendcall
Thomas Junk <thomas.junk@intevation.de>
parents:
1310
diff
changeset
|
26 }; |
d5eda9f79610
staging: display visual feedback for now due missing backendcall
Thomas Junk <thomas.junk@intevation.de>
parents:
1310
diff
changeset
|
27 |
2578 | 28 const NODETAILS = -1; |
29 | |
1296
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
30 // initial state |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
31 const init = () => { |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
32 return { |
2654
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
33 failed: false, |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
34 pending: false, |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
35 accepted: false, |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
36 declined: false, |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
37 warning: false, |
1889
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
38 stretches: [], |
1310
d675e6439aa5
staging view: prepare retrieving list of pending imports for staging
Thomas Junk <thomas.junk@intevation.de>
parents:
1296
diff
changeset
|
39 imports: [], |
2600 | 40 reviewed: [], |
2578 | 41 show: NODETAILS, |
42 showAdditional: NODETAILS, | |
2732
0ab7985ef008
import_review: fixed flakey display of logs
Thomas Junk <thomas.junk@intevation.de>
parents:
2655
diff
changeset
|
43 showLogs: NODETAILS, |
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
|
44 details: [], |
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
|
45 startDate: startOfHour(new Date()), |
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
|
46 endDate: new Date() |
1429
f4b3fb43b311
automatic imports WIP added
Thomas Junk <thomas.junk@intevation.de>
parents:
1365
diff
changeset
|
47 }; |
f4b3fb43b311
automatic imports WIP added
Thomas Junk <thomas.junk@intevation.de>
parents:
1365
diff
changeset
|
48 }; |
f4b3fb43b311
automatic imports WIP added
Thomas Junk <thomas.junk@intevation.de>
parents:
1365
diff
changeset
|
49 |
2107
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
50 const getStretchFromWFS = filter => { |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
51 return new Promise((resolve, reject) => { |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
52 var stretchesFeatureCollectionRequest = new WFS().writeGetFeature({ |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
53 srsName: "EPSG:4326", |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
54 featureNS: "gemma", |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
55 featurePrefix: "gemma", |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
56 featureTypes: ["stretches_geoserver"], |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
57 outputFormat: "application/json", |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
58 filter: filter |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
59 }); |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
60 HTTP.post( |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
61 "/internal/wfs", |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
62 new XMLSerializer().serializeToString(stretchesFeatureCollectionRequest), |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
63 { |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
64 headers: { |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
65 "X-Gemma-Auth": localStorage.getItem("token"), |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
66 "Content-type": "text/xml; charset=UTF-8" |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
67 } |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
68 } |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
69 ) |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
70 .then(response => { |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
71 resolve(response); |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
72 }) |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
73 .catch(error => { |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
74 reject(error); |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
75 }); |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
76 }); |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
77 }; |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
78 |
2654
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
79 const clearFilterCriteria = state => { |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
80 state.warning = false; |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
81 state.successful = false; |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
82 state.failed = false; |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
83 state.pending = false; |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
84 state.accepted = false; |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
85 state.declined = false; |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
86 }; |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
87 |
1344
eda98694e678
staging: retrieve real data instead of displaying demodata
Thomas Junk <thomas.junk@intevation.de>
parents:
1311
diff
changeset
|
88 const imports = { |
1296
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
89 init, |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
90 namespaced: true, |
1296
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
91 state: init(), |
2654
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
92 getters: { |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
93 filters: state => { |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
94 return ["failed", "pending", "accepted", "declined", "warning"].filter( |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
95 x => state[x] |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
96 ); |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
97 } |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
98 }, |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
99 mutations: { |
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
|
100 setStartDate: (state, start) => { |
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
|
101 state.startDate = start; |
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
|
102 }, |
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
|
103 setEndDate: (state, end) => { |
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
|
104 state.endDate = end; |
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
|
105 }, |
2732
0ab7985ef008
import_review: fixed flakey display of logs
Thomas Junk <thomas.junk@intevation.de>
parents:
2655
diff
changeset
|
106 setCurrentDetails: (state, details) => { |
0ab7985ef008
import_review: fixed flakey display of logs
Thomas Junk <thomas.junk@intevation.de>
parents:
2655
diff
changeset
|
107 state.details = details; |
0ab7985ef008
import_review: fixed flakey display of logs
Thomas Junk <thomas.junk@intevation.de>
parents:
2655
diff
changeset
|
108 }, |
2654
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
109 toggleFilter: (state, name) => { |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
110 state[name] = !state[name]; |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
111 const allSet = |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
112 state.failed && |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
113 state.pending && |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
114 state.accepted && |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
115 state.declined && |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
116 state.warning; |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
117 if (allSet) { |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
118 clearFilterCriteria(state); |
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
119 } |
2578 | 120 }, |
121 clearFilters: state => { | |
2654
3c04c8e46bd4
importoverview: reload reloads current selection
Thomas Junk <thomas.junk@intevation.de>
parents:
2651
diff
changeset
|
122 clearFilterCriteria(state); |
2578 | 123 }, |
1889
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
124 setStretches: (state, stretches) => { |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
125 state.stretches = stretches; |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
126 }, |
2638
6c1730fc3dc1
client: importsoverview2: clear reviewed array after finishing review
Markus Kottlaender <markus@intevation.de>
parents:
2615
diff
changeset
|
127 setReviewed: (state, reviewed) => { |
6c1730fc3dc1
client: importsoverview2: clear reviewed array after finishing review
Markus Kottlaender <markus@intevation.de>
parents:
2615
diff
changeset
|
128 state.reviewed = reviewed; |
6c1730fc3dc1
client: importsoverview2: clear reviewed array after finishing review
Markus Kottlaender <markus@intevation.de>
parents:
2615
diff
changeset
|
129 }, |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
130 setImports: (state, imports) => { |
2600 | 131 const lookUp = state.reviewed.reduce((o, n) => { |
132 const { id, status } = n; | |
133 o[id] = status; | |
134 return o; | |
135 }, {}); | |
2578 | 136 imports = imports.map(x => { |
2600 | 137 if (x.state === "pending") { |
138 const reviewState = lookUp[x.id]; | |
139 if (reviewState) { | |
140 x.status = reviewState; | |
141 } else { | |
142 x.status = STATES.NEEDSAPPROVAL; | |
143 } | |
144 } | |
2578 | 145 return x; |
146 }); | |
1173 | 147 state.imports = imports; |
1310
d675e6439aa5
staging view: prepare retrieving list of pending imports for staging
Thomas Junk <thomas.junk@intevation.de>
parents:
1296
diff
changeset
|
148 }, |
2592 | 149 showDetailsFor: (state, id) => { |
150 state.show = id; | |
151 }, | |
152 hideDetails: state => { | |
153 state.show = NODETAILS; | |
154 }, | |
2594 | 155 showAdditionalInfoFor: (state, id) => { |
156 state.showAdditional = id; | |
157 }, | |
158 hideAdditionalInfo: state => { | |
159 state.showAdditional = NODETAILS; | |
160 }, | |
161 showAdditionalLogsFor: (state, id) => { | |
162 state.showLogs = id; | |
163 }, | |
164 hideAdditionalLogs: state => { | |
165 state.showLogs = NODETAILS; | |
166 }, | |
2592 | 167 toggleApprove: (state, change) => { |
168 const { id, newStatus } = change; | |
169 const stagedResult = state.imports.find(e => { | |
170 return e.id === id; | |
171 }); | |
172 if (stagedResult.status === newStatus) { | |
173 stagedResult.status = STATES.NEEDSAPPROVAL; | |
2600 | 174 state.reviewed = state.reviewed.filter(x => x.id !== stagedResult.id); |
2592 | 175 } else { |
176 stagedResult.status = newStatus; | |
2615
7025d082c115
client: importoverview2: fixed counter in commit button
Markus Kottlaender <markus@intevation.de>
parents:
2608
diff
changeset
|
177 let index = state.reviewed.findIndex(r => r.id === id); |
7025d082c115
client: importoverview2: fixed counter in commit button
Markus Kottlaender <markus@intevation.de>
parents:
2608
diff
changeset
|
178 if (index !== -1) { |
7025d082c115
client: importoverview2: fixed counter in commit button
Markus Kottlaender <markus@intevation.de>
parents:
2608
diff
changeset
|
179 state.reviewed[index].status = newStatus; |
7025d082c115
client: importoverview2: fixed counter in commit button
Markus Kottlaender <markus@intevation.de>
parents:
2608
diff
changeset
|
180 } else { |
7025d082c115
client: importoverview2: fixed counter in commit button
Markus Kottlaender <markus@intevation.de>
parents:
2608
diff
changeset
|
181 state.reviewed.push({ id: stagedResult.id, status: newStatus }); |
7025d082c115
client: importoverview2: fixed counter in commit button
Markus Kottlaender <markus@intevation.de>
parents:
2608
diff
changeset
|
182 } |
2592 | 183 } |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
184 } |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
185 }, |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
186 actions: { |
2107
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
187 loadStretch({ commit }, name) { |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
188 return new Promise((resolve, reject) => { |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
189 getStretchFromWFS(equalToFilter("name", name)) |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
190 .then(response => { |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
191 resolve(response); |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
192 }) |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
193 .catch(error => { |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
194 reject(error); |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
195 }); |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
196 }); |
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
197 }, |
1889
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
198 loadStretches({ commit }) { |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
199 return new Promise((resolve, reject) => { |
2107
6747a4cf3639
staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2095
diff
changeset
|
200 getStretchFromWFS(equalToFilter("staging_done", true)) |
1889
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
201 .then(response => { |
1945
f64bc12c1719
import stretches: minor fix
Thomas Junk <thomas.junk@intevation.de>
parents:
1942
diff
changeset
|
202 if (response.data.features) { |
f64bc12c1719
import stretches: minor fix
Thomas Junk <thomas.junk@intevation.de>
parents:
1942
diff
changeset
|
203 commit("setStretches", response.data.features); |
f64bc12c1719
import stretches: minor fix
Thomas Junk <thomas.junk@intevation.de>
parents:
1942
diff
changeset
|
204 } else { |
f64bc12c1719
import stretches: minor fix
Thomas Junk <thomas.junk@intevation.de>
parents:
1942
diff
changeset
|
205 commit("setStretches", []); |
f64bc12c1719
import stretches: minor fix
Thomas Junk <thomas.junk@intevation.de>
parents:
1942
diff
changeset
|
206 } |
1889
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
207 resolve(response); |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
208 }) |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
209 .catch(error => { |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
210 reject(error); |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
211 }); |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
212 }); |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
213 }, |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
214 saveStretch({ commit }, stretch) { |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
215 return new Promise((resolve, reject) => { |
2095
98f0c7956128
Fixed api url used in front end for stretches.
Sascha Wilde <wilde@intevation.de>
parents:
2033
diff
changeset
|
216 HTTP.post("/imports/st", stretch, { |
1889
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
217 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
218 }) |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
219 .then(response => { |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
220 resolve(response); |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
221 }) |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
222 .catch(error => { |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
223 reject(error); |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
224 }); |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
225 }); |
b6d0460b069d
define stretches: Now with store-backend
Thomas Junk <thomas.junk@intevation.de>
parents:
1867
diff
changeset
|
226 }, |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
227 getImports({ commit }, options) { |
2749
cd789302b3e2
import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents:
2748
diff
changeset
|
228 let { filter, from, to, query } = options; |
2415 | 229 let queryParams = ""; |
2655
501967471981
overview: warning filter implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2654
diff
changeset
|
230 const hasWarning = filter.includes("warning"); |
501967471981
overview: warning filter implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2654
diff
changeset
|
231 filter = filter.filter(x => x != "warning"); |
501967471981
overview: warning filter implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2654
diff
changeset
|
232 if (filter && filter.length > 0) { |
2447
522024fa06eb
staging: filter logs on server
Thomas Junk <thomas.junk@intevation.de>
parents:
2415
diff
changeset
|
233 queryParams = "?states=" + filter.join(","); |
2655
501967471981
overview: warning filter implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2654
diff
changeset
|
234 if (hasWarning) queryParams += "&warnings=true"; |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
235 queryParams += "&from=" + from; |
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
236 queryParams += "&to=" + to; |
2749
cd789302b3e2
import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents:
2748
diff
changeset
|
237 queryParams += "&query=" + query; |
2655
501967471981
overview: warning filter implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2654
diff
changeset
|
238 } else { |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
239 if (hasWarning) { |
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
240 queryParams += "?warnings=true"; |
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
241 queryParams += "&from=" + from; |
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
242 queryParams += "&to=" + to; |
2749
cd789302b3e2
import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents:
2748
diff
changeset
|
243 queryParams += "&query=" + query; |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
244 } else { |
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
245 queryParams += "?from=" + from; |
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
246 queryParams += "&to=" + to; |
2749
cd789302b3e2
import_overview: start is initially always beginning of current hour
Thomas Junk <thomas.junk@intevation.de>
parents:
2748
diff
changeset
|
247 queryParams += "&query=" + query; |
2748
c6695d6e9334
import_overview: filtering date interval via backend
Thomas Junk <thomas.junk@intevation.de>
parents:
2733
diff
changeset
|
248 } |
2655
501967471981
overview: warning filter implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2654
diff
changeset
|
249 } |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
250 return new Promise((resolve, reject) => { |
2415 | 251 HTTP.get("/imports" + queryParams, { |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
252 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
253 }) |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
254 .then(response => { |
2578 | 255 const { imports } = response.data; |
256 commit("setImports", imports); | |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
257 resolve(response); |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
258 }) |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
259 .catch(error => { |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
260 reject(error); |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
261 }); |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
262 }); |
1310
d675e6439aa5
staging view: prepare retrieving list of pending imports for staging
Thomas Junk <thomas.junk@intevation.de>
parents:
1296
diff
changeset
|
263 }, |
2402 | 264 confirmReview({ state }, reviewResults) { |
2399 | 265 return new Promise((resolve, reject) => { |
266 HTTP.patch("/imports", reviewResults, { | |
267 headers: { | |
268 "X-Gemma-Auth": localStorage.getItem("token"), | |
269 "Content-type": "application/json" | |
270 } | |
271 }) | |
272 .then(response => { | |
273 resolve(response); | |
274 }) | |
275 .catch(error => { | |
276 reject(error); | |
277 }); | |
278 }); | |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
279 } |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
280 } |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
281 }; |
1344
eda98694e678
staging: retrieve real data instead of displaying demodata
Thomas Junk <thomas.junk@intevation.de>
parents:
1311
diff
changeset
|
282 |
2033
431f97fd873b
importschedule: extracted to separate store
Thomas Junk <thomas.junk@intevation.de>
parents:
1996
diff
changeset
|
283 export { imports, STATES }; |