Mercurial > gemma
annotate client/src/components/staging/StagingDetail.vue @ 1789:4a7aa3f57efe
importschedule: frontend for WW_Area and Fairwaydimensions
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Mon, 14 Jan 2019 10:33:20 +0100 |
parents | 90211725e4a9 |
children | 80d3ac4328fe |
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 |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
6 v-if="!isBottleneck(data.kind.toUpperCase())" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
7 @click="zoomTo()" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
8 href="#" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
9 >{{ 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
|
10 > |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
11 <span v-else class="text-left" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
12 ><translate>Bottlenecks</translate> ({{ |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
13 data.summary.bottlenecks.length |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
14 }})</span |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
15 > |
1621
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
16 </div> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
17 <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
|
18 {{ 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
|
19 </div> |
1621
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
20 <div class="mt-auto mb-auto small text-left date"> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
21 {{ formatSurveyDate(data.summary.date) }} |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
22 </div> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
23 <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
|
24 {{ formatSurveyDate(data.enqueued.split("T")[0]) }} |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
25 </div> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
26 <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
|
27 {{ data.user }} |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
28 </div> |
1621
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
29 <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
|
30 <div> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
31 <button |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
32 :class="{ |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
33 'ml-3': true, |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
34 'mr-3': true, |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
35 btn: true, |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
36 'btn-sm': true, |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
37 'btn-outline-success': needsApproval(data) || isRejected(data), |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
38 'btn-success': isApproved(data) |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
39 }" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
40 @click="toggleApproval(data.id, $options.STATES.APPROVED)" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
41 > |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
42 <font-awesome-icon icon="check"></font-awesome-icon> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
43 </button> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
44 </div> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
45 <div> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
46 <button |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
47 :class="{ |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
48 'mr-3': true, |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
49 btn: true, |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
50 'btn-sm': true, |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
51 'btn-outline-danger': needsApproval(data) || isApproved(data), |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
52 'btn-danger': isRejected(data) |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
53 }" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
54 @click="toggleApproval(data.id, $options.STATES.REJECTED)" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
55 > |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
56 <font-awesome-icon icon="times"></font-awesome-icon> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
57 </button> |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
58 </div> |
1621
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
59 <div v-if="isBottleneck(data.kind.toUpperCase())"> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
60 <div |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
61 @click="showDetails()" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
62 class="mt-auto mb-auto text-info text-left" |
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 |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
65 v-if="show" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
66 icon="angle-up" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
67 fixed-width |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
68 ></font-awesome-icon> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
69 <font-awesome-icon |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
70 v-if="loading" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
71 icon="spinner" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
72 fixed-width |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
73 ></font-awesome-icon> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
74 <font-awesome-icon |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
75 v-if="!show && !loading" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
76 icon="angle-down" |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
77 fixed-width |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
78 ></font-awesome-icon> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
79 </div> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
80 </div> |
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
81 <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
|
82 </div> |
1621
eeddc5dcb80c
staging now with details
Thomas Junk <thomas.junk@intevation.de>
parents:
1620
diff
changeset
|
83 </div> |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
84 <div |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
85 v-for="(bottleneck, index) in bottlenecks" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
86 :key="index" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
87 class="d-flex flex-row" |
1633
f034371c5d11
refac: move to map in staging component resolves now via id
Thomas Junk <thomas.junk@intevation.de>
parents:
1625
diff
changeset
|
88 v-if="show && bottlenecks.length > 0" |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
89 > |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
90 <div class="d-flex flex-column"> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
91 <div class="d-flex flex-row"> |
1633
f034371c5d11
refac: move to map in staging component resolves now via id
Thomas Junk <thomas.junk@intevation.de>
parents:
1625
diff
changeset
|
92 <a @click="moveToBottleneck(index)" class="small" href="#">{{ |
f034371c5d11
refac: move to map in staging component resolves now via id
Thomas Junk <thomas.junk@intevation.de>
parents:
1625
diff
changeset
|
93 bottleneck.properties.objnam |
f034371c5d11
refac: move to map in staging component resolves now via id
Thomas Junk <thomas.junk@intevation.de>
parents:
1625
diff
changeset
|
94 }}</a> |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
95 <div |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
96 @click="showFull = !showFull" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
97 class="small mt-auto mb-auto text-info text-left" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
98 > |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
99 <font-awesome-icon |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
100 v-if="showFull" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
101 icon="angle-up" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
102 fixed-width |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
103 ></font-awesome-icon> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
104 <font-awesome-icon |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
105 v-if="!showFull" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
106 icon="angle-down" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
107 fixed-width |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
108 ></font-awesome-icon> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
109 </div> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
110 </div> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
111 |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
112 <div class="d-flex flex-row" v-if="showFull"> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
113 <table> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
114 <tr |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
115 v-for="(info, index) in Object.keys(bottleneck.properties)" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
116 :key="index" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
117 class="mr-1 small text-muted" |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
118 > |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
119 <td class="condensed text-left">{{ info }}</td> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
120 <td class="condensed pl-3 text-left"> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
121 {{ bottleneck.properties[info] }} |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
122 </td> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
123 </tr> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
124 </table> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
125 </div> |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
126 </div> |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
127 </div> |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
128 </div> |
1615
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
129 </template> |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
130 |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
131 <script> |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
132 /* 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
|
133 * without warranty, see README.md and license for details. |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
134 * |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
135 * SPDX-License-Identifier: AGPL-3.0-or-later |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
136 * License-Filename: LICENSES/AGPL-3.0.txt |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
137 * |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
138 * Copyright (C) 2018 by via donau |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
139 * – Österreichische Wasserstraßen-Gesellschaft mbH |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
140 * Software engineering by Intevation GmbH |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
141 * |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
142 * Author(s): |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
143 * Thomas Junk <thomas.junk@intevation.de> |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
144 */ |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
145 |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
146 import { formatSurveyDate } from "@/lib/date.js"; |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
147 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
|
148 import { HTTP } from "@/lib/http"; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
149 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
|
150 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
|
151 import { displayError } from "@/lib/errors.js"; |
1650
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
152 import { mapState } from "vuex"; |
1643
1fde2f48977b
fix: calculate center to zoom to via turfjs
Thomas Junk <thomas.junk@intevation.de>
parents:
1633
diff
changeset
|
153 import center from "@turf/center"; |
1615
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
154 |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
155 export default { |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
156 name: "stagingdetail", |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
157 props: ["data"], |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
158 data() { |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
159 return { |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
160 showFull: false, |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
161 show: false, |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
162 loading: false, |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
163 bottlenecks: [] |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
164 }; |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
165 }, |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
166 mounted() { |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
167 this.bottlenecks = []; |
1650
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
168 if (this.open) this.showDetails(); |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
169 }, |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
170 computed: { |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
171 ...mapState("imports", ["importToReview"]), |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
172 open() { |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
173 return this.importToReview == this.data.id; |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
174 }, |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
175 detail() { |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
176 return [ |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
177 "pb-2", |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
178 "pt-2", |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
179 "d-flex", |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
180 "flex-column", |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
181 "w-100", |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
182 { |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
183 highlight: this.open && this.needsApproval(this.data) |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
184 } |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
185 ]; |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
186 } |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
187 }, |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
188 watch: { |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
189 open() { |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
190 const { review } = this.$route.query; |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
191 if (review) { |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
192 this.showDetails(); |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
193 } |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
194 } |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
195 }, |
1615
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
196 methods: { |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
197 showDetails() { |
1650
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
198 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
|
199 if (this.show) { |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
200 this.show = false; |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
201 return; |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
202 } |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
203 if (this.bottlenecks.length > 0) { |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
204 this.show = true; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
205 return; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
206 } |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
207 this.loading = true; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
208 const generateFilter = () => { |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
209 const { bottlenecks } = this.data.summary; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
210 if (bottlenecks.length === 1) |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
211 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
|
212 const orExpressions = bottlenecks.map(x => { |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
213 equalToFilter("bottleneck_id", x); |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
214 }); |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
215 return orFilter(...orExpressions); |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
216 }; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
217 const filterExpression = generateFilter(); |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
218 const bottleneckFeatureCollectionRequest = new WFS().writeGetFeature({ |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
219 srsName: "EPSG:4326", |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
220 featureNS: "gemma", |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
221 featurePrefix: "gemma", |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
222 featureTypes: ["bottlenecks"], |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
223 outputFormat: "application/json", |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
224 filter: filterExpression |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
225 }); |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
226 HTTP.post( |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
227 "/internal/wfs", |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
228 new XMLSerializer().serializeToString( |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
229 bottleneckFeatureCollectionRequest |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
230 ), |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
231 { |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
232 headers: { |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
233 "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
|
234 "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
|
235 } |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
236 } |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
237 ) |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
238 .then(response => { |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
239 this.bottlenecks = response.data.features; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
240 this.show = true; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
241 this.loading = false; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
242 }) |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
243 .catch(error => { |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
244 const { status, data } = error.response; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
245 displayError({ |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
246 title: this.$gettext("Backend Error"), |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
247 message: `${status}: ${data.message || data}` |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
248 }); |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
249 }); |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
250 }, |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
251 isBottleneck(kind) { |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
252 return kind === "BN"; |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
253 }, |
1615
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
254 formatSurveyDate(date) { |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
255 return formatSurveyDate(date); |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
256 }, |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
257 needsApproval(item) { |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
258 return item.status === STATES.NEEDSAPPROVAL; |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
259 }, |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
260 isRejected(item) { |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
261 return item.status === STATES.REJECTED; |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
262 }, |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
263 isApproved(item) { |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
264 return item.status === STATES.APPROVED; |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
265 }, |
1633
f034371c5d11
refac: move to map in staging component resolves now via id
Thomas Junk <thomas.junk@intevation.de>
parents:
1625
diff
changeset
|
266 moveToBottleneck(index) { |
1643
1fde2f48977b
fix: calculate center to zoom to via turfjs
Thomas Junk <thomas.junk@intevation.de>
parents:
1633
diff
changeset
|
267 const { coordinates } = center(this.bottlenecks[index]).geometry; |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
268 this.moveMap(coordinates); |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
269 }, |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
270 moveMap(coordinates) { |
1615
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
271 this.$store.commit("map/moveMap", { |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
272 coordinates: coordinates, |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
273 zoom: 17, |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
274 preventZoomOut: true |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
275 }); |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
276 }, |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
277 zoomTo() { |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
278 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
|
279 const coordinates = [lat, lon]; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
280 this.moveMap(coordinates); |
1615
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
281 this.$store |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
282 .dispatch("bottlenecks/setSelectedBottleneck", bottleneck) |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
283 .then(() => { |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
284 this.$store.commit("bottlenecks/setSelectedSurveyByDate", date); |
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 }, |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
287 toggleApproval(id, newStatus) { |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
288 this.$store.commit("imports/toggleApproval", { |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
289 id: id, |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
290 newStatus: newStatus |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
291 }); |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
292 } |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
293 }, |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
294 STATES: STATES |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
295 }; |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
296 </script> |
95641748383f
refac: extracted staging details view
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
297 |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
298 <style lang="scss" scoped> |
1650
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
299 .highlight { |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
300 background-color: #f9f9f9; |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
301 } |
90211725e4a9
highlighing feature for staging area
Thomas Junk <thomas.junk@intevation.de>
parents:
1643
diff
changeset
|
302 |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
303 .condensed { |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
304 font-stretch: condensed; |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
305 } |
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
306 |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
307 .empty { |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
308 margin-right: 20px; |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
309 } |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
310 |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
311 .name { |
1625
de4e4dcb8f87
staging area: implemented details and zoom to bbox
Thomas Junk <thomas.junk@intevation.de>
parents:
1621
diff
changeset
|
312 width: 180px; |
1620
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
313 } |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
314 |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
315 .date { |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
316 width: 90px; |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
317 } |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
318 |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
319 .type { |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
320 width: 40px; |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
321 } |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
322 |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
323 .imported { |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
324 width: 90px; |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
325 } |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
326 |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
327 .username { |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
328 width: 150px; |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
329 } |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
330 |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
331 .controls { |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
332 width: 60px; |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
333 } |
2e4ec4251c57
refac: staging rebuilt with divs instead tables to accomplish detailsview
Thomas Junk <thomas.junk@intevation.de>
parents:
1615
diff
changeset
|
334 </style> |