2213
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
1 <template>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
2 <div class="d-flex flex-row">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
3 <Spacer></Spacer>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
4 <div class="card sysconfig mt-3 shadow-xs">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
5 <h6
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
6 class="mb-0 py-2 px-3 border-bottom d-flex text-info align-items-center"
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
7 >
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
8 <font-awesome-icon icon="wrench" class="mr-2"></font-awesome-icon>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
9 <translate class="headline">Systemconfiguration</translate>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
10 </h6>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
11 <div class="card-body text-left">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
12 <h5 class="border-bottom pb-3 mb-3">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
13 <translate>Color settings</translate>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
14 </h5>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
15 <div class="d-flex">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
16 <div>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
17 <h6 class="card-title">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
18 <translate>Bottleneck Areas fill-color</translate>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
19 </h6>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
20 <chrome-picker v-model="fillColor" />
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
21 </div>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
22 <div class="ml-4">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
23 <h6 class="card-title">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
24 <translate>Bottleneck Areas stroke-color</translate>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
25 </h6>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
26 <compact-picker v-model="strokeColor" />
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
27 </div>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
28 </div>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
29 <div class="mt-4">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
30 <a @click.prevent="submit" class="btn btn-info text-white">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
31 <translate>Send</translate>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
32 </a>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
33 </div>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
34 <PDFTemplates />
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
35 </div>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
36 <!-- card-body -->
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
37 </div>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
38 </div>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
39 </template>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
40
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
41 <style scoped lang="scss">
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
42 .sysconfig {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
43 margin-right: $offset;
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
44 width: 100%;
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
45 height: 100%;
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
46 }
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
47 </style>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
48
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
49 <script>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
50 /* This is Free Software under GNU Affero General Public License v >= 3.0
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
51 * without warranty, see README.md and license for details.
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
52 *
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
53 * SPDX-License-Identifier: AGPL-3.0-or-later
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
54 * License-Filename: LICENSES/AGPL-3.0.txt
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
55 *
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
56 * Copyright (C) 2018 by via donau
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
57 * – Österreichische Wasserstraßen-Gesellschaft mbH
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
58 * Software engineering by Intevation GmbH
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
59 *
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
60 * Author(s):
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
61 * Thomas Junk <thomas.junk@intevation.de>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
62 * Bernhard Reiter <bernhard@intevation.de>
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
63 */
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
64 import { Chrome } from "vue-color";
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
65 import { Compact } from "vue-color";
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
66
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
67 import { HTTP } from "@/lib/http";
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
68 import { displayError } from "@/lib/errors.js";
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
69 import { mapState } from "vuex";
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
70
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
71 export default {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
72 name: "systemconfiguration",
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
73 data() {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
74 return {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
75 sent: false,
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
76 strokeColor: { r: 0, g: 0, b: 0, a: 1.0 },
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
77 fillColor: { r: 0, g: 0, b: 0, a: 1.0 },
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
78 currentConfig: null
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
79 };
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
80 },
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
81 components: {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
82 "chrome-picker": Chrome,
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
83 "compact-picker": Compact,
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
84 Spacer: () => import("../Spacer"),
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
85 PDFTemplates: () => import("./PDFTemplates")
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
86 },
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
87 computed: {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
88 ...mapState("application", ["showSidebar"])
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
89 },
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
90 methods: {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
91 submit() {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
92 HTTP.put("/system/style/Bottlenecks/stroke", this.strokeColor.rgba, {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
93 headers: {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
94 "X-Gemma-Auth": localStorage.getItem("token"),
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
95 "Content-type": "application/json"
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
96 }
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
97 })
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
98 .then()
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
99 .catch(error => {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
100 const { status, data } = error.response;
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
101 displayError({
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
102 title: this.$gettext("Backend Error"),
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
103 message: `${status}: ${data.message || data}`
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
104 });
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
105 });
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
106
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
107 HTTP.put("/system/style/Bottlenecks/fill", this.fillColor.rgba, {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
108 headers: {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
109 "X-Gemma-Auth": localStorage.getItem("token"),
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
110 "Content-type": "application/json"
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
111 }
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
112 })
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
113 .then()
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
114 .catch(error => {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
115 const { status, data } = error.response;
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
116 displayError({
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
117 title: this.$gettext("Backend Error"),
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
118 message: `${status}: ${data.message || data}`
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
119 });
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
120 });
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
121 }
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
122 },
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
123 mounted() {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
124 HTTP.get("/system/style/Bottlenecks/stroke", {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
125 headers: {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
126 "X-Gemma-Auth": localStorage.getItem("token"),
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
127 "Content-type": "application/json"
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
128 }
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
129 })
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
130 .then(response => {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
131 this.strokeColor = response.data.colour;
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
132 })
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
133 .catch(error => {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
134 const { status, data } = error.response;
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
135 displayError({
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
136 title: this.$gettext("Backend Error"),
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
137 message: `${status}: ${data.message || data}`
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
138 });
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
139 });
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
140
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
141 HTTP.get("/system/style/Bottlenecks/fill", {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
142 headers: {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
143 "X-Gemma-Auth": localStorage.getItem("token"),
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
144 "Content-type": "application/json"
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
145 }
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
146 })
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
147 .then(response => {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
148 this.fillColor = response.data.colour;
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
149 })
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
150 .catch(error => {
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
151 const { status, data } = error.response;
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
152 displayError({
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
153 title: this.$gettext("Backend Error"),
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
154 message: `${status}: ${data.message || data}`
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
155 });
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
156 });
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
157 }
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
158 };
|
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
159 </script>
|