Mercurial > gemma
annotate client/src/components/ImportApprovedGaugeMeasurement.vue @ 1804:535a1a40f1df
yarn lint
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Tue, 15 Jan 2019 12:41:52 +0100 |
parents | 724758455a4e |
children | cbdf5cb12e4b |
rev | line source |
---|---|
1753
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
1 <template> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
2 <div class="d-flex flex-row"> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
3 <Spacer></Spacer> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
4 <div class="card sysconfig mt-3 shadow-xs w-100 h-100 mr-3"> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
5 <h6 |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
6 class="mb-0 py-2 px-3 border-bottom d-flex text-info align-items-center" |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
7 > |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
8 <font-awesome-icon |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
9 icon="cloud-upload-alt" |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
10 class="mr-2" |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
11 ></font-awesome-icon> |
1804 | 12 <translate class="headline" |
13 >Import approved gaugemeasurements</translate | |
14 > | |
1753
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
15 </h6> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
16 <div class="card-body stretches-card"> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
17 <div class="w-95 ml-auto mr-auto mt-4 mb-4"> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
18 <div class="d-flex flex-row input-group mb-4"> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
19 <div class="flex-column w-100"> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
20 <div class="custom-file"> |
1804 | 21 <input |
22 accept=".csv" | |
23 type="file" | |
24 @change="fileSelected" | |
25 class="custom-file-input" | |
26 id="uploadFile" | |
27 /> | |
28 <label class="custom-file-label" for="uploadFile"> | |
29 {{ uploadLabel }} | |
30 </label> | |
31 </div> | |
1753
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
32 </div> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
33 </div> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
34 <div class="buttons text-right"> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
35 <button |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
36 :disabled="disableUploadButton" |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
37 @click="submit" |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
38 class="btn btn-info mt-4" |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
39 type="button" |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
40 > |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
41 <font-awesome-icon |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
42 class="fa-fw mr-2" |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
43 fixed-width |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
44 icon="play" |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
45 ></font-awesome-icon> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
46 <translate>Trigger import</translate> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
47 </button> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
48 </div> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
49 </div> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
50 </div> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
51 </div> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
52 </div> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
53 </template> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
54 |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
55 <script> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
56 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
57 * without warranty, see README.md and license for details. |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
58 * |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
59 * SPDX-License-Identifier: AGPL-3.0-or-later |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
60 * License-Filename: LICENSES/AGPL-3.0.txt |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
61 * |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
62 * Copyright (C) 2018 by via donau |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
63 * – Österreichische Wasserstraßen-Gesellschaft mbH |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
64 * Software engineering by Intevation GmbH |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
65 * |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
66 * Author(s): |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
67 * Thomas Junk <thomas.junk@intevation.de> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
68 */ |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
69 |
1784
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
70 import { HTTP } from "@/lib/http"; |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
71 import { displayError, displayInfo } from "@/lib/errors.js"; |
1753
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
72 |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
73 export default { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
74 name: "importapprovedgaugemeasurements", |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
75 data() { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
76 return { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
77 disableUploadButton: false, |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
78 uploadLabel: this.$gettext("choose file to upload"), |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
79 uploadFile: null |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
80 }; |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
81 }, |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
82 methods: { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
83 fileSelected(e) { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
84 const files = e.target.files || e.dataTransfer.files; |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
85 if (!files) return; |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
86 this.uploadLabel = files[0].name; |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
87 this.uploadFile = files[0]; |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
88 }, |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
89 submit() { |
1784
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
90 if (!this.uploadFile) return; |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
91 let formData = new FormData(); |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
92 formData.append("approvedgm", this.uploadFile); |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
93 HTTP.post("/imports/approvedgm", formData, { |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
94 headers: { |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
95 "X-Gemma-Auth": localStorage.getItem("token"), |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
96 "Content-Type": "multipart/form-data" |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
97 } |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
98 }) |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
99 .then(() => { |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
100 displayInfo({ |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
101 title: this.$gettext("Import"), |
1804 | 102 message: this.$gettext( |
103 "Starting import of Approved Gauge Measurements" | |
104 ) | |
1784
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
105 }); |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
106 this.initialState(); |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
107 }) |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
108 .catch(error => { |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
109 const { status, data } = error.response; |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
110 displayError({ |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
111 title: this.$gettext("Backend Error"), |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
112 message: `${status}: ${data.message || data}` |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
113 }); |
724758455a4e
Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents:
1753
diff
changeset
|
114 }); |
1753
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
115 } |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
116 }, |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
117 components: { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
118 Spacer: () => import("./Spacer") |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
119 } |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
120 }; |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
121 </script> |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
122 |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
123 <style lang="scss" scoped></style> |