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
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 >
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. &#x24D4; 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>