annotate client/src/components/identify/Identify.vue @ 4438:04bdc1f444bc

identify: improve legend
author Thomas Junk <thomas.junk@intevation.de>
date Thu, 19 Sep 2019 16:49:25 +0200
parents a66275cf4490
children 3bcd4a27bef0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
1 <template>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
2 <div
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
3 :class="[
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
4 'box ui-element rounded bg-white text-nowrap',
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
5 { expanded: showIdentify }
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
6 ]"
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
7 >
4401
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
8 <div style="width: 20rem">
2754
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
9 <UIBoxHeader
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
10 icon="info"
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
11 :title="identifiedLabel"
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
12 :closeCallback="close"
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
13 />
2534
bb5286acfee2 client: reduced spacings between and inside boxes and more compact main menu
Markus Kottlaender <markus@intevation.de>
parents: 2441
diff changeset
14 <div class="features">
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
15 <div v-if="currentMeasurement">
2857
f59cff59a630 client: identify: made header text left aligned for measurements
Markus Kottlaender <markus@intevation.de>
parents: 2856
diff changeset
16 <small class="d-block bg-secondary text-light px-2 py-1">
4258
57c38087fe18 client: correct strings-marking for translations (identify box)
Fadi Abbud <fadi.abbud@intevation.de>
parents: 4224
diff changeset
17 <translate> Measurement</translate>
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
18 </small>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
19 <small class="d-flex justify-content-between px-2">
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
20 <b>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
21 {{ currentMeasurement.quantity }}
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
22 </b>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
23 {{ currentMeasurement.value }} {{ currentMeasurement.unitSymbol }}
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
24 </small>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
25 </div>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
26 <div
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
27 v-for="feature of filteredIdentifiedFeatures"
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
28 :key="feature.getId()"
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
29 >
2743
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
30 <small
2835
202a153a3361 client: identify box: made headers lighter
Markus Kottlaender <markus@intevation.de>
parents: 2754
diff changeset
31 class="d-flex justify-content-between bg-secondary text-light px-2 py-1"
2743
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
32 >
4258
57c38087fe18 client: correct strings-marking for translations (identify box)
Fadi Abbud <fadi.abbud@intevation.de>
parents: 4224
diff changeset
33 {{ featureLabel(feature) }}
2743
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
34 <a
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
35 v-if="feature.getProperties().hasOwnProperty('bbox')"
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
36 @click="zoomTo(feature)"
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
37 class="btn btn-info btn-xs pointer rounded-0 zoom-btn"
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
38 >
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
39 <font-awesome-icon icon="crosshairs" />
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
40 </a>
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
41 </small>
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
42 <div class="text-left ml-2 mt-2">
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
43 <small
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
44 class="text-muted bg-white"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
45 v-if="showBottleneckMeta(feature) || showGaugeMeta(feature)"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
46 >
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
47 Meta:
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
48 </small>
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
49 <hr style="margin-top:0.25em;margin-bottom:0.5em;" />
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
50 </div>
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
51 <div
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
52 v-if="showBottleneckMeta(feature)"
4436
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
53 class="ml-1 mb-1 text-left d-flex flex-column"
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
54 >
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
55 <div class="d-flex">
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
56 <font-awesome-icon
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
57 icon="caret-up"
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
58 fixed-width
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
59 :style="{
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
60 color: recencyColor(feature),
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
61 'font-size': 'x-large'
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
62 }"
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
63 />
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
64 <div class="d-flex flex-column">
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
65 <small
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
66 v-for="(line, index) in recency(feature)"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
67 :key="index"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
68 class="bg-white my-auto text-wrap"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
69 >
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
70 {{ line }}
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
71 </small>
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
72 </div>
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
73 </div>
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
74 <div>
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
75 <small><translate>According gauge data:</translate></small>
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
76 </div>
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
77 </div>
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
78 <div
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
79 v-if="showGaugeMeta(feature)"
4436
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
80 class="ml-1 mb-1 text-left d-flex flex-column"
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
81 >
4349
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
82 <div class="d-flex">
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
83 <div class="d-flex flex-column">
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
84 <font-awesome-icon
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
85 icon="caret-up"
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
86 fixed-width
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
87 :style="{
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
88 color: gmAvailabilityColor(feature),
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
89 'font-size': 'x-large',
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
90 position: 'relative',
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
91 top: '0.28em'
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
92 }"
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
93 />
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
94 <font-awesome-icon
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
95 icon="caret-down"
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
96 fixed-width
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
97 :style="{
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
98 color: gmAvailabilityColor(feature),
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
99 'font-size': 'x-large',
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
100 position: 'relative',
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
101 top: '-0.45em'
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
102 }"
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
103 />
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
104 </div>
4436
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
105 <div class="d-flex flex-column">
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
106 <small
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
107 v-for="(line, index) in gmAvailability(feature)"
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
108 class="bg-white my-auto"
4436
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
109 :key="index"
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
110 >
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
111 {{ line }}
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
112 </small>
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
113 </div>
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
114 </div>
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
115 <div class="mt-2 d-flex">
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
116 <font-awesome-icon
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
117 icon="caret-up"
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
118 fixed-width
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
119 :style="{
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
120 color: getGaugeStatusColor(feature),
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
121 'font-size': 'x-large'
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
122 }"
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
123 />
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
124 <div class="d-flex flex-column">
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
125 <small
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
126 v-for="(line, index) in getGaugeStatusText(feature)"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
127 :key="index"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
128 class="bg-white my-auto"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
129 >
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
130 {{ line }}
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
131 </small>
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
132 </div>
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
133 </div>
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
134 <div class="mt-2 d-flex">
4279
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
135 <font-awesome-icon
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
136 icon="caret-up"
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
137 fixed-width
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
138 :style="{
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
139 color: forecastAccuracyColor(feature),
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
140 'font-size': 'x-large'
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
141 }"
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
142 />
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
143 <div style="line-height:1.1em" class="d-flex flex-column">
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
144 <small
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
145 v-for="(line, index) in forecastAccuracy(feature)"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
146 :key="index"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
147 class="bg-white my-auto"
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
148 >
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
149 {{ line }}
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
150 </small>
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
151 </div>
4279
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
152 </div>
4277
12398df5f414 Identify_tool: fixed nesting of divs which prevented infos from beeing shown
Thomas Junk <thomas.junk@intevation.de>
parents: 4270
diff changeset
153 </div>
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
154 <hr style="margin-top:0.5em;margin-bottom:0.25em;" />
4277
12398df5f414 Identify_tool: fixed nesting of divs which prevented infos from beeing shown
Thomas Junk <thomas.junk@intevation.de>
parents: 4270
diff changeset
155 <div>
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
156 <small
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
157 v-for="prop in featureProps(feature)"
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
158 :key="prop.key"
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
159 v-if="prop.val"
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
160 class="d-flex justify-content-between px-2"
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
161 >
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
162 <b>{{ prop.key }}</b>
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
163 <span>{{ prop.val }}</span>
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
164 </small>
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
165 </div>
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
166 </div>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
167 <div
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
168 v-if="!currentMeasurement && !filteredIdentifiedFeatures.length"
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
169 class="text-muted small text-center my-auto py-3 px-2"
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
170 >
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
171 <translate>No features identified.</translate>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
172 </div>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
173 </div>
3399
e5df2cbb4d48 client: user manual: fix console error and hide it when url is not cofigured
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3395
diff changeset
174 <div
e5df2cbb4d48 client: user manual: fix console error and hide it when url is not cofigured
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3395
diff changeset
175 v-if="userManualUrl"
e5df2cbb4d48 client: user manual: fix console error and hide it when url is not cofigured
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3395
diff changeset
176 class="border-top text-left pl-2"
e5df2cbb4d48 client: user manual: fix console error and hide it when url is not cofigured
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3395
diff changeset
177 style="font-size: 90%;"
e5df2cbb4d48 client: user manual: fix console error and hide it when url is not cofigured
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3395
diff changeset
178 >
3395
6075c4c25568 client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3369
diff changeset
179 <translate>Download</translate>
6075c4c25568 client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3369
diff changeset
180 <a
6075c4c25568 client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3369
diff changeset
181 :href="userManualUrl ? userManualUrl : '#'"
3509
0e91d40af23e client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3399
diff changeset
182 :download="usermanualFilename"
3395
6075c4c25568 client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3369
diff changeset
183 ><translate> User Manual</translate></a
6075c4c25568 client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3369
diff changeset
184 >
6075c4c25568 client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3369
diff changeset
185 </div>
2534
bb5286acfee2 client: reduced spacings between and inside boxes and more compact main menu
Markus Kottlaender <markus@intevation.de>
parents: 2441
diff changeset
186 <div class="versioninfo border-top box-body">
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
187 <span v-translate="{ license: 'AGPL-3.0-or-later' }">
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
188 This app uses <i>gemma</i>, which is Free Software under <br />
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
189 %{ license } without warranty, see docs for details.
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
190 </span>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
191 <br />
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
192 <a href="https://hg.intevation.de/gemma/file/tip">
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
193 <translate>source-code</translate>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
194 </a>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
195 {{ versionStr }} <br />© via donau. &#x24D4; Intevation. <br />
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
196 <span v-translate="{ name: 'OpenSteetMap' }"
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
197 >Some data ©
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
198 <a href="https://www.openstreetmap.org/copyright">%{ name }</a>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
199 contributors.
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
200 </span>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
201 <br />
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
202 <span v-translate="{ geoLicense: 'CC-BY-4.0' }">
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
203 Uses
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
204 <a href="https://download.geonames.org/export/dump/readme.txt"
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
205 >GeoNames</a
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
206 >
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
207 under %{ geoLicense }.
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
208 </span>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
209 <translate>Generated PDFs use font: </translate>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
210 <a href="http://libertine-fonts.org">LinBiolinum</a>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
211 </div>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
212 </div>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
213 </div>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
214 </template>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
215
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
216 <style lang="scss" scoped>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
217 .features {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
218 max-height: 19rem;
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
219 overflow-y: auto;
2372
20e4efa64320 client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2371
diff changeset
220 small {
2743
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
221 .zoom-btn {
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
222 margin-top: -0.25rem;
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
223 margin-right: -0.5rem;
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
224 margin-bottom: -0.25rem;
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
225 svg {
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
226 vertical-align: middle;
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
227 }
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
228 }
2372
20e4efa64320 client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2371
diff changeset
229 &:nth-child(even) {
20e4efa64320 client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2371
diff changeset
230 background: #f8f8f8;
20e4efa64320 client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2371
diff changeset
231 }
20e4efa64320 client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2371
diff changeset
232 &:hover {
20e4efa64320 client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2371
diff changeset
233 background: #eeeeee;
20e4efa64320 client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2371
diff changeset
234 }
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
235 }
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
236 }
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
237
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
238 .versioninfo {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
239 font-size: 60%;
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
240 white-space: normal;
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
241 }
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
242 </style>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
243
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
244 <script>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
245 /* This is Free Software under GNU Affero General Public License v >= 3.0
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
246 * without warranty, see README.md and license for details.
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
247 *
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
248 * SPDX-License-Identifier: AGPL-3.0-or-later
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
249 * License-Filename: LICENSES/AGPL-3.0.txt
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
250 *
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
251 * Copyright (C) 2018, 2019 by via donau
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
252 * – Österreichische Wasserstraßen-Gesellschaft mbH
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
253 * Software engineering by Intevation GmbH
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
254 *
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
255 * Author(s):
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
256 * Thomas Junk <thomas.junk@intevation.de>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
257 * Bernhard E. Reiter <bernhard.reiter@intevation.de>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
258 * Markus Kottländer <markus.kottlaender@intevation.de>
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
259 */
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
260 import { mapState, mapGetters } from "vuex";
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
261 import { formatter } from "./formatter";
2747
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
262 import { getCenter } from "ol/extent";
4436
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
263 import classifications from "@/lib/classifications";
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
264 import { styleFactory } from "@/components/map/styles";
4436
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
265 import filters from "@/lib/filters";
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
266
4267
c5642480eb9b styles: rename 'currency' to recency
Thomas Junk <thomas.junk@intevation.de>
parents: 4266
diff changeset
267 const {
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
268 recencyColorCodes,
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
269 gmAvailabilityColorCodes,
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
270 forecastAccuracyColorCodes,
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
271 forecastVsRealityColorCodes
4267
c5642480eb9b styles: rename 'currency' to recency
Thomas Junk <thomas.junk@intevation.de>
parents: 4266
diff changeset
272 } = styleFactory();
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
273
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
274 export default {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
275 name: "identify",
4291
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
276 data() {
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
277 return {
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
278 refGaugeStatus: "",
4356
5356fd2ea3f6 Identify: legend shows reference values from Nash Sutcliffe
Thomas Junk <thomas.junk@intevation.de>
parents: 4350
diff changeset
279 gaugeStatus: "",
5356fd2ea3f6 Identify: legend shows reference values from Nash Sutcliffe
Thomas Junk <thomas.junk@intevation.de>
parents: 4350
diff changeset
280 gaugeCoeffs: null,
5356fd2ea3f6 Identify: legend shows reference values from Nash Sutcliffe
Thomas Junk <thomas.junk@intevation.de>
parents: 4350
diff changeset
281 refGaugeCoeffs: null
4291
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
282 };
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
283 },
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
284 computed: {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
285 ...mapGetters("application", ["versionStr"]),
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
286 ...mapState("application", ["showIdentify", "userManualUrl", "config"]),
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
287 ...mapGetters("map", ["filteredIdentifiedFeatures"]),
2754
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
288 ...mapState("map", ["currentMeasurement"]),
4291
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
289 ...mapState("gauges", ["gauges"]),
2754
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
290 identifiedLabel() {
3187
5487abeb380c client: identify: edited title of box header
Markus Kottlaender <markus@intevation.de>
parents: 3044
diff changeset
291 return this.$gettext("Identified Features");
3509
0e91d40af23e client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3399
diff changeset
292 },
0e91d40af23e client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3399
diff changeset
293 usermanualFilename() {
0e91d40af23e client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3399
diff changeset
294 return this.$gettext("User Manual");
4291
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
295 },
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
296 gaugeStatusColor() {
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
297 return forecastVsRealityColorCodes[this.gaugeStatus];
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
298 },
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
299 gaugeStatusText() {
4401
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
300 const nsc24 = Number(this.config.gm_forecast_vs_reality_nsc_24h).toFixed(
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
301 2
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
302 );
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
303 const nsc72 = Number(this.config.gm_forecast_vs_reality_nsc_72h).toFixed(
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
304 2
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
305 );
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
306 const coeffWarn = this.gaugeCoeffs
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
307 ? Number(this.gaugeCoeffs[2].value).toFixed(2)
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
308 : "";
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
309 const coeffDanger = this.gaugeCoeffs
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
310 ? Number(this.gaugeCoeffs[0].value).toFixed(2)
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
311 : "";
4291
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
312 const messagesPerState = {
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
313 OK: [
4356
5356fd2ea3f6 Identify: legend shows reference values from Nash Sutcliffe
Thomas Junk <thomas.junk@intevation.de>
parents: 4350
diff changeset
314 this.$gettext("Nash-Sutcliffe") +
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
315 `(${coeffDanger} >${nsc24} /24h ${coeffWarn} >${nsc72} / 72h)`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
316 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
317 WARNING: [
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
318 this.$gettext("Nash-Sutcliffe") + ` (${coeffWarn} < ${nsc72} / 72h)`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
319 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
320 DANGER: [
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
321 this.$gettext("Nash-Sutcliffe") + ` (${coeffDanger} < ${nsc24} / 72h)`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
322 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
323 NEUTRAL: [this.$gettext("Nash-Sutcliffe not available")]
4291
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
324 };
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
325 return messagesPerState[this.gaugeStatus];
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
326 },
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
327 refGaugeStatusColor() {
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
328 return forecastVsRealityColorCodes[this.refGaugeStatus];
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
329 },
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
330 refGaugeStatusText() {
4401
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
331 const nsc24 = Number(this.config.gm_forecast_vs_reality_nsc_24h).toFixed(
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
332 2
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
333 );
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
334 const nsc72 = Number(this.config.gm_forecast_vs_reality_nsc_72h).toFixed(
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
335 2
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
336 );
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
337 const coeffWarn = this.refGaugeCoeffs
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
338 ? Number(this.refGaugeCoeffs[2].value).toFixed(2)
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
339 : "";
4356
5356fd2ea3f6 Identify: legend shows reference values from Nash Sutcliffe
Thomas Junk <thomas.junk@intevation.de>
parents: 4350
diff changeset
340 const coeffDanger = this.refGaugeCoeffs
4401
9842812b92e0 identify: fix numbers for nsc
Thomas Junk <thomas.junk@intevation.de>
parents: 4356
diff changeset
341 ? Number(this.refGaugeCoeffs[0].value).toFixed(2)
4356
5356fd2ea3f6 Identify: legend shows reference values from Nash Sutcliffe
Thomas Junk <thomas.junk@intevation.de>
parents: 4350
diff changeset
342 : "";
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
343 const messagesPerState = {
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
344 OK: [
4356
5356fd2ea3f6 Identify: legend shows reference values from Nash Sutcliffe
Thomas Junk <thomas.junk@intevation.de>
parents: 4350
diff changeset
345 this.$gettext("Nash-Sutcliffe") +
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
346 `(${coeffDanger} >${nsc24} /24h ${coeffWarn} >${nsc72} / 72h)`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
347 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
348 WARNING: [
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
349 this.$gettext("Nash-Sutcliffe") + ` (${coeffWarn} < ${nsc72} / 72h)`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
350 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
351 DANGER: [
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
352 this.$gettext("Nash-Sutcliffe") + ` (${coeffDanger} < ${nsc24} / 72h)`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
353 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
354 NEUTRAL: [this.$gettext("Nash-Sutcliffe not available")]
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
355 };
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
356 return messagesPerState[this.refGaugeStatus];
4291
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
357 }
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
358 },
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
359 watch: {
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
360 filteredIdentifiedFeatures() {
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
361 const bottlecks = this.filteredIdentifiedFeatures.filter(f =>
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
362 /bottleneck/.test(f.id_)
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
363 );
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
364 const gauges = this.filteredIdentifiedFeatures.filter(f =>
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
365 /gauge/.test(f.id_)
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
366 );
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
367 if (gauges.length > 0) {
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
368 const isrs = gauges[0].get("isrs_code");
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
369 this.$store
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
370 .dispatch("gauges/getNashSutcliffeForISRS", isrs)
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
371 .then(response => {
4356
5356fd2ea3f6 Identify: legend shows reference values from Nash Sutcliffe
Thomas Junk <thomas.junk@intevation.de>
parents: 4350
diff changeset
372 this.gaugeCoeffs = response.coeffs;
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
373 this.gaugeStatus = classifications.calcForecastVsRealityForNSC(
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
374 response
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
375 );
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
376 });
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
377 }
4291
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
378 if (bottlecks.length > 0) {
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
379 const gauge = this.gauges.find(
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
380 g => g.properties.objname === bottlecks[0].get("gauge_objname")
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
381 );
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
382 const isrs = gauge.properties.isrs_code;
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
383 this.$store
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
384 .dispatch("gauges/getNashSutcliffeForISRS", isrs)
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
385 .then(response => {
4356
5356fd2ea3f6 Identify: legend shows reference values from Nash Sutcliffe
Thomas Junk <thomas.junk@intevation.de>
parents: 4350
diff changeset
386 this.refGaugeCoeffs = response.coeffs;
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
387 this.refGaugeStatus = classifications.calcForecastVsRealityForNSC(
4291
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
388 response
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
389 );
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
390 });
81ab34bd2d0d Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents: 4279
diff changeset
391 }
2754
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
392 }
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
393 },
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
394 methods: {
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
395 getGaugeStatusText(feature) {
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
396 if (/bottleneck/.test(feature.getId())) return this.refGaugeStatusText;
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
397 return this.gaugeStatusText;
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
398 },
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
399 getGaugeStatusColor(feature) {
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
400 if (/bottleneck/.test(feature.getId())) return this.refGaugeStatusColor;
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
401 return this.gaugeStatusColor;
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
402 },
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
403 gmAvailability(feature) {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
404 const latestInHours = this.config.gm_latest_hours;
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
405 const measurementsIn14D = this.config.gm_min_values_14d;
4436
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
406 const gauge = classifications.getGauge(feature);
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
407 const lastMeasureDate = filters.surveyDate(gauge.get("gm_measuredate"));
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
408 const in14Days = gauge.get("gm_n_14d");
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
409 const messagesPerState = {
4436
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
410 OK: [
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
411 this.$gettext("Avail: Latest measurement from") +
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
412 `${lastMeasureDate}`,
4436
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
413 this.$gettext("Measurement is within") + ` ${latestInHours}h`,
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
414 `${in14Days} / ${measurementsIn14D} ${this.$gettext(
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
415 "measurements"
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
416 )} in 14d`
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
417 ],
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
418 WARNING: [
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
419 this.$gettext("Avail: Below treshold"),
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
420 `${in14Days} / ${measurementsIn14D} ${this.$gettext(
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
421 "measurements"
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
422 )} in 14d`
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
423 ],
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
424 DANGER: [
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
425 this.$gettext("Avail: Latest measurement older than") +
4436
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
426 ` ${latestInHours} d`,
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
427 `(${lastMeasureDate})`
a66275cf4490 identify: gm availability infotext improved. More 2 come
Thomas Junk <thomas.junk@intevation.de>
parents: 4401
diff changeset
428 ]
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
429 };
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
430 return messagesPerState[classifications.gmAvailability(feature)];
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
431 },
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
432 gmAvailabilityColor(feature) {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
433 return gmAvailabilityColorCodes[classifications.gmAvailability(feature)];
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
434 },
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
435 forecastAccuracy(feature) {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
436 const offset24 = this.config.gm_forecast_offset_24h;
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
437 const offset72 = this.config.gm_forecast_offset_72h;
4349
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
438 const fa3d = feature.get("forecast_accuracy_3d");
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
439 const fa1d = feature.get("forecast_accuracy_1d");
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
440 const messagesPerState = {
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
441 OK: [
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
442 this.$gettext("Highest confidence"),
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
443 `${fa1d} < ${offset24} cm/24h`,
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
444 `${fa3d} < ${offset72} cm/72h`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
445 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
446 WARNING: [
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
447 this.$gettext("Confidence per 72h") + ` (${fa3d} cm > ${offset72} cm)`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
448 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
449 DANGER: [
4349
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
450 this.$gettext("Confidence per 24h") + ` (${fa1d} cm > ${offset24} cm)`
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
451 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
452 NEUTRAL: [this.$gettext("Predictions not available")]
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
453 };
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
454 return messagesPerState[classifications.forecastAccuracy(feature)];
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
455 },
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
456 forecastAccuracyColor(feature) {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
457 return forecastAccuracyColorCodes[
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
458 classifications.forecastAccuracy(feature)
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
459 ];
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
460 },
4267
c5642480eb9b styles: rename 'currency' to recency
Thomas Junk <thomas.junk@intevation.de>
parents: 4266
diff changeset
461 recency(feature) {
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
462 const revisitingFactor = this.config.bn_revtime_multiplier;
4349
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
463 const revisitingTime = feature.get("revisiting_time");
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
464 if (!revisitingTime) return [this.$gettext("No revisiting time defined")];
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
465 const latest = feature.get("date_max");
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
466 if (!latest) return [this.$gettext("No survey-data available")];
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
467 const latestMeasurement = filters.surveyDate(new Date(latest));
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
468 const messagesPerState = {
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
469 OK: [
4349
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
470 this.$gettext("Data within the revisiting time") +
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
471 ` (${revisitingTime} mth)`,
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
472 `${this.$gettext("Latest measurement")} ${latestMeasurement}`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
473 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
474 WARNING: [
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
475 this.$gettext("Data within revisiting treshold") +
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
476 ` (${revisitingFactor} * ${revisitingTime})`,
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
477 `${this.$gettext("Latest measurement")} ${latestMeasurement}`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
478 ],
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
479 DANGER: [
4349
4ed2708234b9 identify: improve legend. Add numbers
Thomas Junk <thomas.junk@intevation.de>
parents: 4293
diff changeset
480 this.$gettext("Data too old. Treshold:") +
4438
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
481 ` (${revisitingFactor} * ${revisitingTime}mth)`,
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
482 `${this.$gettext("Latest measurement")} ${latestMeasurement}`
04bdc1f444bc identify: improve legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4436
diff changeset
483 ]
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
484 };
4279
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
485 return messagesPerState[classifications.surveyRecency(feature)];
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
486 },
4267
c5642480eb9b styles: rename 'currency' to recency
Thomas Junk <thomas.junk@intevation.de>
parents: 4266
diff changeset
487 recencyColor(feature) {
4279
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
488 return recencyColorCodes[classifications.surveyRecency(feature)];
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
489 },
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
490 showBottleneckMeta(feature) {
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
491 const result = /bottleneck/.test(feature.getId().toLowerCase());
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
492 return result;
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
493 },
4293
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
494 showGaugeMeta(feature) {
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
495 const result = /bottleneck|gauge/.test(feature.getId().toLowerCase());
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
496 return result;
dbd8d2416da7 Identify: Improve legend for gauges
Thomas Junk <thomas.junk@intevation.de>
parents: 4291
diff changeset
497 },
2743
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
498 zoomTo(feature) {
3044
c71373594719 client: map: prepared store to hold multiple map objects
Markus Kottlaender <markus@intevation.de>
parents: 3029
diff changeset
499 this.$store.dispatch("map/moveMap", {
2747
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
500 coordinates: getCenter(
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
501 feature
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
502 .getGeometry()
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
503 .clone()
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
504 .transform("EPSG:3857", "EPSG:4326")
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
505 .getExtent()
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
506 ),
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
507 zoom: 17,
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
508 preventZoomOut: true
2735
3c2ac140ad30 identify_tool: zoom to BBox PoC implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2534
diff changeset
509 });
3c2ac140ad30 identify_tool: zoom to BBox PoC implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2534
diff changeset
510 },
2387
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2372
diff changeset
511 close() {
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2372
diff changeset
512 this.$store.commit("application/showIdentify", false);
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2372
diff changeset
513 },
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
514 featureId(feature) {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
515 // cut away everything from the last . to the end
3029
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
516 let id = "";
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
517 if (feature.getId) {
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
518 id = feature.getId();
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
519 }
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
520 if (feature.id) {
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
521 id = feature.id;
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
522 }
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
523 return id.replace(/[.][^.]*$/, "");
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
524 },
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
525 featureLabel(feature) {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
526 if (formatter.hasOwnProperty(this.featureId(feature))) {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
527 return formatter[this.featureId(feature)].label;
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
528 }
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
529 return this.featureId(feature);
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
530 },
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
531 featureProps(feature) {
2441
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
532 let featureId = this.featureId(feature);
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
533
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
534 // create array with {key, val} objects
4224
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
535 // skip geometry here, because it is slightly more robust
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
536 // to get the name of the property to skip and we need a reference
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
537 // to `feature` for doing so.
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
538 // The geometry is not needed (and previous comments in the code
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
539 // mentioned a problem with it becoming cyclic when left in).
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
540 let skipList = [feature.getGeometryName()];
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
541 let propsArray = [];
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
542 Object.keys(feature.getProperties()).forEach(key => {
4224
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
543 if (skipList.indexOf(key) === -1) {
2423
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
544 let val = feature.getProperties()[key];
2405
ef928c63388a client: handle json values in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2387
diff changeset
545
4224
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
546 // if val is a valid json object string,
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
547 // spread its values into the array
2423
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
548 let jsonObj = this.getObjectFromString(val);
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
549 if (jsonObj) {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
550 Object.keys(jsonObj).forEach(key => {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
551 propsArray.push({ key, val: jsonObj[key] });
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
552 });
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
553 } else {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
554 // otherwise just put the key value pair into the array
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
555 propsArray.push({ key, val });
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
556 }
2405
ef928c63388a client: handle json values in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2387
diff changeset
557 }
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
558 });
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
559
4224
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
560 // run general formatter
2743
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
561 propsArray = propsArray.map(formatter.all).filter(p => p);
4224
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
562 // run feature specific formatter
2441
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
563 if (
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
564 formatter.hasOwnProperty(featureId) &&
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
565 formatter[featureId].hasOwnProperty("props")
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
566 ) {
2743
4063adda3095 client: identified box: moved bbox zoom button to feature headers and removed bbox from the feature's properties list
Markus Kottlaender <markus@intevation.de>
parents: 2735
diff changeset
567 propsArray = propsArray.map(formatter[featureId].props).filter(p => p);
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
568 }
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
569 // remove underscores in labels that where not previously changed already
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
570 propsArray = propsArray.map(prop => {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
571 return { key: prop.key.replace(/_/g, " "), val: prop.val };
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
572 });
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
573
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
574 return propsArray;
2423
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
575 },
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
576 getObjectFromString(val) {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
577 // JSON.parse() accepts integers and null as valid json. So to be sure to
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
578 // get an object, we cannot just try JSON.parse() but we need to check if
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
579 // the given value is a string and starts with a {.
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
580 if (
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
581 Object.prototype.toString.call(val) === "[object String]" &&
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
582 val[0] === "{"
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
583 ) {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
584 try {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
585 return JSON.parse(val);
2424
b6deb03ef13f client: fix linter error (empty block)
Markus Kottlaender <markus@intevation.de>
parents: 2423
diff changeset
586 } catch (e) {
b6deb03ef13f client: fix linter error (empty block)
Markus Kottlaender <markus@intevation.de>
parents: 2423
diff changeset
587 return null;
b6deb03ef13f client: fix linter error (empty block)
Markus Kottlaender <markus@intevation.de>
parents: 2423
diff changeset
588 }
2423
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
589 }
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
590 return null;
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
591 }
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
592 }
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
593 };
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
594 </script>