annotate client/src/imports/Imports.vue @ 1240:9b0a7b3ea297

inport sounding results
author Thomas Junk <thomas.junk@intevation.de>
date Tue, 20 Nov 2018 17:37:30 +0100
parents ec4b06d3a3a8
children da99d4560fd4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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"
1240
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
26 type="text"
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;
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
160 this.importDate = date;
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;
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
165 displayError({
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
166 title: "Backend Error",
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
167 message: `${status}: ${data.message || data}`
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
168 });
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 confirm() {
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
172 let formData = new FormData();
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
173 formData.append("token", this.token);
1161
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
174 HTTP.post("/imports/soundingresult", formData, {
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
175 headers: {
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
176 "X-Gemma-Auth": localStorage.getItem("token"),
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
177 "Content-Type": "multipart/form-data"
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
178 }
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
179 })
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
180 .then(() => {
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
181 displayInfo({
1240
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
182 title: "Import",
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
183 message: "Successfully imported " + this.bottleneck
1161
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
184 });
1240
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
185 this.initialState();
1161
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
186 })
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
187 .catch(error => {
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
188 const { status, data } = error.response;
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
189 displayError({
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
190 title: "Backend Error",
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
191 message: `${status}: ${data.message || data}`
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
192 });
e15850b3a9d1 feat: import of sounding results upload
Thomas Junk <thomas.junk@intevation.de>
parents: 1152
diff changeset
193 });
1152
7cb06f85a905 feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1151
diff changeset
194 }
7cb06f85a905 feat: Import sounding results display filename in uploadbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1151
diff changeset
195 },
1142
dc3f0277628a feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
196 computed: {
1211
55eae66af749 relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents: 1204
diff changeset
197 editState() {
55eae66af749 relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents: 1204
diff changeset
198 return this.importState === IMPORTSTATE.EDIT;
55eae66af749 relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents: 1204
diff changeset
199 },
55eae66af749 relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents: 1204
diff changeset
200 uploadState() {
55eae66af749 relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents: 1204
diff changeset
201 return this.importState === IMPORTSTATE.UPLOAD;
55eae66af749 relayouting soundingresults
Thomas Junk <thomas.junk@intevation.de>
parents: 1204
diff changeset
202 },
1145
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
203 dataLink() {
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
204 return (
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
205 "data:text/json;charset=utf-8," +
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
206 encodeURIComponent(
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
207 JSON.stringify({
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
208 depthReference: this.depthReference,
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
209 bottleneck: this.bottleneck,
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
210 date: this.importDate
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
211 })
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
212 )
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
213 );
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
214 }
1142
dc3f0277628a feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
215 },
1145
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
216 depthReferenceOptions: [
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 "NAP",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
219 "KP",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
220 "FZP",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
221 "ADR",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
222 "TAW",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
223 "PUL",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
224 "NGM",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
225 "ETRS",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
226 "POT",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
227 "LDC",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
228 "HDC",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
229 "ZPG",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
230 "GLW",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
231 "HSW",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
232 "LNW",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
233 "HNW",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
234 "IGN",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
235 "WGS",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
236 "RN",
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
237 "HBO"
2d34715dd52e feat: Import of sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1144
diff changeset
238 ]
1142
dc3f0277628a feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
239 };
dc3f0277628a feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
240 </script>
dc3f0277628a feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
241
1191
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1183
diff changeset
242 <style lang="sass" scoped>
1240
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
243 .offset-r
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
244 margin-right: $large-offset
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
245
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
246 .buttons button
9b0a7b3ea297 inport sounding results
Thomas Junk <thomas.junk@intevation.de>
parents: 1236
diff changeset
247 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
248
1191
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1183
diff changeset
249 .label-text
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1183
diff changeset
250 width: 10rem
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1183
diff changeset
251 text-align: left
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1183
diff changeset
252 line-height: 2.25rem
1142
dc3f0277628a feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
253 </style>