annotate client/src/components/Bottlenecks.vue @ 4488:bff6c5c1db4f

client: pdf-gen: improve adding bottleneck info to pdf * Check if the bottleneck is in the current view to add its info to the exported pdf and the pdf filename, this avoid wrong filename and wrong info in pdf in case view has been changed to another location. * Set the bottleneck to print after moving to it in map.
author Fadi Abbud <fadi.abbud@intevation.de>
date Fri, 27 Sep 2019 11:15:02 +0200
parents d62de00e4c28
children 2e47b32a389d
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>
2948
f6cd4ebd8562 client: importoverview: improved heights and scrolling
Markus Kottlaender <markus@intevation.de>
parents: 2902
diff changeset
49 <div class="table-cell center" style="flex-grow: 1">
2902
399b03e59411 client: use UISpinnerButton in bottlenecks list and imports overview
Markus Kottlaender <markus@intevation.de>
parents: 2880
diff changeset
50 <UISpinnerButton
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
51 @click="loadSurveys(bottleneck)"
2902
399b03e59411 client: use UISpinnerButton in bottlenecks list and imports overview
Markus Kottlaender <markus@intevation.de>
parents: 2880
diff changeset
52 :loading="loading === bottleneck"
399b03e59411 client: use UISpinnerButton in bottlenecks list and imports overview
Markus Kottlaender <markus@intevation.de>
parents: 2880
diff changeset
53 :state="bottleneck === openBottleneck"
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
54 v-if="bottleneck.properties.current"
2902
399b03e59411 client: use UISpinnerButton in bottlenecks list and imports overview
Markus Kottlaender <markus@intevation.de>
parents: 2880
diff changeset
55 />
2874
b9a6abef9f1c client: more unified table layout
Markus Kottlaender <markus@intevation.de>
parents: 2871
diff changeset
56 </div>
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;
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
176
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
177 HTTP.get("/surveys/" + bottleneck.properties.name, {
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
178 headers: {
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
179 "X-Gemma-Auth": localStorage.getItem("token"),
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
180 "Content-type": "text/xml; charset=UTF-8"
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 })
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
183 .then(response => {
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1418
diff changeset
184 this.openBottleneckSurveys = response.data.surveys.sort((a, b) => {
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1418
diff changeset
185 return a.date_info < b.date_info ? 1 : -1;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1418
diff changeset
186 });
2462
9ae2a2f758bb client: make use of new table header/body components
Markus Kottlaender <markus@intevation.de>
parents: 2436
diff changeset
187 this.openBottleneck = bottleneck;
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
188 })
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
189 .catch(error => {
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
190 const { status, data } = error.response;
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
191 displayError({
1460
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1449
diff changeset
192 title: this.$gettext("Backend Error"),
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
193 message: `${status}: ${data.message || data}`
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
194 });
1415
d4fc5f3c1252 improved style of bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 1403
diff changeset
195 })
d4fc5f3c1252 improved style of bottleneck list
Markus Kottlaender <markus@intevation.de>
parents: 1403
diff changeset
196 .finally(() => (this.loading = null));
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
197 }
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
198 },
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
199 displayCurrentChainage(from, to) {
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
200 return from / 10 + " - " + to / 10;
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 },
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
203 mounted() {
2435
3679d604645e client: renamed store action
Markus Kottlaender <markus@intevation.de>
parents: 2387
diff changeset
204 this.$store.dispatch("bottlenecks/loadBottlenecksList");
1276
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 };
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
207 </script>