Mercurial > gemma
annotate client/src/bottlenecks/Bottlenecks.vue @ 1204:ddfdf440da24
made searchbar contextual
if bottlenecks are open search bar refers to that list
if imports are open search bar is hidden
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Mon, 19 Nov 2018 11:23:00 +0100 |
parents | d61be0d972d8 |
children | 70116d392387 |
rev | line source |
---|---|
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
1 <template> |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
2 <div :class="bottlenecksStyle"> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
3 <div @click="closeBottlenecks" class="ui-element close-bottlenecks"> |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
4 <i class="fa fa-close"></i> |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
5 </div> |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
6 |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
7 <h4>Bottlenecks</h4> |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
8 <hr class="mb-0"> |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
9 <div class="row p-2 text-left small"> |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
10 <div class="col-5"> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
11 <a href="#" @click="sortBy('name')" class="sort-link">Name</a> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
12 <i :class="sortClass" v-if="sortColumn === 'name'"></i> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
13 </div> |
1092
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
14 <div class="col-2"> |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
15 <a href="#" @click="sortBy('latestMeasurement')" class="sort-link">Latest Measurement</a> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
16 <i :class="sortClass" v-if="sortColumn === 'latestMeasurement'"></i> |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
17 </div> |
1092
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
18 <div class="col-3"> |
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
19 <a href="#" @click="sortBy('chainage')" class="sort-link">Chainage</a> |
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
20 <i :class="sortClass" v-if="sortColumn === 'chainage'"></i> |
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
21 </div> |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
22 <div class="col-2"></div> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
23 </div> |
1092
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
24 <div class="bottleneck-list small text-left"> |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
25 <div v-for="bottleneck in filteredAndSortedBottlenecks()" :key="bottleneck.properties.name" class="border-top row mx-0 py-2"> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
26 <div class="col-5 text-left"> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
27 <a href="#" class="d-block" @click="moveToBottleneck(bottleneck)"> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
28 {{ bottleneck.properties.name }} |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
29 </a> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
30 </div> |
1092
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
31 <div class="col-2"> |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
32 {{ displayCurrentSurvey(bottleneck.properties.current) }} |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
33 </div> |
1092
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
34 <div class="col-3"> |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
35 {{ displayCurrentChainage(bottleneck.properties.from, bottleneck.properties.from) }} |
1092
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
36 </div> |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
37 <div class="col-2 text-right"> |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
38 <button type="button" class="btn btn-sm btn-outline-secondary" @click="toggleBottleneck(bottleneck.properties.name)"> |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
39 <i class="fa fa-angle-down"></i> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
40 </button> |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
41 </div> |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
42 <div :class="['col-12', 'surveys', {open: openBottleneck === bottleneck.properties.name}]"> |
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
43 <a href="#" class="d-block p-2" v-for="(survey, index) in openBottleneckSurveys" :key="index" @click="selectSurvey(survey, bottleneck)"> |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
44 {{ survey.date_info }} |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
45 </a> |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
46 </div> |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
47 </div> |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
48 </div> |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
49 </div> |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
50 </template> |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
51 |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
52 <script> |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
53 /* |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
54 * This is Free Software under GNU Affero General Public License v >= 3.0 |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
55 * without warranty, see README.md and license for details. |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
56 * |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
57 * SPDX-License-Identifier: AGPL-3.0-or-later |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
58 * License-Filename: LICENSES/AGPL-3.0.txt |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
59 * |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
60 * Copyright (C) 2018 by via donau |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
61 * – Österreichische Wasserstraßen-Gesellschaft mbH |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
62 * Software engineering by Intevation GmbH |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
63 * |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
64 * Author(s): |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
65 * Markus Kottländer <markus.kottlaender@intevation.de> |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
66 */ |
1144 | 67 import { mapState } from "vuex"; |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
68 import { HTTP } from "../application/lib/http"; |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
69 import { displayError } from "../application/lib/errors.js"; |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
70 |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
71 export default { |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
72 name: "bottlenecks", |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
73 data() { |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
74 return { |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
75 sortColumn: "name", |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
76 sortDirection: "ASC", |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
77 openBottleneck: null, |
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
78 openBottleneckSurveys: null |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
79 }; |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
80 }, |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
81 computed: { |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
82 ...mapState("application", [ |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
83 "showBottlenecks", |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
84 "showSidebar", |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
85 "searchQuery" |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
86 ]), |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
87 ...mapState("bottlenecks", ["bottlenecks"]), |
1113
595654ad3f66
renamed mapstore to map (like other stores)
Markus Kottlaender <markus@intevation.de>
parents:
1111
diff
changeset
|
88 ...mapState("map", ["openLayersMap"]), |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
89 bottlenecksStyle() { |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
90 return [ |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
91 "ui-element shadow bottlenecks border-top", |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
92 { |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
93 bottleneckscollapsed: !this.showBottlenecks, |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
94 bottlenecksextended: this.showBottlenecks |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
95 } |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
96 ]; |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
97 }, |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
98 sortClass() { |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
99 return [ |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
100 "fa ml-1", |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
101 { |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
102 "fa-sort-amount-asc": this.sortDirection === "ASC", |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
103 "fa-sort-amount-desc": this.sortDirection === "DESC" |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
104 } |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
105 ]; |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
106 } |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
107 }, |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
108 methods: { |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
109 filteredAndSortedBottlenecks() { |
1101 | 110 return this.bottlenecks |
111 .filter(bn => { | |
112 return bn.properties.name | |
113 .toLowerCase() | |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
114 .includes(this.searchQuery.toLowerCase()); |
1101 | 115 }) |
116 .sort((bnA, bnB) => { | |
117 switch (this.sortColumn) { | |
118 case "name": | |
119 if ( | |
120 bnA.properties.name.toLowerCase() < | |
121 bnB.properties.name.toLowerCase() | |
122 ) | |
123 return this.sortDirection === "ASC" ? -1 : 1; | |
124 if ( | |
125 bnA.properties.name.toLowerCase() > | |
126 bnB.properties.name.toLowerCase() | |
127 ) | |
128 return this.sortDirection === "ASC" ? 1 : -1; | |
129 return 0; | |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
130 |
1101 | 131 case "latestMeasurement": { |
132 if ( | |
133 (bnA.properties.current || "") < (bnB.properties.current || "") | |
134 ) | |
135 return this.sortDirection === "ASC" ? -1 : 1; | |
136 if ( | |
137 (bnA.properties.current || "") > (bnB.properties.current || "") | |
138 ) | |
139 return this.sortDirection === "ASC" ? 1 : -1; | |
140 return 0; | |
141 } | |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
142 |
1101 | 143 case "chainage": |
144 if (bnA.properties.from < bnB.properties.from) | |
145 return this.sortDirection === "ASC" ? -1 : 1; | |
146 if (bnA.properties.from > bnB.properties.from) | |
147 return this.sortDirection === "ASC" ? 1 : -1; | |
148 return 0; | |
1092
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
149 |
1101 | 150 default: |
151 return 0; | |
152 } | |
153 }); | |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
154 }, |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
155 selectSurvey(survey, bottleneck) { |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1123
diff
changeset
|
156 this.$store.dispatch( |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1123
diff
changeset
|
157 "bottlenecks/setSelectedBottleneck", |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1123
diff
changeset
|
158 bottleneck.properties.name |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1123
diff
changeset
|
159 ); |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
160 this.$store.commit("bottlenecks/setSelectedSurvey", survey); |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
161 this.moveToBottleneck(bottleneck); |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
162 }, |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
163 moveToBottleneck(bottleneck) { |
1158
da75faa8043f
added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents:
1144
diff
changeset
|
164 this.$store.commit("map/moveMap", { |
da75faa8043f
added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents:
1144
diff
changeset
|
165 coordinates: bottleneck.geometry.coordinates, |
da75faa8043f
added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents:
1144
diff
changeset
|
166 zoom: 17, |
da75faa8043f
added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents:
1144
diff
changeset
|
167 preventZoomOut: true |
da75faa8043f
added central moveMap method to pan and zoom the map on certain events
Markus Kottlaender <markus@intevation.de>
parents:
1144
diff
changeset
|
168 }); |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
169 }, |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
170 sortBy(column) { |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
171 this.sortColumn = column; |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
172 this.sortDirection = this.sortDirection === "ASC" ? "DESC" : "ASC"; |
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
173 }, |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
174 toggleBottleneck(name) { |
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
175 this.openBottleneckSurveys = null; |
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
176 if (name === this.openBottleneck) { |
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
177 this.openBottleneck = null; |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
178 } else { |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
179 this.openBottleneck = name; |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1123
diff
changeset
|
180 |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
181 HTTP.get("/surveys/" + name, { |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
182 headers: { |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
183 "X-Gemma-Auth": localStorage.getItem("token"), |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
184 "Content-type": "text/xml; charset=UTF-8" |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
185 } |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
186 }) |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
187 .then(response => { |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
188 this.openBottleneckSurveys = response.data.surveys; |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
189 }) |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
190 .catch(error => { |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
191 const { status, data } = error.response; |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
192 displayError({ |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
193 title: "Backend Error", |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
194 message: `${status}: ${data.message || data}` |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
195 }); |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
196 }); |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
197 } |
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
198 }, |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
199 closeBottlenecks() { |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
200 this.$store.commit("application/showBottlenecks", false); |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
201 this.$store.commit("application/showSearchbar", false); |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
202 }, |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
203 displayCurrentSurvey(current) { |
1090
dbf0221b1cf1
bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents:
1087
diff
changeset
|
204 return current ? current.substr(0, current.length - 1) : ""; |
1092
d47b69baacfa
added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents:
1090
diff
changeset
|
205 }, |
1111
f106aee673e7
selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents:
1101
diff
changeset
|
206 displayCurrentChainage(from, to) { |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1123
diff
changeset
|
207 return from / 10 + " - " + to / 10; |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
208 } |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
209 }, |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
210 mounted() { |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
211 this.$store.dispatch("bottlenecks/loadBottlenecks"); |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
212 } |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
213 }; |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
214 </script> |
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
215 |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
216 <style lang="sass" scoped> |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
217 .bottlenecks |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
218 position: relative |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
219 background-color: #ffffff |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
220 padding-top: $offset |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
221 opacity: $slight-transparent |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
222 border-bottom-left-radius: $border-radius |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1171
diff
changeset
|
223 border-bottom-right-radius: $border-radius |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
224 transition: left 0.3s ease |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
225 overflow: hidden |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
226 background: #fff |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
227 margin-left: $offset |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
228 |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
229 .bottleneckscollapsed |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
230 width: 0 |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
231 height: 0 |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
232 transition: $transition-fast |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
233 |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
234 .bottlenecksextended |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
235 min-width: 600px |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
236 |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
237 .close-bottlenecks |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
238 position: absolute |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
239 z-index: 2 |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
240 right: 0 |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
241 top: 7px |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
242 border-radius: $border-radius |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
243 height: $icon-width |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
244 width: $icon-height |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
245 display: none |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
246 |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
247 .bottlenecksextended .close-bottlenecks |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
248 display: block |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
249 |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
250 .bottleneck-list |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
251 overflow-y: auto |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
252 max-height: 500px |
1080
264d328f9ebb
made bottleneck list scrollable
Markus Kottlaender <markus@intevation.de>
parents:
1079
diff
changeset
|
253 |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
254 .surveys |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
255 max-height: 0 |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
256 overflow: hidden |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
257 transition: max-height 0.3s ease |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
258 |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
259 .surveys.open |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
260 max-height: 999px |
1077
c58608084c11
finished bottleneck list (search, sort, sounding data)
Markus Kottlaender <markus@intevation.de>
parents:
1060
diff
changeset
|
261 |
1171
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
262 .sort-link |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
263 color: #444 |
d61be0d972d8
fixed searchbar overlapping issue
Markus Kottlaender <markus@intevation.de>
parents:
1158
diff
changeset
|
264 font-weight: bold |
1055
1ff8c072df18
WIP: Bottleneck list/table
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
265 </style> |