annotate client/src/components/Bottlenecks.vue @ 5443:4046432ccc9d marking-single-beam

Backout Bottleneckoverview: Put selector for older scans into date column
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 13 Jul 2021 18:30:07 +0200
parents 7d7b1bf53189
children 2ad3a29e0e14
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
1 <template>
1350
58d41573e530 staging: now with real data from backend
Thomas Junk <thomas.junk@intevation.de>
parents: 1299
diff changeset
2 <div>
2387
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2154
diff changeset
3 <UIBoxHeader
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2154
diff changeset
4 icon="ship"
2760
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2739
diff changeset
5 :title="bottlenecksLabel"
2387
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2154
diff changeset
6 :closeCallback="$parent.close"
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2154
diff changeset
7 />
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
8 <UITableHeader
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
9 :columns="[
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
10 { id: 'properties.name', title: `${nameLabel}`, width: '230px' },
2871
2cdf43c84a8c client: aligned width of searchbar and content box
Markus Kottlaender <markus@intevation.de>
parents: 2779
diff changeset
11 {
2cdf43c84a8c client: aligned width of searchbar and content box
Markus Kottlaender <markus@intevation.de>
parents: 2779
diff changeset
12 id: 'properties.responsible_country',
2cdf43c84a8c client: aligned width of searchbar and content box
Markus Kottlaender <markus@intevation.de>
parents: 2779
diff changeset
13 title: `${countryLabel}`,
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
14 width: '100px'
2871
2cdf43c84a8c client: aligned width of searchbar and content box
Markus Kottlaender <markus@intevation.de>
parents: 2779
diff changeset
15 },
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
16 {
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
17 id: 'properties.current',
2779
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2760
diff changeset
18 title: `${latestmeasurementLabel}`,
2871
2cdf43c84a8c client: aligned width of searchbar and content box
Markus Kottlaender <markus@intevation.de>
parents: 2779
diff changeset
19 width: '150px'
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
20 },
2948
f6cd4ebd8562 client: importoverview: improved heights and scrolling
Markus Kottlaender <markus@intevation.de>
parents: 2902
diff changeset
21 { id: 'properties.from', title: `${chainageLabel}`, width: '135px' }
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
22 ]"
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
23 />
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
24 <UITableBody
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
25 :data="filteredBottlenecks() | sortTable(sortColumn, sortDirection)"
3182
77fc44ad05e3 client: removed old splitscreen code
Markus Kottlaender <markus@intevation.de>
parents: 3054
diff changeset
26 maxHeight="35rem"
2880
c40540889b53 client: code cleanup, slight style improvements
Markus Kottlaender <markus@intevation.de>
parents: 2874
diff changeset
27 :isActive="item => item === this.openBottleneck"
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
28 >
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
29 <template v-slot:row="{ item: bottleneck }">
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
30 <div class="table-cell truncate text-left" style="width: 230px">
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
31 <a href="#" @click="selectBottleneck(bottleneck)">{{
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
32 bottleneck.properties.name
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
33 }}</a>
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
34 </div>
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
35 <div class="table-cell text-center" style="width: 100px">
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
36 {{ bottleneck.properties.responsible_country }}
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
37 </div>
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
38 <div class="table-cell" style="width: 150px">
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
39 {{ bottleneck.properties.current | surveyDate }}
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
40 </div>
2948
f6cd4ebd8562 client: importoverview: improved heights and scrolling
Markus Kottlaender <markus@intevation.de>
parents: 2902
diff changeset
41 <div class="table-cell" style="width: 135px">
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
42 {{
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
43 displayCurrentChainage(
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
44 bottleneck.properties.from,
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
45 bottleneck.properties.to
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
46 )
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
47 }}
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
48 </div>
5443
4046432ccc9d Backout Bottleneckoverview: Put selector for older scans into date column
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5441
diff changeset
49 <div class="table-cell center" style="flex-grow: 1">
4046432ccc9d Backout Bottleneckoverview: Put selector for older scans into date column
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5441
diff changeset
50 <UISpinnerButton
4046432ccc9d Backout Bottleneckoverview: Put selector for older scans into date column
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5441
diff changeset
51 @click="loadSurveys(bottleneck)"
4046432ccc9d Backout Bottleneckoverview: Put selector for older scans into date column
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5441
diff changeset
52 :loading="loading === bottleneck"
4046432ccc9d Backout Bottleneckoverview: Put selector for older scans into date column
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5441
diff changeset
53 :state="bottleneck === openBottleneck"
4046432ccc9d Backout Bottleneckoverview: Put selector for older scans into date column
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5441
diff changeset
54 v-if="bottleneck.properties.current"
4046432ccc9d Backout Bottleneckoverview: Put selector for older scans into date column
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5441
diff changeset
55 />
4046432ccc9d Backout Bottleneckoverview: Put selector for older scans into date column
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5441
diff changeset
56 </div>
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
57 </template>
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
58 <template v-slot:expand="{ item: bottleneck }">
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
59 <a
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
60 href="#"
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
61 class="d-inline-block px-3 py-2"
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
62 v-for="(survey, index) in openBottleneckSurveys"
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
63 :key="index"
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
64 @click="selectSurvey(survey, bottleneck)"
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1418
diff changeset
65 >
2541
468c8dc796cf client: convert lib helper functions to Vue filters
Markus Kottlaender <markus@intevation.de>
parents: 2462
diff changeset
66 {{ survey.date_info | surveyDate }}
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
67 </a>
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
68 </template>
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
69 </UITableBody>
1350
58d41573e530 staging: now with real data from backend
Thomas Junk <thomas.junk@intevation.de>
parents: 1299
diff changeset
70 </div>
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
71 </template>
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
72
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
73 <script>
1362
ca33ad696594 remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
74 /* This is Free Software under GNU Affero General Public License v >= 3.0
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
75 * without warranty, see README.md and license for details.
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
76 *
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
77 * SPDX-License-Identifier: AGPL-3.0-or-later
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
78 * License-Filename: LICENSES/AGPL-3.0.txt
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
79 *
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
80 * Copyright (C) 2018 by via donau
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
81 * – Österreichische Wasserstraßen-Gesellschaft mbH
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
82 * Software engineering by Intevation GmbH
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
83 *
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
84 * Author(s):
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
85 * Markus Kottländer <markus.kottlaender@intevation.de>
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
86 */
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
87 import { mapState } from "vuex";
1613
f2d24dceecc7 refac: cleanup import paths
Thomas Junk <thomas.junk@intevation.de>
parents: 1560
diff changeset
88 import { HTTP } from "@/lib/http";
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
89 import { displayError } from "@/lib/errors";
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
90 import { sortTable } from "@/lib/mixins";
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
91
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
92 export default {
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
93 name: "bottlenecks",
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
94 mixins: [sortTable],
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
95 data() {
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
96 return {
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
97 sortColumn: "properties.name",
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
98 openBottleneck: null,
1415
d4fc5f3c1252 improved style of bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 1403
diff changeset
99 openBottleneckSurveys: null,
d4fc5f3c1252 improved style of bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 1403
diff changeset
100 loading: null
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
101 };
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
102 },
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
103 computed: {
3182
77fc44ad05e3 client: removed old splitscreen code
Markus Kottlaender <markus@intevation.de>
parents: 3054
diff changeset
104 ...mapState("application", ["searchQuery", "showSearchbarLastState"]),
2436
64ff5984351e client: renamed store property
Markus Kottlaender <markus@intevation.de>
parents: 2435
diff changeset
105 ...mapState("bottlenecks", ["bottlenecksList"]),
2760
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2739
diff changeset
106 bottlenecksLabel() {
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2739
diff changeset
107 return this.$gettext("Bottlenecks");
c6fba10926cc client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2739
diff changeset
108 },
2871
2cdf43c84a8c client: aligned width of searchbar and content box
Markus Kottlaender <markus@intevation.de>
parents: 2779
diff changeset
109 countryLabel() {
2cdf43c84a8c client: aligned width of searchbar and content box
Markus Kottlaender <markus@intevation.de>
parents: 2779
diff changeset
110 return this.$gettext("Country");
2cdf43c84a8c client: aligned width of searchbar and content box
Markus Kottlaender <markus@intevation.de>
parents: 2779
diff changeset
111 },
2779
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2760
diff changeset
112 nameLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2760
diff changeset
113 return this.$gettext("Name");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2760
diff changeset
114 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2760
diff changeset
115 latestmeasurementLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2760
diff changeset
116 return this.$gettext("Latest Measurement");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2760
diff changeset
117 },
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2760
diff changeset
118 chainageLabel() {
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2760
diff changeset
119 return this.$gettext("Chainage");
21eb85cdfe45 Client: improve a set of strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2760
diff changeset
120 },
1299
2738a6ae9ad8 fontawesome 4 -> 5
Markus Kottlaender <markus@intevation.de>
parents: 1282
diff changeset
121 sortIcon() {
2738a6ae9ad8 fontawesome 4 -> 5
Markus Kottlaender <markus@intevation.de>
parents: 1282
diff changeset
122 return this.sortDirection === "ASC"
2738a6ae9ad8 fontawesome 4 -> 5
Markus Kottlaender <markus@intevation.de>
parents: 1282
diff changeset
123 ? "sort-amount-down"
2738a6ae9ad8 fontawesome 4 -> 5
Markus Kottlaender <markus@intevation.de>
parents: 1282
diff changeset
124 : "sort-amount-up";
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
125 }
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
126 },
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
127 methods: {
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
128 filteredBottlenecks() {
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
129 return this.bottlenecksList.filter(bn => {
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
130 return bn.properties.name
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
131 .toLowerCase()
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
132 .includes(this.searchQuery.toLowerCase());
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2541
diff changeset
133 });
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
134 },
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
135 selectSurvey(survey, bottleneck) {
1516
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
136 this.$store
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
137 .dispatch(
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
138 "bottlenecks/setSelectedBottleneck",
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
139 bottleneck.properties.name
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
140 )
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
141 .then(() => {
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
142 this.$store.commit("bottlenecks/selectedSurvey", survey);
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
143 })
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
144 .then(() => {
3054
1ef2f4179d30 client: map store: merged/renamed method(s)
Markus Kottlaender <markus@intevation.de>
parents: 3044
diff changeset
145 this.$store.dispatch("map/moveToFeauture", {
2136
3138d60dd1a6 moveToExtent substitutes moveMap where easy doable
Thomas Junk <thomas.junk@intevation.de>
parents: 1613
diff changeset
146 feature: bottleneck,
3873
d62de00e4c28 client: fixed zooming to bottlenecks from mapPopup or bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 3204
diff changeset
147 zoom: 16,
1516
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
148 preventZoomOut: true
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
149 });
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
150 });
1417
bd9253eec499 select bottleneck when clicked in bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 1415
diff changeset
151 },
bd9253eec499 select bottleneck when clicked in bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 1415
diff changeset
152 selectBottleneck(bottleneck) {
1516
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
153 this.$store
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
154 .dispatch(
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
155 "bottlenecks/setSelectedBottleneck",
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
156 bottleneck.properties.name
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
157 )
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
158 .then(() => {
3054
1ef2f4179d30 client: map store: merged/renamed method(s)
Markus Kottlaender <markus@intevation.de>
parents: 3044
diff changeset
159 this.$store.dispatch("map/moveToFeauture", {
2136
3138d60dd1a6 moveToExtent substitutes moveMap where easy doable
Thomas Junk <thomas.junk@intevation.de>
parents: 1613
diff changeset
160 feature: bottleneck,
3873
d62de00e4c28 client: fixed zooming to bottlenecks from mapPopup or bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 3204
diff changeset
161 zoom: 16,
1516
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
162 preventZoomOut: true
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
163 });
6b3756676bbe refac: bottlenecks and surveydata are now retrieved via promises
Thomas Junk <thomas.junk@intevation.de>
parents: 1512
diff changeset
164 });
4488
bff6c5c1db4f client: pdf-gen: improve adding bottleneck info to pdf
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3873
diff changeset
165 this.$store.commit(
bff6c5c1db4f client: pdf-gen: improve adding bottleneck info to pdf
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3873
diff changeset
166 "bottlenecks/setBottleneckForPrint",
bff6c5c1db4f client: pdf-gen: improve adding bottleneck info to pdf
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3873
diff changeset
167 bottleneck.properties.name
bff6c5c1db4f client: pdf-gen: improve adding bottleneck info to pdf
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3873
diff changeset
168 );
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
169 },
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
170 loadSurveys(bottleneck) {
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
171 if (bottleneck === this.openBottleneck) {
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
172 this.openBottleneck = null;
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
173 this.openBottleneckSurveys = null;
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
174 } else {
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
175 this.loading = bottleneck;
4632
2e47b32a389d client: encode strings in url paths
Fadi Abbud <fadi.abbud@intevation.de>
parents: 4488
diff changeset
176 HTTP.get("/surveys/" + encodeURIComponent(bottleneck.properties.name), {
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
177 headers: {
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
178 "X-Gemma-Auth": localStorage.getItem("token"),
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
179 "Content-type": "text/xml; charset=UTF-8"
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
180 }
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
181 })
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
182 .then(response => {
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1418
diff changeset
183 this.openBottleneckSurveys = response.data.surveys.sort((a, b) => {
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1418
diff changeset
184 return a.date_info < b.date_info ? 1 : -1;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1418
diff changeset
185 });
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
186 this.openBottleneck = bottleneck;
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
187 })
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
188 .catch(error => {
4869
6b054b91d9b2 backend not reachable as error message etd. Login adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 4868
diff changeset
189 let message = "Backend not reachable";
4868
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 4632
diff changeset
190 if (error.response) {
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 4632
diff changeset
191 const { status, data } = error.response;
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 4632
diff changeset
192 message = `${status}: ${data.message || data}`;
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 4632
diff changeset
193 }
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
194 displayError({
1460
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1449
diff changeset
195 title: this.$gettext("Backend Error"),
4868
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 4632
diff changeset
196 message: message
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
197 });
1415
d4fc5f3c1252 improved style of bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 1403
diff changeset
198 })
d4fc5f3c1252 improved style of bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 1403
diff changeset
199 .finally(() => (this.loading = null));
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
200 }
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
201 },
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
202 displayCurrentChainage(from, to) {
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
203 return from / 10 + " - " + to / 10;
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
204 }
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
205 },
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
206 mounted() {
2435
3679d604645e client: renamed store action
Markus Kottlaender <markus@intevation.de>
parents: 2387
diff changeset
207 this.$store.dispatch("bottlenecks/loadBottlenecksList");
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
208 }
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
209 };
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
210 </script>