annotate client/src/components/ImportApprovedGaugeMeasurement.vue @ 2154:a08e0f532304

staging: improve UI
author Thomas Junk <thomas.junk@intevation.de>
date Fri, 08 Feb 2019 12:30:22 +0100
parents e22a354a2312
children 33af355047e1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 >
2123
cbdf5cb12e4b icons adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 1804
diff changeset
8 <font-awesome-icon icon="upload" class="mr-2"></font-awesome-icon>
1804
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
9 <translate class="headline"
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
10 >Import approved gaugemeasurements</translate
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
11 >
1753
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
12 </h6>
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
13 <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
14 <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
15 <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
16 <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
17 <div class="custom-file">
1804
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
18 <input
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
19 accept=".csv"
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
20 type="file"
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
21 @change="fileSelected"
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
22 class="custom-file-input"
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
23 id="uploadFile"
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
24 />
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2144
diff changeset
25 <label class="pointer custom-file-label" for="uploadFile">
1804
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
26 {{ uploadLabel }}
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
27 </label>
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
28 </div>
1753
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
29 </div>
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
30 </div>
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
31 <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
32 <button
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
33 :disabled="disableUploadButton"
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
34 @click="submit"
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
35 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
36 type="button"
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
37 >
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
38 <font-awesome-icon
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
39 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
40 fixed-width
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
41 icon="play"
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
42 ></font-awesome-icon>
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
43 <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
44 </button>
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
45 </div>
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
46 </div>
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
47 </div>
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 </template>
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
51
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
52 <script>
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
53 /* 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
54 * 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
55 *
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
56 * 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
57 * 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
58 *
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
59 * 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
60 * – Ö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
61 * 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
62 *
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
63 * Author(s):
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
64 * 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
65 */
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
66
1784
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
67 import { HTTP } from "@/lib/http";
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
68 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
69
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
70 export default {
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
71 name: "importapprovedgaugemeasurements",
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
72 data() {
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
73 return {
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
74 disableUploadButton: false,
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
75 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
76 uploadFile: null
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
77 };
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
78 },
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
79 methods: {
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
80 fileSelected(e) {
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
81 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
82 if (!files) return;
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
83 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
84 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
85 },
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
86 submit() {
1784
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
87 if (!this.uploadFile) return;
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
88 let formData = new FormData();
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
89 formData.append("approvedgm", this.uploadFile);
2144
e22a354a2312 approved_gauge_measurements: url adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2123
diff changeset
90 HTTP.post("/imports/agm", formData, {
1784
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
91 headers: {
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
92 "X-Gemma-Auth": localStorage.getItem("token"),
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
93 "Content-Type": "multipart/form-data"
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
94 }
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
95 })
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
96 .then(() => {
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
97 displayInfo({
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
98 title: this.$gettext("Import"),
1804
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
99 message: this.$gettext(
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
100 "Starting import of Approved Gauge Measurements"
535a1a40f1df yarn lint
Thomas Junk <thomas.junk@intevation.de>
parents: 1784
diff changeset
101 )
1784
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
102 });
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
103 this.initialState();
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
104 })
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
105 .catch(error => {
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
106 const { status, data } = error.response;
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
107 displayError({
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
108 title: this.$gettext("Backend Error"),
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
109 message: `${status}: ${data.message || data}`
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
110 });
724758455a4e Submit Approved Gaugemeasurements data to backend.
Sascha Wilde <wilde@intevation.de>
parents: 1753
diff changeset
111 });
1753
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
112 }
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
113 },
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
114 components: {
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
115 Spacer: () => import("./Spacer")
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 };
68bd990dd8e5 feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
118 </script>
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 <style lang="scss" scoped></style>