annotate client/src/components/gauge/Gauges.vue @ 3044:c71373594719

client: map: prepared store to hold multiple map objects This will be necessary to sync maps, toggle layers per map, etc. Therefore the methods to move the map (moveToExtent, etc.) became actions instead of mutations.
author Markus Kottlaender <markus@intevation.de>
date Sat, 13 Apr 2019 16:02:06 +0200
parents 1b8bb4f89227
children 1ef2f4179d30
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
1 <template>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
2 <div
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
3 :class="[
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
4 'box ui-element rounded bg-white text-nowrap',
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
5 { expanded: showGauges }
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
6 ]"
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
7 >
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
8 <div style="width: 18rem">
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
9 <UIBoxHeader
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
10 icon="ruler-vertical"
2754
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2751
diff changeset
11 :title="gaugesLabel"
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
12 :closeCallback="close"
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
13 />
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
14 <div class="box-body">
2894
95e40c87a943 client: applied component name change where it is used
Markus Kottlaender <markus@intevation.de>
parents: 2840
diff changeset
15 <UISpinnerOverlay v-if="loading" />
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
16 <select
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
17 @change="moveToGauge"
2643
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
18 v-model="selectedGaugeISRS"
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
19 class="form-control font-weight-bold"
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
20 >
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
21 <option :value="null">
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
22 <translate>Select Gauge</translate>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
23 </option>
2712
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
24 <optgroup
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
25 v-for="(gaugesForCountry, cc) in orderedGauges"
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
26 :key="cc"
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
27 :label="cc"
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
28 >
2712
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
29 <option
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
30 v-for="g in gaugesForCountry"
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
31 :key="g.properties.isrs_code"
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
32 :value="g.properties.isrs_code"
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
33 >
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
34 {{ gaugeLabel(g) }}
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
35 </option>
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
36 </optgroup>
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
37 </select>
2643
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
38 <div v-if="selectedGaugeISRS" class="mt-2">
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
39 <hr class="mb-1" />
2701
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
40 <div class="row no-gutters mb-2">
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
41 <div class="col-6 pr-1">
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
42 <small class="text-muted"><translate>From</translate>:</small>
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
43 <input
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
44 type="date"
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
45 class="form-control form-control-sm small"
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
46 :value="dateFrom && dateFrom.toISOString().split('T')[0]"
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
47 @input="dateFrom = $event.target.valueAsDate"
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
48 />
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
49 </div>
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
50 <div class="col-6 pl-1">
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
51 <small class="text-muted"><translate>To</translate>:</small>
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
52 <input
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
53 type="date"
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
54 class="form-control form-control-sm small"
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
55 :value="dateTo && dateTo.toISOString().split('T')[0]"
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
56 @input="dateTo = $event.target.valueAsDate"
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
57 />
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
58 </div>
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
59 </div>
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
60 <button
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
61 @click="showWaterlevelDiagram()"
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
62 class="btn btn-sm btn-info d-block w-100"
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
63 >
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
64 <translate>Show Waterlevels</translate>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
65 </button>
2829
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
66 <hr class="mb-1" />
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
67 <div class="row no-gutters mb-2">
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
68 <small class="text-muted">
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
69 <translate>Compare to</translate>:
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
70 </small>
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
71 <input
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
72 type="number"
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
73 step="1"
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
74 min="1900"
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
75 :max="new Date().getFullYear()"
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
76 class="form-control form-control-sm small"
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
77 v-model="yearCompare"
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
78 />
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
79 </div>
2761
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
80 <button
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
81 @click="showHydrologicalConditionsDiagram()"
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
82 class="btn btn-sm btn-info d-block w-100 mt-2"
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
83 >
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
84 <translate>Show Hydrological Conditions</translate>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
85 </button>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
86 </div>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
87 </div>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
88 </div>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
89 </div>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
90 </template>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
91
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
92 <script>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
93 /* This is Free Software under GNU Affero General Public License v >= 3.0
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
94 * without warranty, see README.md and license for details.
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
95 *
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
96 * SPDX-License-Identifier: AGPL-3.0-or-later
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
97 * License-Filename: LICENSES/AGPL-3.0.txt
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
98 *
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
99 * Copyright (C) 2018 by via donau
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
100 * – Österreichische Wasserstraßen-Gesellschaft mbH
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
101 * Software engineering by Intevation GmbH
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
102 *
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
103 * Author(s):
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
104 * Markus Kottländer <markus.kottlaender@intevation.de>
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
105 */
2604
85f9bf4a6eba client: gauge waterlevel diagram: draw reference waterlevels
Markus Kottlaender <markus@intevation.de>
parents: 2598
diff changeset
106 import { mapState, mapGetters } from "vuex";
2985
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2894
diff changeset
107 import { displayError } from "@/lib/errors";
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
108
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
109 export default {
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
110 data() {
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
111 return {
2710
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
112 loading: false
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
113 };
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
114 },
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
115 computed: {
2696
cc3eee8b5d71 client: waterlevel diagram: update diagram immediately when selectedGauge changes
Markus Kottlaender <markus@intevation.de>
parents: 2644
diff changeset
116 ...mapState("application", ["showGauges", "activeSplitscreenId"]),
2830
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
117 ...mapState("gauges", ["gauges", "longtermInterval"]),
2604
85f9bf4a6eba client: gauge waterlevel diagram: draw reference waterlevels
Markus Kottlaender <markus@intevation.de>
parents: 2598
diff changeset
118 ...mapGetters("gauges", ["selectedGauge"]),
2754
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2751
diff changeset
119 gaugesLabel() {
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2751
diff changeset
120 return this.$gettext("Gauges");
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2751
diff changeset
121 },
2712
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
122 orderedGauges() {
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
123 let orderedGauges = {};
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
124 this.gauges.forEach(g => {
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
125 let isrsInfo = this.isrsInfo(g);
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
126 if (orderedGauges.hasOwnProperty(isrsInfo.countryCode)) {
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
127 orderedGauges[isrsInfo.countryCode].push(g);
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
128 } else {
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
129 orderedGauges[isrsInfo.countryCode] = [g];
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
130 }
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
131 });
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
132 return orderedGauges;
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
133 },
2643
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
134 selectedGaugeISRS: {
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
135 get() {
2643
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
136 return this.$store.state.gauges.selectedGaugeISRS;
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
137 },
2643
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
138 set(isrs) {
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
139 this.$store.dispatch("gauges/selectedGaugeISRS", isrs);
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
140 }
2710
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
141 },
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
142 dateFrom: {
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
143 get() {
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
144 return this.$store.state.gauges.dateFrom;
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
145 },
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
146 set(date) {
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
147 this.$store.commit("gauges/dateFrom", date);
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
148 }
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
149 },
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
150 dateTo: {
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
151 get() {
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
152 return this.$store.state.gauges.dateTo;
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
153 },
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
154 set(date) {
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
155 this.$store.commit("gauges/dateTo", date);
f393fabfdd35 client: waterlevel diagram: chart extent based on selected dates instead of data
Markus Kottlaender <markus@intevation.de>
parents: 2701
diff changeset
156 }
2829
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
157 },
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
158 yearCompare: {
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
159 get() {
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
160 return this.$store.state.gauges.yearCompare;
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
161 },
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
162 set(year) {
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
163 this.$store.commit("gauges/yearCompare", year);
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
164 }
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
165 }
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
166 },
2696
cc3eee8b5d71 client: waterlevel diagram: update diagram immediately when selectedGauge changes
Markus Kottlaender <markus@intevation.de>
parents: 2644
diff changeset
167 watch: {
cc3eee8b5d71 client: waterlevel diagram: update diagram immediately when selectedGauge changes
Markus Kottlaender <markus@intevation.de>
parents: 2644
diff changeset
168 selectedGaugeISRS() {
cc3eee8b5d71 client: waterlevel diagram: update diagram immediately when selectedGauge changes
Markus Kottlaender <markus@intevation.de>
parents: 2644
diff changeset
169 if (this.activeSplitscreenId === "gauge-waterlevel") {
cc3eee8b5d71 client: waterlevel diagram: update diagram immediately when selectedGauge changes
Markus Kottlaender <markus@intevation.de>
parents: 2644
diff changeset
170 this.showWaterlevelDiagram();
cc3eee8b5d71 client: waterlevel diagram: update diagram immediately when selectedGauge changes
Markus Kottlaender <markus@intevation.de>
parents: 2644
diff changeset
171 }
2761
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
172 if (this.activeSplitscreenId === "gauge-hydrological-conditions") {
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
173 this.showHydrologicalConditionsDiagram();
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
174 }
2696
cc3eee8b5d71 client: waterlevel diagram: update diagram immediately when selectedGauge changes
Markus Kottlaender <markus@intevation.de>
parents: 2644
diff changeset
175 }
cc3eee8b5d71 client: waterlevel diagram: update diagram immediately when selectedGauge changes
Markus Kottlaender <markus@intevation.de>
parents: 2644
diff changeset
176 },
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
177 methods: {
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
178 close() {
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
179 this.$store.commit("application/showGauges", false);
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
180 },
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
181 moveToGauge() {
2604
85f9bf4a6eba client: gauge waterlevel diagram: draw reference waterlevels
Markus Kottlaender <markus@intevation.de>
parents: 2598
diff changeset
182 if (!this.selectedGauge) return;
3044
c71373594719 client: map: prepared store to hold multiple map objects
Markus Kottlaender <markus@intevation.de>
parents: 2985
diff changeset
183 this.$store.dispatch("map/moveToExtent", {
2604
85f9bf4a6eba client: gauge waterlevel diagram: draw reference waterlevels
Markus Kottlaender <markus@intevation.de>
parents: 2598
diff changeset
184 feature: this.selectedGauge,
2713
b79f5c5404c2 client: made zoom optional in moveMap/moveToExtent
Markus Kottlaender <markus@intevation.de>
parents: 2712
diff changeset
185 zoom: null,
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
186 preventZoomOut: true
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
187 });
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
188 },
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
189 showWaterlevelDiagram() {
2644
50cfb12a54a4 client: gauges: fixed bug with panning to gauge...
Markus Kottlaender <markus@intevation.de>
parents: 2643
diff changeset
190 // for panning the map to the gauge on opening the diagram: needs to be
50cfb12a54a4 client: gauges: fixed bug with panning to gauge...
Markus Kottlaender <markus@intevation.de>
parents: 2643
diff changeset
191 // set outside of the expandCallback to not always refer to the currently
50cfb12a54a4 client: gauges: fixed bug with panning to gauge...
Markus Kottlaender <markus@intevation.de>
parents: 2643
diff changeset
192 // selectedGauge
50cfb12a54a4 client: gauges: fixed bug with panning to gauge...
Markus Kottlaender <markus@intevation.de>
parents: 2643
diff changeset
193 let coordinates = this.selectedGauge.geometry.coordinates;
50cfb12a54a4 client: gauges: fixed bug with panning to gauge...
Markus Kottlaender <markus@intevation.de>
parents: 2643
diff changeset
194
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
195 // configure splitscreen
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
196 let splitscreenConf = {
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
197 id: "gauge-waterlevel",
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
198 component: "waterlevel",
2830
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
199 title: `${this.gaugeLabel(this.selectedGauge)}: ${this.$gettext(
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
200 "Waterlevel"
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
201 )} ${this.dateFrom.toLocaleDateString()} - ${this.dateTo.toLocaleDateString()}`,
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
202 icon: "ruler-vertical",
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
203 closeCallback: () => {
2643
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
204 this.$store.commit("gauges/selectedGaugeISRS", null);
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
205 this.$store.commit("gauges/waterlevels", []);
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
206 },
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
207 expandCallback: () => {
3044
c71373594719 client: map: prepared store to hold multiple map objects
Markus Kottlaender <markus@intevation.de>
parents: 2985
diff changeset
208 this.$store.dispatch("map/moveMap", {
2644
50cfb12a54a4 client: gauges: fixed bug with panning to gauge...
Markus Kottlaender <markus@intevation.de>
parents: 2643
diff changeset
209 coordinates,
2831
3430369d2310 client: spuc7/8: prevent zooming when opening collapsed diagram
Markus Kottlaender <markus@intevation.de>
parents: 2830
diff changeset
210 zoom: null,
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
211 preventZoomOut: true
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
212 });
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
213 }
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
214 };
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
215 this.$store.commit("application/addSplitscreen", splitscreenConf);
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
216 this.$store.commit("application/activeSplitscreenId", splitscreenConf.id);
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
217 this.$store.commit("application/splitscreenLoading", true);
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
218 this.loading = true;
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
219 this.$store.commit("application/showSplitscreen", true);
2751
5da81634bdc4 client: waterlevel diagram: implemented nash-sutcliffe
Markus Kottlaender <markus@intevation.de>
parents: 2740
diff changeset
220
5da81634bdc4 client: waterlevel diagram: implemented nash-sutcliffe
Markus Kottlaender <markus@intevation.de>
parents: 2740
diff changeset
221 Promise.all([
5da81634bdc4 client: waterlevel diagram: implemented nash-sutcliffe
Markus Kottlaender <markus@intevation.de>
parents: 2740
diff changeset
222 this.$store.dispatch("gauges/loadWaterlevels"),
5da81634bdc4 client: waterlevel diagram: implemented nash-sutcliffe
Markus Kottlaender <markus@intevation.de>
parents: 2740
diff changeset
223 this.$store.dispatch("gauges/loadNashSutcliffe")
5da81634bdc4 client: waterlevel diagram: implemented nash-sutcliffe
Markus Kottlaender <markus@intevation.de>
parents: 2740
diff changeset
224 ])
2701
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
225 .catch(error => {
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
226 const { status, data } = error.response;
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
227 displayError({
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
228 title: "Backend Error",
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
229 message: `${status}: ${data.message || data}`
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
230 });
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
231 })
e622689d73bd client: waterlevel diagram: use endpoint
Markus Kottlaender <markus@intevation.de>
parents: 2696
diff changeset
232 .finally(() => {
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
233 this.$store.commit("application/splitscreenLoading", false);
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
234 this.loading = false;
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
235 });
2643
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
236 },
2761
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
237 showHydrologicalConditionsDiagram() {
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
238 // for panning the map to the gauge on opening the diagram: needs to be
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
239 // set outside of the expandCallback to not always refer to the currently
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
240 // selectedGauge
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
241 let coordinates = this.selectedGauge.geometry.coordinates;
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
242
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
243 // configure splitscreen
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
244 let splitscreenConf = {
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
245 id: "gauge-hydrological-conditions",
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
246 component: "hydrological-conditions",
2830
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
247 title: `${this.gaugeLabel(this.selectedGauge)}: ${this.$gettext(
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
248 "Hydrological Conditions"
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
249 )}`,
2761
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
250 icon: "ruler-vertical",
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
251 closeCallback: () => {
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
252 this.$store.commit("gauges/selectedGaugeISRS", null);
2813
49c1570919ae client: spuc8: use new endpoints to fetch year based and longterm waterlevel data
Markus Kottlaender <markus@intevation.de>
parents: 2791
diff changeset
253 this.$store.commit("gauges/longtermWaterlevels", []);
49c1570919ae client: spuc8: use new endpoints to fetch year based and longterm waterlevel data
Markus Kottlaender <markus@intevation.de>
parents: 2791
diff changeset
254 this.$store.commit("gauges/yearWaterlevels", []);
2761
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
255 },
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
256 expandCallback: () => {
3044
c71373594719 client: map: prepared store to hold multiple map objects
Markus Kottlaender <markus@intevation.de>
parents: 2985
diff changeset
257 this.$store.dispatch("map/moveMap", {
2761
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
258 coordinates,
2831
3430369d2310 client: spuc7/8: prevent zooming when opening collapsed diagram
Markus Kottlaender <markus@intevation.de>
parents: 2830
diff changeset
259 zoom: null,
2761
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
260 preventZoomOut: true
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
261 });
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
262 }
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
263 };
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
264 this.$store.commit("application/addSplitscreen", splitscreenConf);
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
265 this.$store.commit("application/activeSplitscreenId", splitscreenConf.id);
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
266 this.$store.commit("application/splitscreenLoading", true);
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
267 this.loading = true;
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
268 this.$store.commit("application/showSplitscreen", true);
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
269
2813
49c1570919ae client: spuc8: use new endpoints to fetch year based and longterm waterlevel data
Markus Kottlaender <markus@intevation.de>
parents: 2791
diff changeset
270 Promise.all([
49c1570919ae client: spuc8: use new endpoints to fetch year based and longterm waterlevel data
Markus Kottlaender <markus@intevation.de>
parents: 2791
diff changeset
271 this.$store.dispatch("gauges/loadLongtermWaterlevels"),
2829
4a1211727d5f client: spuc8: implemented year controls
Markus Kottlaender <markus@intevation.de>
parents: 2813
diff changeset
272 this.$store.dispatch("gauges/loadYearWaterlevels")
2813
49c1570919ae client: spuc8: use new endpoints to fetch year based and longterm waterlevel data
Markus Kottlaender <markus@intevation.de>
parents: 2791
diff changeset
273 ])
2830
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
274 .then(() => {
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
275 splitscreenConf.title = `${
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
276 splitscreenConf.title
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
277 } ${this.longtermInterval.join(" - ")}`;
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
278 this.$store.commit("application/addSplitscreen", splitscreenConf);
0632d543a427 client: spuc7/8: show time periods in diagram titles
Markus Kottlaender <markus@intevation.de>
parents: 2829
diff changeset
279 })
2761
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
280 .catch(error => {
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
281 const { status, data } = error.response;
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
282 displayError({
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
283 title: "Backend Error",
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
284 message: `${status}: ${data.message || data}`
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
285 });
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
286 })
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
287 .finally(() => {
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
288 this.$store.commit("application/splitscreenLoading", false);
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
289 this.loading = false;
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
290 });
71e7237110ba client: spuc8: prepared diagram
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
291 },
2643
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
292 gaugeLabel(gauge) {
2712
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
293 return `${gauge.properties.objname} (${this.isrsInfo(gauge).orc})`;
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
294 },
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
295 isrsInfo(gauge) {
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
296 let isrsInfo = gauge.id
2643
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
297 .split(".")[1]
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
298 .replace(/[()]/g, "")
27933e66e848 client: gauges: use isrs_code as unique id for gauges
Markus Kottlaender <markus@intevation.de>
parents: 2642
diff changeset
299 .split(",");
2712
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
300
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
301 return {
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
302 countryCode: isrsInfo[0],
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
303 loCode: isrsInfo[1],
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
304 fairwaySection: isrsInfo[2],
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
305 orc: isrsInfo[3],
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
306 hectometre: isrsInfo[4]
0ac077897ce5 client: Gauges dialog: ordered gauge list by country code
Markus Kottlaender <markus@intevation.de>
parents: 2710
diff changeset
307 };
2598
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
308 }
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
309 },
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
310 mounted() {
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
311 this.$store.dispatch("gauges/loadGauges");
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
312 }
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
313 };
5fa1ad39e1bc client: added missing files for Gauges dialog
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
314 </script>