Mercurial > gemma
annotate client/src/components/gauge/Gauges.vue @ 3054:1ef2f4179d30
client: map store: merged/renamed method(s)
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Tue, 16 Apr 2019 09:00:42 +0200 |
parents | c71373594719 |
children | b6cc4838d2c0 |
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; |
3054
1ef2f4179d30
client: map store: merged/renamed method(s)
Markus Kottlaender <markus@intevation.de>
parents:
3044
diff
changeset
|
183 this.$store.dispatch("map/moveToFeauture", { |
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> |