Mercurial > gemma
annotate client/src/components/identify/Identify.vue @ 4291:81ab34bd2d0d
Legend: Improve display of data availability
In order to show Nash Sutcliffe data for bottleneckts
the according gauge has to be determined. Every gauge is
loaded at initial startup, data will be available when
necessary for identification of bottlenecks.
The Nash Sutcliffe data is lazy loaded and used here.
Perhaps we could use this cache for the style layer too.
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Fri, 30 Aug 2019 12:11:35 +0200 |
parents | 30f26bf7ff24 |
children | dbd8d2416da7 |
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 > |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
8 <div style="width: 18rem"> |
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> |
4265
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
42 <div |
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
43 v-if="showBottleneckMeta(feature)" |
4270
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
44 class="ml-2 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
|
45 > |
4270
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
46 <div> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
47 <font-awesome-icon |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
48 icon="caret-up" |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
49 fixed-width |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
50 :style="{ |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
51 color: recencyColor(feature), |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
52 'font-size': 'x-large' |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
53 }" |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
54 /> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
55 <small class="my-auto"> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
56 {{ recency(feature) }} |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
57 </small> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
58 </div> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
59 <div> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
60 <small><translate>According gauge data:</translate></small> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
61 </div> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
62 <div> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
63 <font-awesome-icon |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
64 icon="caret-up" |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
65 fixed-width |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
66 :style="{ |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
67 color: gmAvailabilityColor(feature), |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
68 'font-size': 'x-large' |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
69 }" |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
70 /> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
71 <small class="my-auto"> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
72 {{ gmAvailability(feature) }} |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
73 </small> |
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 <div> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
76 <font-awesome-icon |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
77 icon="caret-up" |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
78 fixed-width |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
79 :style="{ |
4291
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
80 color: gaugeStatusColor, |
4270
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
81 'font-size': 'x-large' |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
82 }" |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
83 /> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
84 <small class="my-auto"> |
4291
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
85 {{ gaugeStatusText }} |
4270
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
86 </small> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
87 </div> |
4279
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
88 <div> |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
89 <font-awesome-icon |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
90 icon="caret-up" |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
91 fixed-width |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
92 :style="{ |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
93 color: forecastAccuracyColor(feature), |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
94 'font-size': 'x-large' |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
95 }" |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
96 /> |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
97 <small class="my-auto"> |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
98 {{ forecastAccuracy(feature) }} |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
99 </small> |
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
100 </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
|
101 </div> |
12398df5f414
Identify_tool: fixed nesting of divs which prevented infos from beeing shown
Thomas Junk <thomas.junk@intevation.de>
parents:
4270
diff
changeset
|
102 <div> |
4270
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
103 <small |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
104 v-for="prop in featureProps(feature)" |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
105 :key="prop.key" |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
106 v-if="prop.val" |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
107 class="d-flex justify-content-between px-2" |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
108 > |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
109 <b>{{ prop.key }}</b> |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
110 <span>{{ prop.val }}</span> |
4265
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
111 </small> |
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
112 </div> |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
113 </div> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
114 <div |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
115 v-if="!currentMeasurement && !filteredIdentifiedFeatures.length" |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
116 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
|
117 > |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
118 <translate>No features identified.</translate> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
119 </div> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
120 </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
|
121 <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
|
122 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
|
123 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
|
124 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
|
125 > |
3395
6075c4c25568
client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3369
diff
changeset
|
126 <translate>Download</translate> |
6075c4c25568
client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3369
diff
changeset
|
127 <a |
6075c4c25568
client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3369
diff
changeset
|
128 :href="userManualUrl ? userManualUrl : '#'" |
3509
0e91d40af23e
client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3399
diff
changeset
|
129 :download="usermanualFilename" |
3395
6075c4c25568
client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3369
diff
changeset
|
130 ><translate> User Manual</translate></a |
6075c4c25568
client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3369
diff
changeset
|
131 > |
6075c4c25568
client: change user manual location
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3369
diff
changeset
|
132 </div> |
2534
bb5286acfee2
client: reduced spacings between and inside boxes and more compact main menu
Markus Kottlaender <markus@intevation.de>
parents:
2441
diff
changeset
|
133 <div class="versioninfo border-top box-body"> |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
134 <span v-translate="{ license: 'AGPL-3.0-or-later' }"> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
135 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
|
136 %{ license } without warranty, see docs for details. |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
137 </span> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
138 <br /> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
139 <a href="https://hg.intevation.de/gemma/file/tip"> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
140 <translate>source-code</translate> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
141 </a> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
142 {{ versionStr }} <br />© via donau. ⓔ Intevation. <br /> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
143 <span v-translate="{ name: 'OpenSteetMap' }" |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
144 >Some data © |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
145 <a href="https://www.openstreetmap.org/copyright">%{ name }</a> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
146 contributors. |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
147 </span> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
148 <br /> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
149 <span v-translate="{ geoLicense: 'CC-BY-4.0' }"> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
150 Uses |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
151 <a href="https://download.geonames.org/export/dump/readme.txt" |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
152 >GeoNames</a |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
153 > |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
154 under %{ geoLicense }. |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
155 </span> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
156 <translate>Generated PDFs use font: </translate> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
157 <a href="http://libertine-fonts.org">LinBiolinum</a> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
158 </div> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
159 </div> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
160 </div> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
161 </template> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
162 |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
163 <style lang="scss" scoped> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
164 .features { |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
165 max-height: 19rem; |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
166 overflow-y: auto; |
2372
20e4efa64320
client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2371
diff
changeset
|
167 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
|
168 .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
|
169 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
|
170 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
|
171 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
|
172 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
|
173 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
|
174 } |
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
|
175 } |
2372
20e4efa64320
client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2371
diff
changeset
|
176 &:nth-child(even) { |
20e4efa64320
client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2371
diff
changeset
|
177 background: #f8f8f8; |
20e4efa64320
client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2371
diff
changeset
|
178 } |
20e4efa64320
client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2371
diff
changeset
|
179 &:hover { |
20e4efa64320
client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2371
diff
changeset
|
180 background: #eeeeee; |
20e4efa64320
client: improved row colors in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2371
diff
changeset
|
181 } |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
182 } |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
183 } |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
184 |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
185 .versioninfo { |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
186 font-size: 60%; |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
187 white-space: normal; |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
188 } |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
189 </style> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
190 |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
191 <script> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
192 /* 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
|
193 * without warranty, see README.md and license for details. |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
194 * |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
195 * SPDX-License-Identifier: AGPL-3.0-or-later |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
196 * License-Filename: LICENSES/AGPL-3.0.txt |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
197 * |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
198 * Copyright (C) 2018, 2019 by via donau |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
199 * – Österreichische Wasserstraßen-Gesellschaft mbH |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
200 * Software engineering by Intevation GmbH |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
201 * |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
202 * Author(s): |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
203 * Thomas Junk <thomas.junk@intevation.de> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
204 * Bernhard E. Reiter <bernhard.reiter@intevation.de> |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
205 * Markus Kottländer <markus.kottlaender@intevation.de> |
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 import { mapState, mapGetters } from "vuex"; |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
208 import { formatter } from "./formatter"; |
2747
fb5deecb77f1
client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2743
diff
changeset
|
209 import { getCenter } from "ol/extent"; |
4265
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
210 import classifications from "../../lib/classifications"; |
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
211 import { styleFactory } from "@/components/map/styles"; |
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
212 |
4267
c5642480eb9b
styles: rename 'currency' to recency
Thomas Junk <thomas.junk@intevation.de>
parents:
4266
diff
changeset
|
213 const { |
4269
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
214 recencyColorCodes, |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
215 gmAvailabilityColorCodes, |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
216 forecastAccuracyColorCodes, |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
217 forecastVsRealityColorCodes |
4267
c5642480eb9b
styles: rename 'currency' to recency
Thomas Junk <thomas.junk@intevation.de>
parents:
4266
diff
changeset
|
218 } = styleFactory(); |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
219 |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
220 export default { |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
221 name: "identify", |
4291
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
222 data() { |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
223 return { |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
224 gaugeStatus: "" |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
225 }; |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
226 }, |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
227 computed: { |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
228 ...mapGetters("application", ["versionStr"]), |
4265
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
229 ...mapState("application", ["showIdentify", "userManualUrl", "config"]), |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
230 ...mapGetters("map", ["filteredIdentifiedFeatures"]), |
2754
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2747
diff
changeset
|
231 ...mapState("map", ["currentMeasurement"]), |
4291
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
232 ...mapState("gauges", ["gauges"]), |
2754
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2747
diff
changeset
|
233 identifiedLabel() { |
3187
5487abeb380c
client: identify: edited title of box header
Markus Kottlaender <markus@intevation.de>
parents:
3044
diff
changeset
|
234 return this.$gettext("Identified Features"); |
3509
0e91d40af23e
client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3399
diff
changeset
|
235 }, |
0e91d40af23e
client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3399
diff
changeset
|
236 usermanualFilename() { |
0e91d40af23e
client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3399
diff
changeset
|
237 return this.$gettext("User Manual"); |
4291
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
238 }, |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
239 gaugeStatusColor() { |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
240 return forecastVsRealityColorCodes[this.gaugeStatus]; |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
241 }, |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
242 gaugeStatusText() { |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
243 const nsc24 = this.config.gm_forecast_vs_reality_nsc_24h; |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
244 const nsc72 = this.config.gm_forecast_vs_reality_nsc_72h; |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
245 const messagesPerState = { |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
246 OK: this.$gettext("Nash-Sutcliffe") + `>${nsc24} /24h >${nsc72} / 72h`, |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
247 WARNING: this.$gettext("Nash-Sutcliffe") + ` < ${nsc72}`, |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
248 DANGER: this.$gettext("Nash-Sutcliffe") + ` < ${nsc24}`, |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
249 NEUTRAL: this.$gettext("Nash-Sutcliffe not available") |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
250 }; |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
251 return messagesPerState[this.gaugeStatus]; |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
252 } |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
253 }, |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
254 watch: { |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
255 filteredIdentifiedFeatures() { |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
256 const bottlecks = this.filteredIdentifiedFeatures.filter(f => |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
257 /bottleneck/.test(f.id_) |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
258 ); |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
259 if (bottlecks.length > 0) { |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
260 const gauge = this.gauges.find( |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
261 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
|
262 ); |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
263 const isrs = gauge.properties.isrs_code; |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
264 this.$store |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
265 .dispatch("gauges/getNashSutcliffeForISRS", isrs) |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
266 .then(response => { |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
267 this.gaugeStatus = classifications.calcForecastVsRealityForNSC( |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
268 response |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
269 ); |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
270 }); |
81ab34bd2d0d
Legend: Improve display of data availability
Thomas Junk <thomas.junk@intevation.de>
parents:
4279
diff
changeset
|
271 } |
2754
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2747
diff
changeset
|
272 } |
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 methods: { |
4269
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
275 gmAvailability(feature) { |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
276 const latestInHours = this.config.gm_latest_hours; |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
277 const measurementsIn14D = this.config.gm_min_values_14d; |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
278 const messagesPerState = { |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
279 OK: |
4270
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
280 this.$gettext("Avail: Last measurement <") + |
4269
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
281 ` ${latestInHours} (${measurementsIn14D} in 14d)`, |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
282 WARNING: |
4270
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
283 this.$gettext("Avail: Below treshold") + |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
284 `: ${measurementsIn14D} in 14d`, |
4269
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
285 DANGER: |
4270
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
286 this.$gettext("Avail: Latest measurement older than") + |
e4d6c6339cb4
identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents:
4269
diff
changeset
|
287 ` ${latestInHours} d` |
4269
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
288 }; |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
289 return messagesPerState[[classifications.gmAvailability(feature)]]; |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
290 }, |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
291 gmAvailabilityColor(feature) { |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
292 return gmAvailabilityColorCodes[classifications.gmAvailability(feature)]; |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
293 }, |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
294 forecastAccuracy(feature) { |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
295 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
|
296 const offset72 = this.config.gm_forecast_offset_72h; |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
297 const messagesPerState = { |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
298 OK: |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
299 this.$gettext("Highest confidence") + |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
300 ` <${offset24} cm/24h, <${offset72} cm/72h`, |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
301 WARNING: this.$gettext("Confidence per 72h") + ` > ${offset72} cm`, |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
302 DANGER: this.$gettext("Confidence per 24h") + ` > ${offset24} cm` |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
303 }; |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
304 return messagesPerState[[classifications.forecastAccuracy(feature)]]; |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
305 }, |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
306 forecastAccuracyColor(feature) { |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
307 return forecastAccuracyColorCodes[ |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
308 classifications.forecastAccuracy(feature) |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
309 ]; |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
310 }, |
4267
c5642480eb9b
styles: rename 'currency' to recency
Thomas Junk <thomas.junk@intevation.de>
parents:
4266
diff
changeset
|
311 recency(feature) { |
4265
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
312 const revisitingFactor = this.config.bn_revtime_multiplier; |
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
313 const messagesPerState = { |
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
314 OK: this.$gettext("Data within the revisiting time"), |
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
315 WARNING: |
4269
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
316 this.$gettext("Data within revisiting treshold") + |
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
317 ` (${revisitingFactor})`, |
4265
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
318 DANGER: |
4269
837f90680d4c
identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents:
4267
diff
changeset
|
319 this.$gettext("Data too old. Treshold:") + ` (${revisitingFactor})` |
4265
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
320 }; |
4279
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
321 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
|
322 }, |
4267
c5642480eb9b
styles: rename 'currency' to recency
Thomas Junk <thomas.junk@intevation.de>
parents:
4266
diff
changeset
|
323 recencyColor(feature) { |
4279
30f26bf7ff24
Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents:
4277
diff
changeset
|
324 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
|
325 }, |
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
326 showBottleneckMeta(feature) { |
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
327 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
|
328 return result; |
2596a028dc3a
Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents:
4258
diff
changeset
|
329 }, |
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
|
330 zoomTo(feature) { |
3044
c71373594719
client: map: prepared store to hold multiple map objects
Markus Kottlaender <markus@intevation.de>
parents:
3029
diff
changeset
|
331 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
|
332 coordinates: getCenter( |
fb5deecb77f1
client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2743
diff
changeset
|
333 feature |
fb5deecb77f1
client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2743
diff
changeset
|
334 .getGeometry() |
fb5deecb77f1
client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2743
diff
changeset
|
335 .clone() |
fb5deecb77f1
client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2743
diff
changeset
|
336 .transform("EPSG:3857", "EPSG:4326") |
fb5deecb77f1
client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2743
diff
changeset
|
337 .getExtent() |
fb5deecb77f1
client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2743
diff
changeset
|
338 ), |
fb5deecb77f1
client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2743
diff
changeset
|
339 zoom: 17, |
fb5deecb77f1
client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2743
diff
changeset
|
340 preventZoomOut: true |
2735
3c2ac140ad30
identify_tool: zoom to BBox PoC implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2534
diff
changeset
|
341 }); |
3c2ac140ad30
identify_tool: zoom to BBox PoC implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
2534
diff
changeset
|
342 }, |
2387
f185503ef35a
client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents:
2372
diff
changeset
|
343 close() { |
f185503ef35a
client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents:
2372
diff
changeset
|
344 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
|
345 }, |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
346 featureId(feature) { |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
347 // 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
|
348 let id = ""; |
81c2e561fe03
Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2857
diff
changeset
|
349 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
|
350 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
|
351 } |
81c2e561fe03
Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2857
diff
changeset
|
352 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
|
353 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
|
354 } |
81c2e561fe03
Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2857
diff
changeset
|
355 return id.replace(/[.][^.]*$/, ""); |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
356 }, |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
357 featureLabel(feature) { |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
358 if (formatter.hasOwnProperty(this.featureId(feature))) { |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
359 return formatter[this.featureId(feature)].label; |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
360 } |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
361 return this.featureId(feature); |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
362 }, |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
363 featureProps(feature) { |
2441
9de710bdb535
client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents:
2424
diff
changeset
|
364 let featureId = this.featureId(feature); |
9de710bdb535
client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents:
2424
diff
changeset
|
365 |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
366 // create array with {key, val} objects |
4224
bb66e144dece
client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents:
3509
diff
changeset
|
367 // skip geometry here, because it is slightly more robust |
bb66e144dece
client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents:
3509
diff
changeset
|
368 // 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
|
369 // to `feature` for doing so. |
bb66e144dece
client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents:
3509
diff
changeset
|
370 // 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
|
371 // 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
|
372 let skipList = [feature.getGeometryName()]; |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
373 let propsArray = []; |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
374 Object.keys(feature.getProperties()).forEach(key => { |
4224
bb66e144dece
client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents:
3509
diff
changeset
|
375 if (skipList.indexOf(key) === -1) { |
2423
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
376 let val = feature.getProperties()[key]; |
2405
ef928c63388a
client: handle json values in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
377 |
4224
bb66e144dece
client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents:
3509
diff
changeset
|
378 // if val is a valid json object string, |
bb66e144dece
client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents:
3509
diff
changeset
|
379 // spread its values into the array |
2423
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
380 let jsonObj = this.getObjectFromString(val); |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
381 if (jsonObj) { |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
382 Object.keys(jsonObj).forEach(key => { |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
383 propsArray.push({ key, val: jsonObj[key] }); |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
384 }); |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
385 } else { |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
386 // 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
|
387 propsArray.push({ key, val }); |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
388 } |
2405
ef928c63388a
client: handle json values in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
389 } |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
390 }); |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
391 |
4224
bb66e144dece
client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents:
3509
diff
changeset
|
392 // 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
|
393 propsArray = propsArray.map(formatter.all).filter(p => p); |
4224
bb66e144dece
client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents:
3509
diff
changeset
|
394 // run feature specific formatter |
2441
9de710bdb535
client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents:
2424
diff
changeset
|
395 if ( |
9de710bdb535
client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents:
2424
diff
changeset
|
396 formatter.hasOwnProperty(featureId) && |
9de710bdb535
client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents:
2424
diff
changeset
|
397 formatter[featureId].hasOwnProperty("props") |
9de710bdb535
client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents:
2424
diff
changeset
|
398 ) { |
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
|
399 propsArray = propsArray.map(formatter[featureId].props).filter(p => p); |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
400 } |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
401 // remove underscores in labels that where not previously changed already |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
402 propsArray = propsArray.map(prop => { |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
403 return { key: prop.key.replace(/_/g, " "), val: prop.val }; |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
404 }); |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
405 |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
406 return propsArray; |
2423
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
407 }, |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
408 getObjectFromString(val) { |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
409 // 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
|
410 // 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
|
411 // 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
|
412 if ( |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
413 Object.prototype.toString.call(val) === "[object String]" && |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
414 val[0] === "{" |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
415 ) { |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
416 try { |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
417 return JSON.parse(val); |
2424
b6deb03ef13f
client: fix linter error (empty block)
Markus Kottlaender <markus@intevation.de>
parents:
2423
diff
changeset
|
418 } catch (e) { |
b6deb03ef13f
client: fix linter error (empty block)
Markus Kottlaender <markus@intevation.de>
parents:
2423
diff
changeset
|
419 return null; |
b6deb03ef13f
client: fix linter error (empty block)
Markus Kottlaender <markus@intevation.de>
parents:
2423
diff
changeset
|
420 } |
2423
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
421 } |
3423cd4b3136
client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents:
2405
diff
changeset
|
422 return null; |
2371
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
423 } |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
424 } |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
425 }; |
045bac575294
client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
426 </script> |