annotate client/src/components/identify/Identify.vue @ 4279:30f26bf7ff24

Reordering of elements In order to improve user experience the configuration of avail, forceast vs. real and accuracy was changed in such a way, that it now mirrors the optics of the displayed triangle. The order in the identify tool was changed accordingly 1) avail 2) forcast vs. real 3) accuracy "Currency" was cleaned up to "recency"
author Thomas Junk <thomas.junk@intevation.de>
date Thu, 29 Aug 2019 15:04:02 +0200
parents 12398df5f414
children 81ab34bd2d0d
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="{
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
80 color: forecastVsRealityColor(feature),
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">
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
85 {{ forecastVsReality(feature) }}
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",
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
222 computed: {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
223 ...mapGetters("application", ["versionStr"]),
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
224 ...mapState("application", ["showIdentify", "userManualUrl", "config"]),
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
225 ...mapGetters("map", ["filteredIdentifiedFeatures"]),
2754
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
226 ...mapState("map", ["currentMeasurement"]),
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
227 identifiedLabel() {
3187
5487abeb380c client: identify: edited title of box header
Markus Kottlaender <markus@intevation.de>
parents: 3044
diff changeset
228 return this.$gettext("Identified Features");
3509
0e91d40af23e client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3399
diff changeset
229 },
0e91d40af23e client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3399
diff changeset
230 usermanualFilename() {
0e91d40af23e client: fix User manual filename
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3399
diff changeset
231 return this.$gettext("User Manual");
2754
d0f6c222f4f9 client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2747
diff changeset
232 }
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
233 },
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
234 methods: {
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
235 gmAvailability(feature) {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
236 const latestInHours = this.config.gm_latest_hours;
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
237 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
238 const messagesPerState = {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
239 OK:
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
240 this.$gettext("Avail: Last measurement <") +
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
241 ` ${latestInHours} (${measurementsIn14D} in 14d)`,
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
242 WARNING:
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
243 this.$gettext("Avail: Below treshold") +
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
244 `: ${measurementsIn14D} in 14d`,
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
245 DANGER:
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
246 this.$gettext("Avail: Latest measurement older than") +
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
247 ` ${latestInHours} d`
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
248 };
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
249 return messagesPerState[[classifications.gmAvailability(feature)]];
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
250 },
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
251 gmAvailabilityColor(feature) {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
252 return gmAvailabilityColorCodes[classifications.gmAvailability(feature)];
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
253 },
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
254 forecastAccuracy(feature) {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
255 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
256 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
257 const messagesPerState = {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
258 OK:
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
259 this.$gettext("Highest confidence") +
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
260 ` <${offset24} cm/24h, <${offset72} cm/72h`,
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
261 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
262 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
263 };
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
264 return messagesPerState[[classifications.forecastAccuracy(feature)]];
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
265 },
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
266 forecastAccuracyColor(feature) {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
267 return forecastAccuracyColorCodes[
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
268 classifications.forecastAccuracy(feature)
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
269 ];
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
270 },
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
271 forecastVsReality(feature) {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
272 const nsc24 = this.config.gm_forecast_vs_reality_nsc_24h;
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
273 const nsc72 = this.config.gm_forecast_vs_reality_nsc_72h;
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
274 const messagesPerState = {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
275 OK: this.$gettext("Nash-Sutcliffe") + `>${nsc24} /24h >${nsc72} / 72h`,
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
276 WARNING: this.$gettext("Nash-Sutcliffe") + ` < ${nsc72}`,
4270
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
277 DANGER: this.$gettext("Nash-Sutcliffe") + ` < ${nsc24}`,
e4d6c6339cb4 identify_tool: accuracy legend improved
Thomas Junk <thomas.junk@intevation.de>
parents: 4269
diff changeset
278 NEUTRAL: this.$gettext("Nash-Sutcliffe not available")
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
279 };
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
280 return messagesPerState[[classifications.forecastVsReality(feature)]];
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
281 },
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
282 forecastVsRealityColor(feature) {
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
283 return forecastVsRealityColorCodes[
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
284 classifications.forecastVsReality(feature)
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
285 ];
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
286 },
4267
c5642480eb9b styles: rename 'currency' to recency
Thomas Junk <thomas.junk@intevation.de>
parents: 4266
diff changeset
287 recency(feature) {
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
288 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
289 const messagesPerState = {
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
290 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
291 WARNING:
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
292 this.$gettext("Data within revisiting treshold") +
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
293 ` (${revisitingFactor})`,
4265
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
294 DANGER:
4269
837f90680d4c identify: complete helper methods for legend
Thomas Junk <thomas.junk@intevation.de>
parents: 4267
diff changeset
295 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
296 };
4279
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
297 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
298 },
4267
c5642480eb9b styles: rename 'currency' to recency
Thomas Junk <thomas.junk@intevation.de>
parents: 4266
diff changeset
299 recencyColor(feature) {
4279
30f26bf7ff24 Reordering of elements
Thomas Junk <thomas.junk@intevation.de>
parents: 4277
diff changeset
300 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
301 },
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
302 showBottleneckMeta(feature) {
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
303 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
304 return result;
2596a028dc3a Feature_info: display partial legend information for bottlenecks
Thomas Junk <thomas.junk@intevation.de>
parents: 4258
diff changeset
305 },
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
306 zoomTo(feature) {
3044
c71373594719 client: map: prepared store to hold multiple map objects
Markus Kottlaender <markus@intevation.de>
parents: 3029
diff changeset
307 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
308 coordinates: getCenter(
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
309 feature
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
310 .getGeometry()
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
311 .clone()
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
312 .transform("EPSG:3857", "EPSG:4326")
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
313 .getExtent()
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
314 ),
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
315 zoom: 17,
fb5deecb77f1 client:identified box: implement the bbox zoom button
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2743
diff changeset
316 preventZoomOut: true
2735
3c2ac140ad30 identify_tool: zoom to BBox PoC implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2534
diff changeset
317 });
3c2ac140ad30 identify_tool: zoom to BBox PoC implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2534
diff changeset
318 },
2387
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2372
diff changeset
319 close() {
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2372
diff changeset
320 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
321 },
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
322 featureId(feature) {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
323 // 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
324 let id = "";
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
325 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
326 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
327 }
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
328 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
329 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
330 }
81c2e561fe03 Use distance marks an axis via WMS. Added legend and featureinfo.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2857
diff changeset
331 return id.replace(/[.][^.]*$/, "");
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
332 },
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
333 featureLabel(feature) {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
334 if (formatter.hasOwnProperty(this.featureId(feature))) {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
335 return formatter[this.featureId(feature)].label;
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
336 }
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
337 return this.featureId(feature);
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
338 },
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
339 featureProps(feature) {
2441
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
340 let featureId = this.featureId(feature);
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
341
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
342 // create array with {key, val} objects
4224
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
343 // skip geometry here, because it is slightly more robust
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
344 // 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
345 // to `feature` for doing so.
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
346 // 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
347 // 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
348 let skipList = [feature.getGeometryName()];
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
349 let propsArray = [];
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
350 Object.keys(feature.getProperties()).forEach(key => {
4224
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
351 if (skipList.indexOf(key) === -1) {
2423
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
352 let val = feature.getProperties()[key];
2405
ef928c63388a client: handle json values in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2387
diff changeset
353
4224
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
354 // if val is a valid json object string,
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
355 // spread its values into the array
2423
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
356 let jsonObj = this.getObjectFromString(val);
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
357 if (jsonObj) {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
358 Object.keys(jsonObj).forEach(key => {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
359 propsArray.push({ key, val: jsonObj[key] });
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
360 });
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
361 } else {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
362 // 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
363 propsArray.push({ key, val });
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
364 }
2405
ef928c63388a client: handle json values in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2387
diff changeset
365 }
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
366 });
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
367
4224
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
368 // 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
369 propsArray = propsArray.map(formatter.all).filter(p => p);
4224
bb66e144dece client: fix identify for bottlenecks
Bernhard Reiter <bernhard@intevation.de>
parents: 3509
diff changeset
370 // run feature specific formatter
2441
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
371 if (
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
372 formatter.hasOwnProperty(featureId) &&
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
373 formatter[featureId].hasOwnProperty("props")
9de710bdb535 client: improved identify box formatter
Markus Kottlaender <markus@intevation.de>
parents: 2424
diff changeset
374 ) {
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
375 propsArray = propsArray.map(formatter[featureId].props).filter(p => p);
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
376 }
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
377 // remove underscores in labels that where not previously changed already
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
378 propsArray = propsArray.map(prop => {
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
379 return { key: prop.key.replace(/_/g, " "), val: prop.val };
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
380 });
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
381
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
382 return propsArray;
2423
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
383 },
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
384 getObjectFromString(val) {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
385 // 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
386 // 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
387 // 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
388 if (
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
389 Object.prototype.toString.call(val) === "[object String]" &&
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
390 val[0] === "{"
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
391 ) {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
392 try {
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
393 return JSON.parse(val);
2424
b6deb03ef13f client: fix linter error (empty block)
Markus Kottlaender <markus@intevation.de>
parents: 2423
diff changeset
394 } catch (e) {
b6deb03ef13f client: fix linter error (empty block)
Markus Kottlaender <markus@intevation.de>
parents: 2423
diff changeset
395 return null;
b6deb03ef13f client: fix linter error (empty block)
Markus Kottlaender <markus@intevation.de>
parents: 2423
diff changeset
396 }
2423
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
397 }
3423cd4b3136 client: fix json parsing in identify box
Markus Kottlaender <markus@intevation.de>
parents: 2405
diff changeset
398 return null;
2371
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
399 }
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 };
045bac575294 client: fixed broken previous commit
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
402 </script>