Mercurial > gemma
annotate client/src/imports/Imports.vue @ 1242:da99d4560fd4
feat: import sounding results
Sends now bottleneck, importdate, depthreference over the wire.
Changed success message to "starting import for ...".
In case of an error, display errormessages.
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Wed, 21 Nov 2018 09:38:51 +0100 |
parents | 9b0a7b3ea297 |
children | 29036b3916ab |
rev | line source |
---|---|
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
1 <template> |
1230
957907eaaa72
implemented context sensitive box below search bar (see: issue224)
Markus Kottlaender <markus@intevation.de>
parents:
1217
diff
changeset
|
2 <div> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
3 <h4>Import soundingresults</h4> |
1211
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
4 <hr class="mr-auto ml-auto mb-0 w-90"> |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
5 <div v-if="editState" class="ml-auto mr-auto mt-4 w-90"> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
6 <div class="d-flex flex-row input-group mb-4"> |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
7 <div class="offset-r"> |
1211
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
8 <label for="bottleneck" class="label-text" id="bottlenecklabel">Bottleneck</label> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
9 </div> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
10 <input |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
11 id="bottleneck" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
12 type="text" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
13 class="form-control" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
14 placeholder="Name of Bottleneck" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
15 aria-label="bottleneck" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
16 aria-describedby="bottlenecklabel" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
17 v-model="bottleneck" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
18 > |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
19 </div> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
20 <div class="d-flex flex-row input-group mb-4"> |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
21 <div class="offset-r"> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
22 <label class="label-text" for="importdate" id="importdatelabel">Date</label> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
23 </div> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
24 <input |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
25 id="importdate" |
1242
da99d4560fd4
feat: import sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1240
diff
changeset
|
26 type="date" |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
27 class="form-control" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
28 placeholder="Date of import" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
29 aria-label="bottleneck" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
30 aria-describedby="bottlenecklabel" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
31 v-model="importDate" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
32 > |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
33 </div> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
34 <div class="d-flex flex-row input-group mb-4"> |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
35 <div class="offset-r"> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
36 <label class="label-text" for="depthreference">Depth reference</label> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
37 </div> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
38 <select v-model="depthReference" class="custom-select" id="depthreference"> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
39 <option |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
40 v-for="option in this.$options.depthReferenceOptions" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
41 :key="option" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
42 >{{option}}</option> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
43 </select> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
44 </div> |
1211
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
45 </div> |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
46 <div class="w-90 ml-auto mr-auto mt-4 mb-4"> |
1236
ec4b06d3a3a8
imports: only show dialog in upload mode
Thomas Junk <thomas.junk@intevation.de>
parents:
1230
diff
changeset
|
47 <div v-if="uploadState" class="d-flex flex-row input-group mb-4"> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
48 <div class="custom-file"> |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
49 <input |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
50 type="file" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
51 @change="fileSelected" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
52 class="custom-file-input" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
53 id="uploadFile" |
1183
1d4801145a2d
import soundingresults context now map instead administration
Thomas Junk <thomas.junk@intevation.de>
parents:
1161
diff
changeset
|
54 > |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
55 <label class="custom-file-label" for="uploadFile">{{uploadLabel}}</label> |
1145
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
56 </div> |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
57 </div> |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
58 <div class="buttons text-right"> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
59 <a |
1211
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
60 v-if="editState" |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
61 download="meta.json" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
62 :href="dataLink " |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
63 class="btn btn-outline-info pull-left" |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
64 >Download Meta.json</a> |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
65 <button |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
66 v-if="editState" |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
67 @click="deleteTempData" |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
68 class="btn btn-danger" |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
69 type="button" |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
70 >Cancel Upload</button> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
71 <button |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
72 :disabled="disableUpload" |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
73 @click="submit" |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
74 class="btn btn-info" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
75 type="button" |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
76 >{{uploadState?"Upload":"Confirm"}}</button> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1191
diff
changeset
|
77 </div> |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
78 </div> |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
79 </div> |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
80 </template> |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
81 |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
82 <script> |
1161
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
83 import { HTTP } from "../application/lib/http"; |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
84 import { displayError, displayInfo } from "../application/lib/errors.js"; |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
85 |
1211
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
86 const defaultLabel = "Choose .zip-file"; |
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
87 const IMPORTSTATE = { UPLOAD: "UPLOAD", EDIT: "EDIT" }; |
1152
7cb06f85a905
feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1151
diff
changeset
|
88 |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
89 export default { |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
90 name: "imports", |
1145
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
91 data() { |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
92 return { |
1211
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
93 importState: IMPORTSTATE.UPLOAD, |
1145
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
94 depthReference: "", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
95 bottleneck: "", |
1152
7cb06f85a905
feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1151
diff
changeset
|
96 importDate: "", |
1161
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
97 uploadLabel: defaultLabel, |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
98 uploadFile: null, |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
99 disableUpload: false, |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
100 token: null |
1145
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
101 }; |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
102 }, |
1152
7cb06f85a905
feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1151
diff
changeset
|
103 methods: { |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
104 initialState() { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
105 this.importState = IMPORTSTATE.UPLOAD; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
106 this.depthReference = ""; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
107 this.bottleneck = ""; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
108 this.importDate = ""; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
109 this.uploadLabel = defaultLabel; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
110 this.uploadFile = null; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
111 this.disableUpload = false; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
112 this.token = null; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
113 }, |
1152
7cb06f85a905
feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1151
diff
changeset
|
114 fileSelected(e) { |
7cb06f85a905
feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1151
diff
changeset
|
115 const files = e.target.files || e.dataTransfer.files; |
7cb06f85a905
feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1151
diff
changeset
|
116 if (!files) return; |
7cb06f85a905
feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1151
diff
changeset
|
117 this.uploadLabel = files[0].name; |
1161
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
118 this.uploadFile = files[0]; |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
119 }, |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
120 deleteTempData() { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
121 HTTP.delete("/imports/soundingresult-upload/" + this.token, { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
122 headers: { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
123 "X-Gemma-Auth": localStorage.getItem("token") |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
124 } |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
125 }) |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
126 .then(() => { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
127 this.initialState(); |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
128 }) |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
129 .catch(error => { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
130 const { status, data } = error.response; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
131 displayError({ |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
132 title: "Backend Error", |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
133 message: `${status}: ${data.message || data}` |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
134 }); |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
135 }); |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
136 }, |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
137 submit() { |
1161
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
138 if (!this.uploadFile || this.disableUpload) return; |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
139 if (this.importState === IMPORTSTATE.UPLOAD) { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
140 this.upload(); |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
141 } else { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
142 this.confirm(); |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
143 } |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
144 }, |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
145 upload() { |
1161
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
146 let formData = new FormData(); |
1212
387826a2efd3
feat: import soundingresults. Uses now import API correctly
Thomas Junk <thomas.junk@intevation.de>
parents:
1211
diff
changeset
|
147 formData.append("soundingresult", this.uploadFile); |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
148 HTTP.post("/imports/soundingresult-upload", formData, { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
149 headers: { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
150 "X-Gemma-Auth": localStorage.getItem("token"), |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
151 "Content-Type": "multipart/form-data" |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
152 } |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
153 }) |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
154 .then(response => { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
155 const { bottleneck, date } = response.data.meta; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
156 const depthReference = response.data.meta["depth-reference"]; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
157 this.importState = IMPORTSTATE.EDIT; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
158 this.bottleneck = bottleneck; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
159 this.depthReference = depthReference; |
1242
da99d4560fd4
feat: import sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1240
diff
changeset
|
160 this.importDate = new Date(date).toISOString().split("T")[0]; |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
161 this.token = response.data.token; |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
162 }) |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
163 .catch(error => { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
164 const { status, data } = error.response; |
1242
da99d4560fd4
feat: import sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1240
diff
changeset
|
165 const messages = data.messages ? data.messages.join(", ") : ""; |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
166 displayError({ |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
167 title: "Backend Error", |
1242
da99d4560fd4
feat: import sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1240
diff
changeset
|
168 message: `${status}: ${messages}` |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
169 }); |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
170 }); |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
171 }, |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
172 confirm() { |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
173 let formData = new FormData(); |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
174 formData.append("token", this.token); |
1242
da99d4560fd4
feat: import sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1240
diff
changeset
|
175 ["bottleneck", "importDate", "depthReference"].forEach(x => { |
da99d4560fd4
feat: import sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1240
diff
changeset
|
176 if (this[x]) formData.append(x, this[x]); |
da99d4560fd4
feat: import sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1240
diff
changeset
|
177 }); |
1161
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
178 HTTP.post("/imports/soundingresult", formData, { |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
179 headers: { |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
180 "X-Gemma-Auth": localStorage.getItem("token"), |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
181 "Content-Type": "multipart/form-data" |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
182 } |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
183 }) |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
184 .then(() => { |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
185 displayInfo({ |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
186 title: "Import", |
1242
da99d4560fd4
feat: import sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1240
diff
changeset
|
187 message: "Starting import for " + this.bottleneck |
1161
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
188 }); |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
189 this.initialState(); |
1161
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
190 }) |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
191 .catch(error => { |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
192 const { status, data } = error.response; |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
193 displayError({ |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
194 title: "Backend Error", |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
195 message: `${status}: ${data.message || data}` |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
196 }); |
e15850b3a9d1
feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents:
1152
diff
changeset
|
197 }); |
1152
7cb06f85a905
feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1151
diff
changeset
|
198 } |
7cb06f85a905
feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1151
diff
changeset
|
199 }, |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
200 computed: { |
1211
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
201 editState() { |
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
202 return this.importState === IMPORTSTATE.EDIT; |
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
203 }, |
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
204 uploadState() { |
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
205 return this.importState === IMPORTSTATE.UPLOAD; |
55eae66af749
relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents:
1204
diff
changeset
|
206 }, |
1145
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
207 dataLink() { |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
208 return ( |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
209 "data:text/json;charset=utf-8," + |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
210 encodeURIComponent( |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
211 JSON.stringify({ |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
212 depthReference: this.depthReference, |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
213 bottleneck: this.bottleneck, |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
214 date: this.importDate |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
215 }) |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
216 ) |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
217 ); |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
218 } |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
219 }, |
1145
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
220 depthReferenceOptions: [ |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
221 "", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
222 "NAP", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
223 "KP", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
224 "FZP", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
225 "ADR", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
226 "TAW", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
227 "PUL", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
228 "NGM", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
229 "ETRS", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
230 "POT", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
231 "LDC", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
232 "HDC", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
233 "ZPG", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
234 "GLW", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
235 "HSW", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
236 "LNW", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
237 "HNW", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
238 "IGN", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
239 "WGS", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
240 "RN", |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
241 "HBO" |
2d34715dd52e
feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1144
diff
changeset
|
242 ] |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
243 }; |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
244 </script> |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
245 |
1191
b23622905a3f
switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
246 <style lang="sass" scoped> |
1240
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
247 .offset-r |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
248 margin-right: $large-offset |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
249 |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
250 .buttons button |
9b0a7b3ea297
inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents:
1236
diff
changeset
|
251 margin-left: $offset !important |
1217
ba8cd80d68b6
made more use of bootstrap classes instead of custom css
Markus Kottlaender <markus@intevation.de>
parents:
1213
diff
changeset
|
252 |
1191
b23622905a3f
switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
253 .label-text |
b23622905a3f
switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
254 width: 10rem |
b23622905a3f
switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
255 text-align: left |
b23622905a3f
switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
256 line-height: 2.25rem |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
257 </style> |