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
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>
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
5f98d0c9d738 linted code
Markus Kottlaender <markus@intevation.de>
parents: 1143
diff changeset
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
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
110 return this.bottlenecks
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
111 .filter(bn => {
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
112 return bn.properties.name
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
113 .toLowerCase()
1204
ddfdf440da24 made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents: 1171
diff changeset
114 .includes(this.searchQuery.toLowerCase());
1101
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
115 })
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
116 .sort((bnA, bnB) => {
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
117 switch (this.sortColumn) {
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
118 case "name":
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
119 if (
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
120 bnA.properties.name.toLowerCase() <
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
121 bnB.properties.name.toLowerCase()
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
122 )
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
123 return this.sortDirection === "ASC" ? -1 : 1;
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
124 if (
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
125 bnA.properties.name.toLowerCase() >
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
126 bnB.properties.name.toLowerCase()
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
127 )
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
128 return this.sortDirection === "ASC" ? 1 : -1;
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
129 return 0;
1090
dbf0221b1cf1 bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents: 1087
diff changeset
130
1101
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
131 case "latestMeasurement": {
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
132 if (
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
133 (bnA.properties.current || "") < (bnB.properties.current || "")
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
134 )
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
135 return this.sortDirection === "ASC" ? -1 : 1;
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
136 if (
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
137 (bnA.properties.current || "") > (bnB.properties.current || "")
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
138 )
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
139 return this.sortDirection === "ASC" ? 1 : -1;
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
140 return 0;
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
141 }
1090
dbf0221b1cf1 bottleneck list uses different wfs endpoint now
Markus Kottlaender <markus@intevation.de>
parents: 1087
diff changeset
142
1101
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
143 case "chainage":
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
144 if (bnA.properties.from < bnB.properties.from)
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
145 return this.sortDirection === "ASC" ? -1 : 1;
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
146 if (bnA.properties.from > bnB.properties.from)
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
147 return this.sortDirection === "ASC" ? 1 : -1;
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
148 return 0;
1092
d47b69baacfa added chainage column to bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 1090
diff changeset
149
1101
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
150 default:
67e9355e7a58 fix lint errors
Markus Kottlaender <markus@intevation.de>
parents: 1092
diff changeset
151 return 0;
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 });
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>