annotate client/src/components/staging/StagingDetail.vue @ 2164:0e2f4b059897

staging: agm diff visually adjusted
author Thomas Junk <thomas.junk@intevation.de>
date Fri, 08 Feb 2019 13:21:36 +0100
parents a08e0f532304
children 82dad8d808a7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1615
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
1 <template>
1650
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
2 <div :class="detail">
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
3 <div class="d-flex flex-row">
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
4 <div class="mt-auto d-flex flex-row mb-auto small name text-left">
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
5 <a
1891
80d3ac4328fe staging: fixed display of fd import
Thomas Junk <thomas.junk@intevation.de>
parents: 1650
diff changeset
6 v-if="isSoundingResult(data.kind.toUpperCase())"
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
7 class="text-left"
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
8 @click="zoomTo()"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
9 href="#"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
10 >{{ data.summary.bottleneck }}</a
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
11 >
1891
80d3ac4328fe staging: fixed display of fd import
Thomas Junk <thomas.junk@intevation.de>
parents: 1650
diff changeset
12 <span v-if="isBottleneck(data.kind.toUpperCase())" class="text-left"
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
13 ><translate>Bottlenecks</translate> ({{
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
14 data.summary.bottlenecks.length
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
15 }})</span
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
16 >
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
17 <a
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
18 v-if="isApprovedGaugeMeasurement(data.kind.toUpperCase())"
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
19 class="text-left"
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
20 ><translate>Approved Gauge Measurements</translate> ({{
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
21 data.summary.length
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
22 }})</a
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
23 >
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
24 <span
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
25 class="text-left"
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
26 v-if="isFairwayDimension(data.kind.toUpperCase())"
2028
a8d8e855cb26 staging. FD added source-organization and LOS as name for entry
Thomas Junk <thomas.junk@intevation.de>
parents: 1891
diff changeset
27 >{{ data.summary["source-organization"] }} (LOS:
a8d8e855cb26 staging. FD added source-organization and LOS as name for entry
Thomas Junk <thomas.junk@intevation.de>
parents: 1891
diff changeset
28 {{ data.summary.los }})</span
a8d8e855cb26 staging. FD added source-organization and LOS as name for entry
Thomas Junk <thomas.junk@intevation.de>
parents: 1891
diff changeset
29 >
2107
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
30 <a
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
31 href="#"
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
32 class="text-left"
2107
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
33 @click="zoomToStretch(data.summary.stretch)"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
34 v-if="isStretch(data.kind.toUpperCase())"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
35 >{{ data.summary.stretch }}</a
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
36 >
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
37 </div>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
38 <div class="mt-auto mb-auto small text-left type">
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
39 {{ data.kind.toUpperCase() }}
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
40 </div>
1891
80d3ac4328fe staging: fixed display of fd import
Thomas Junk <thomas.junk@intevation.de>
parents: 1650
diff changeset
41 <div v-if="data.summary" class="mt-auto mb-auto small text-left date">
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
42 {{ formatSurveyDate(data.summary.date) }}
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
43 </div>
1891
80d3ac4328fe staging: fixed display of fd import
Thomas Junk <thomas.junk@intevation.de>
parents: 1650
diff changeset
44 <div v-else class="mt-auto mb-auto small text-left date">-</div>
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
45 <div class="mt-auto mb-auto small text-left imported">
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
46 {{ formatSurveyDate(data.enqueued.split("T")[0]) }}
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
47 </div>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
48 <div class="mt-auto mb-auto small text-left username">
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
49 {{ data.user }}
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
50 </div>
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
51 <div class="controls d-flex flex-row justify-content-end">
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
52 <div>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
53 <button
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
54 :class="{
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
55 'ml-3': true,
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
56 'mr-3': true,
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
57 btn: true,
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
58 'btn-sm': true,
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
59 'btn-outline-success': needsApproval(data) || isRejected(data),
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
60 'btn-success': isApproved(data)
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
61 }"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
62 @click="toggleApproval(data.id, $options.STATES.APPROVED)"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
63 >
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
64 <font-awesome-icon icon="check"></font-awesome-icon>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
65 </button>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
66 </div>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
67 <div>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
68 <button
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
69 :class="{
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
70 'mr-3': true,
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
71 btn: true,
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
72 'btn-sm': true,
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
73 'btn-outline-danger': needsApproval(data) || isApproved(data),
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
74 'btn-danger': isRejected(data)
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
75 }"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
76 @click="toggleApproval(data.id, $options.STATES.REJECTED)"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
77 >
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
78 <font-awesome-icon icon="times" class="pointer"></font-awesome-icon>
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
79 </button>
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
80 </div>
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
81 <div v-if="isBottleneck(data.kind.toUpperCase())">
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
82 <div class="mt-auto mb-auto text-info text-left">
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
83 <font-awesome-icon
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
84 class="pointer"
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
85 @click="showDetails()"
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
86 v-if="show"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
87 icon="angle-up"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
88 fixed-width
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
89 ></font-awesome-icon>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
90 <font-awesome-icon
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
91 class="pointer"
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
92 @click="showDetails()"
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
93 v-if="loading"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
94 icon="spinner"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
95 fixed-width
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
96 ></font-awesome-icon>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
97 <font-awesome-icon
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
98 class="pointer"
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
99 v-if="!show && !loading"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
100 icon="angle-down"
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
101 fixed-width
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
102 ></font-awesome-icon>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
103 </div>
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
104 </div>
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
105 <div v-if="isApprovedGaugeMeasurement(data.kind.toUpperCase())">
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
106 <div
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
107 @click="showAGMDetails = !showAGMDetails"
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
108 class="mt-auto mb-auto text-info text-left"
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
109 >
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
110 <font-awesome-icon
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
111 class="pointer"
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
112 v-if="showAGMDetails"
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
113 icon="angle-up"
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
114 fixed-width
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
115 ></font-awesome-icon>
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
116 <font-awesome-icon
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
117 class="pointer"
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
118 v-if="!showAGMDetails"
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
119 icon="angle-down"
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
120 fixed-width
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
121 ></font-awesome-icon>
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
122 </div>
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
123 </div>
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
124 <div v-else class="empty"></div>
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
125 </div>
1621
eeddc5dcb80c staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents: 1620
diff changeset
126 </div>
2107
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
127 <div v-if="show && bottlenecks.length > 0">
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
128 <div
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
129 v-for="(bottleneck, index) in bottlenecks"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
130 :key="index"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
131 class="d-flex flex-row"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
132 >
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
133 <div class="d-flex flex-column">
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
134 <div class="d-flex flex-row">
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
135 <a @click="moveToBottleneck(index)" class="small" href="#">{{
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
136 bottleneck.properties.objnam
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
137 }}</a>
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
138 <div
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
139 @click="showBottleneckDetails = !showBottleneckDetails"
2107
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
140 class="small mt-auto mb-auto text-info text-left"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
141 >
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
142 <font-awesome-icon
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
143 class="pointer"
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
144 v-if="showBottleneckDetails"
2107
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
145 icon="angle-up"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
146 fixed-width
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
147 ></font-awesome-icon>
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
148 <font-awesome-icon
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
149 class="pointer"
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
150 v-if="!showBottleneckDetails"
2107
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
151 icon="angle-down"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
152 fixed-width
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
153 ></font-awesome-icon>
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
154 </div>
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
155 </div>
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
156
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
157 <div class="d-flex flex-row" v-if="showBottleneckDetails">
2107
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
158 <table>
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
159 <tr
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
160 v-for="(info, index) in Object.keys(bottleneck.properties)"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
161 :key="index"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
162 class="mr-1 small text-muted"
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
163 >
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
164 <td class="condensed text-left">{{ info }}</td>
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
165 <td class="condensed pl-3 text-left">
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
166 {{ bottleneck.properties[info] }}
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
167 </td>
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
168 </tr>
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
169 </table>
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
170 </div>
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
171 </div>
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
172 </div>
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
173 </div>
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
174 <div v-if="showAGMDetails">
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
175 <div class="pl-3 d-flex flex-row">
2164
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
176 <span class="condensed agmcode text-left"
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
177 ><small><translate>ISRS Code</translate></small></span
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
178 >
2164
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
179 <span class="condensed agmdetail text-left"
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
180 ><small><translate>Date of measurement</translate></small></span
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
181 >
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
182 </div>
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
183 <div v-for="(result, index) in data.summary" :key="index">
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
184 <div @click="toggleDiff(index)" class="pl-3 d-flex flex-row">
2164
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
185 <span
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
186 v-if="result.versions.length == 1"
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
187 class="condensed agmcode text-left"
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
188 ><small
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
189 >{{ result["fk-gauge-id"] }} <translate>( New )</translate></small
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
190 ></span
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
191 >
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
192 <span
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
193 v-if="result.versions.length == 2"
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
194 class="condensed agmcode text-left"
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
195 ><small>{{ result["fk-gauge-id"] }}</small></span
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
196 >
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
197 <span class="condensed agmdetail text-left"
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
198 ><small>{{ formatSurveyDate(result["measure-date"]) }}</small></span
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
199 >
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
200 <div
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
201 @click="showBottleneckDetails = !showBottleneckDetails"
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
202 class="small ml-auto mt-auto mb-auto text-info text-left"
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
203 >
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
204 <font-awesome-icon
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
205 class="pointer"
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
206 v-if="showDiff == index"
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
207 icon="angle-up"
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
208 fixed-width
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
209 ></font-awesome-icon>
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
210 <font-awesome-icon
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
211 class="pointer"
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
212 v-if="showDiff != index"
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
213 icon="angle-down"
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
214 fixed-width
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
215 ></font-awesome-icon>
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
216 </div>
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
217 </div>
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
218 <div v-if="showDiff == index" class="pl-3 d-flex flex-row">
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
219 <div>
2164
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
220 <div class="d-flex flex-row condensed pl-3 text-left">
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
221 <div class="header border-bottom agmdetailskeys">
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
222 <small><translate>Value</translate></small>
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
223 </div>
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
224 <div class="header border-bottom agmdetailsvalues">
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
225 <small><translate>Old</translate></small>
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
226 </div>
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
227 <div class="header border-bottom agmdetailsvalues">
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
228 <small><translate>New</translate></small>
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
229 </div>
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
230 </div>
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
231 <div
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
232 class="d-flex flex-row condensed pl-3 text-left"
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
233 v-for="(entry, index) in Object.keys(result.versions[0])"
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
234 :key="index"
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
235 >
2164
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
236 <div
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
237 v-if="
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
238 result.versions.length == 1 ||
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
239 result.versions[0][entry] != result.versions[1][entry]
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
240 "
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
241 class="agmdetailskeys"
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
242 >
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
243 <small>{{ entry }}</small>
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
244 </div>
2164
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
245 <div
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
246 v-if="
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
247 result.versions.length == 1 ||
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
248 result.versions[0][entry] != result.versions[1][entry]
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
249 "
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
250 class="agmdetailsvalues"
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
251 >
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
252 <small>{{ result.versions[0][entry] }}</small>
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
253 </div>
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
254 <div
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
255 v-if="
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
256 result.versions.length == 2 &&
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
257 result.versions[0][entry] != result.versions[1][entry]
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
258 "
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
259 class="agmdetailsvalues"
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
260 >
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
261 <small>{{ result.versions[1][entry] }}</small>
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
262 </div>
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
263 </div>
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
264 </div>
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
265 </div>
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
266 </div>
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
267 </div>
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
268 </div>
1615
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
269 </template>
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
270
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
271 <script>
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
272 /* This is Free Software under GNU Affero General Public License v >= 3.0
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
273 * without warranty, see README.md and license for details.
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
274 *
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
275 * SPDX-License-Identifier: AGPL-3.0-or-later
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
276 * License-Filename: LICENSES/AGPL-3.0.txt
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
277 *
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
278 * Copyright (C) 2018 by via donau
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
279 * – Österreichische Wasserstraßen-Gesellschaft mbH
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
280 * Software engineering by Intevation GmbH
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
281 *
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
282 * Author(s):
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
283 * Thomas Junk <thomas.junk@intevation.de>
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
284 */
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
285
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
286 import { formatSurveyDate } from "@/lib/date.js";
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
287 import { STATES } from "@/store/imports.js";
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
288 import { HTTP } from "@/lib/http";
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
289 import { WFS } from "ol/format.js";
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
290 import { or as orFilter, equalTo as equalToFilter } from "ol/format/filter.js";
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
291 import { displayError } from "@/lib/errors.js";
1650
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
292 import { mapState } from "vuex";
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2136
diff changeset
293 import { LAYERS } from "@/store/map.js";
1615
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
294
2164
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
295 const NO_DIFF = -1;
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
296
1615
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
297 export default {
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
298 name: "stagingdetail",
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
299 props: ["data"],
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
300 data() {
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
301 return {
2164
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
302 showDiff: NO_DIFF,
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
303 showAGMDetails: false,
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
304 showBottleneckDetails: false,
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
305 show: false,
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
306 loading: false,
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
307 bottlenecks: []
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
308 };
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
309 },
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
310 mounted() {
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
311 this.bottlenecks = [];
1650
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
312 if (this.open) this.showDetails();
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
313 },
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
314 computed: {
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
315 ...mapState("imports", ["importToReview"]),
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
316 open() {
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
317 return this.importToReview == this.data.id;
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
318 },
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
319 detail() {
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
320 return [
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
321 "pb-2",
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
322 "pt-2",
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
323 "d-flex",
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
324 "flex-column",
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
325 "w-100",
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
326 {
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
327 highlight: this.open && this.needsApproval(this.data)
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
328 }
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
329 ];
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
330 }
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
331 },
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
332 watch: {
2164
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
333 showAGMDetails() {
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
334 if (!this.showAGMDetails) this.showDiff = NO_DIFF;
0e2f4b059897 staging: agm diff visually adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
335 },
1650
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
336 open() {
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
337 const { review } = this.$route.query;
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
338 if (review) {
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
339 this.showDetails();
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
340 }
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
341 }
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
342 },
1615
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
343 methods: {
2154
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
344 toggleDiff(number) {
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
345 if (this.showDiff == -1) {
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
346 this.showDiff = number;
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
347 } else {
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
348 this.showDiff = -1;
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
349 }
a08e0f532304 staging: improve UI
Thomas Junk <thomas.junk@intevation.de>
parents: 2145
diff changeset
350 },
2107
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
351 zoomToStretch(name) {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2136
diff changeset
352 this.$store.commit("map/setLayerVisible", LAYERS.STRETCHES);
2107
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
353 this.$store
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
354 .dispatch("imports/loadStretch", name)
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
355 .then(response => {
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
356 if (response.data.features.length < 1)
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
357 throw new Error("no feaures found for: " + name);
2132
7a2eedc182f7 staging: zoomable stretches. zoomToExtent etd
Thomas Junk <thomas.junk@intevation.de>
parents: 2108
diff changeset
358 this.moveToExtent(response.data.features[0]);
2107
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
359 })
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
360 .catch(error => {
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
361 console.log(error);
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
362 const { status, data } = error.response;
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
363 displayError({
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
364 title: this.$gettext("Backend Error"),
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
365 message: `${status}: ${data.message || data}`
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
366 });
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
367 });
6747a4cf3639 staging: zoom to Stretch implemented
Thomas Junk <thomas.junk@intevation.de>
parents: 2104
diff changeset
368 },
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
369 showDetails() {
1650
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
370 if (this.data.kind.toUpperCase() !== "BN") return;
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
371 if (this.show) {
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
372 this.show = false;
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
373 return;
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
374 }
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
375 if (this.bottlenecks.length > 0) {
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
376 this.show = true;
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
377 return;
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
378 }
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
379 this.loading = true;
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
380 const generateFilter = () => {
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
381 const { bottlenecks } = this.data.summary;
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
382 if (bottlenecks.length === 1)
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
383 return equalToFilter("bottleneck_id", bottlenecks[0]);
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
384 const orExpressions = bottlenecks.map(x => {
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
385 equalToFilter("bottleneck_id", x);
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
386 });
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
387 return orFilter(...orExpressions);
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
388 };
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
389 const filterExpression = generateFilter();
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
390 const bottleneckFeatureCollectionRequest = new WFS().writeGetFeature({
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
391 srsName: "EPSG:4326",
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
392 featureNS: "gemma",
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
393 featurePrefix: "gemma",
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
394 featureTypes: ["bottlenecks"],
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
395 outputFormat: "application/json",
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
396 filter: filterExpression
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
397 });
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
398 HTTP.post(
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
399 "/internal/wfs",
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
400 new XMLSerializer().serializeToString(
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
401 bottleneckFeatureCollectionRequest
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
402 ),
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
403 {
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
404 headers: {
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
405 "X-Gemma-Auth": localStorage.getItem("token"),
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
406 "Content-type": "text/xml; charset=UTF-8"
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
407 }
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
408 }
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
409 )
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
410 .then(response => {
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
411 this.bottlenecks = response.data.features;
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
412 this.show = true;
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
413 this.loading = false;
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
414 })
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
415 .catch(error => {
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
416 const { status, data } = error.response;
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
417 displayError({
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
418 title: this.$gettext("Backend Error"),
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
419 message: `${status}: ${data.message || data}`
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
420 });
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
421 });
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
422 },
1891
80d3ac4328fe staging: fixed display of fd import
Thomas Junk <thomas.junk@intevation.de>
parents: 1650
diff changeset
423 isFairwayDimension(kind) {
80d3ac4328fe staging: fixed display of fd import
Thomas Junk <thomas.junk@intevation.de>
parents: 1650
diff changeset
424 return kind === "FD";
80d3ac4328fe staging: fixed display of fd import
Thomas Junk <thomas.junk@intevation.de>
parents: 1650
diff changeset
425 },
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
426 isApprovedGaugeMeasurement(kind) {
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
427 return kind === "AGM";
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
428 },
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
429 isBottleneck(kind) {
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
430 return kind === "BN";
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
431 },
2103
404eae390298 make default errorfree
Thomas Junk <thomas.junk@intevation.de>
parents: 2102
diff changeset
432 isStretch(kind) {
404eae390298 make default errorfree
Thomas Junk <thomas.junk@intevation.de>
parents: 2102
diff changeset
433 return kind === "ST";
404eae390298 make default errorfree
Thomas Junk <thomas.junk@intevation.de>
parents: 2102
diff changeset
434 },
1891
80d3ac4328fe staging: fixed display of fd import
Thomas Junk <thomas.junk@intevation.de>
parents: 1650
diff changeset
435 isSoundingResult(kind) {
80d3ac4328fe staging: fixed display of fd import
Thomas Junk <thomas.junk@intevation.de>
parents: 1650
diff changeset
436 return kind === "SR";
80d3ac4328fe staging: fixed display of fd import
Thomas Junk <thomas.junk@intevation.de>
parents: 1650
diff changeset
437 },
1615
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
438 formatSurveyDate(date) {
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
439 return formatSurveyDate(date);
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
440 },
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
441 needsApproval(item) {
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
442 return item.status === STATES.NEEDSAPPROVAL;
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
443 },
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
444 isRejected(item) {
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
445 return item.status === STATES.REJECTED;
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
446 },
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
447 isApproved(item) {
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
448 return item.status === STATES.APPROVED;
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
449 },
1633
f034371c5d11 refac: move to map in staging component resolves now via id
Thomas Junk <thomas.junk@intevation.de>
parents: 1625
diff changeset
450 moveToBottleneck(index) {
2140
55bedb39295a feat: clicking on stretches activates according layer
Thomas Junk <thomas.junk@intevation.de>
parents: 2136
diff changeset
451 this.$store.commit("map/setLayerVisible", LAYERS.BOTTLENECKS);
2136
3138d60dd1a6 moveToExtent substitutes moveMap where easy doable
Thomas Junk <thomas.junk@intevation.de>
parents: 2132
diff changeset
452 this.moveToExtent(this.bottlenecks[index]);
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
453 },
2132
7a2eedc182f7 staging: zoomable stretches. zoomToExtent etd
Thomas Junk <thomas.junk@intevation.de>
parents: 2108
diff changeset
454 moveToExtent(feature) {
2108
cac5d2fba591 bbox tool from turfjs added. zoomToExtent function added to map.js
Thomas Junk <thomas.junk@intevation.de>
parents: 2107
diff changeset
455 this.$store.commit("map/moveToExtent", {
2132
7a2eedc182f7 staging: zoomable stretches. zoomToExtent etd
Thomas Junk <thomas.junk@intevation.de>
parents: 2108
diff changeset
456 feature: feature,
2108
cac5d2fba591 bbox tool from turfjs added. zoomToExtent function added to map.js
Thomas Junk <thomas.junk@intevation.de>
parents: 2107
diff changeset
457 zoom: 17,
cac5d2fba591 bbox tool from turfjs added. zoomToExtent function added to map.js
Thomas Junk <thomas.junk@intevation.de>
parents: 2107
diff changeset
458 preventZoomOut: true
cac5d2fba591 bbox tool from turfjs added. zoomToExtent function added to map.js
Thomas Junk <thomas.junk@intevation.de>
parents: 2107
diff changeset
459 });
cac5d2fba591 bbox tool from turfjs added. zoomToExtent function added to map.js
Thomas Junk <thomas.junk@intevation.de>
parents: 2107
diff changeset
460 },
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
461 moveMap(coordinates) {
1615
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
462 this.$store.commit("map/moveMap", {
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
463 coordinates: coordinates,
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
464 zoom: 17,
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
465 preventZoomOut: true
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
466 });
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
467 },
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
468 zoomTo() {
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
469 const { lat, lon, bottleneck, date } = this.data.summary;
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
470 const coordinates = [lat, lon];
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
471 this.moveMap(coordinates);
1615
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
472 this.$store
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
473 .dispatch("bottlenecks/setSelectedBottleneck", bottleneck)
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
474 .then(() => {
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
475 this.$store.commit("bottlenecks/setSelectedSurveyByDate", date);
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
476 });
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
477 },
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
478 toggleApproval(id, newStatus) {
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
479 this.$store.commit("imports/toggleApproval", {
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
480 id: id,
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
481 newStatus: newStatus
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
482 });
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
483 }
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
484 },
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
485 STATES: STATES
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
486 };
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
487 </script>
95641748383f refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
488
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
489 <style lang="scss" scoped>
1650
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
490 .highlight {
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
491 background-color: #f9f9f9;
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
492 }
90211725e4a9 highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents: 1643
diff changeset
493
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
494 .condensed {
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
495 font-stretch: condensed;
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
496 }
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
497
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
498 .empty {
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
499 margin-right: 20px;
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
500 }
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
501
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
502 .name {
1625
de4e4dcb8f87 staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents: 1621
diff changeset
503 width: 180px;
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
504 }
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
505
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
506 .date {
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
507 width: 90px;
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
508 }
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
509
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
510 .type {
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
511 width: 40px;
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
512 }
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
513
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
514 .imported {
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
515 width: 90px;
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
516 }
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
517
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
518 .username {
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
519 width: 150px;
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
520 }
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
521
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
522 .controls {
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
523 width: 60px;
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
524 }
2145
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
525
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
526 .agmcode {
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
527 width: 200px;
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
528 }
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
529
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
530 .agmdate {
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
531 width: 100px;
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
532 }
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
533
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
534 .agmdetailskeys {
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
535 width: 130px;
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
536 }
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
537
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
538 .agmdetailsvalues {
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
539 width: 200px;
ba43b29e8694 agm: staging diff POC
Thomas Junk <thomas.junk@intevation.de>
parents: 2140
diff changeset
540 }
1620
2e4ec4251c57 refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents: 1615
diff changeset
541 </style>