Mercurial > gemma
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 |
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> |