annotate client/src/bottlenecks/Bottlenecks.vue @ 1213:9d93968db2cd

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