Mercurial > gemma
annotate client/src/components/fairway/Profiles.vue @ 3061:563176194d74
client: add infos and diagram legend for the generated pdf(Fairway profiles)
author | Fadi Abbud <fadi.abbud@intevation.de> |
---|---|
date | Tue, 16 Apr 2019 12:39:55 +0200 |
parents | 1ef2f4179d30 |
children | 87e0422cffa7 |
rev | line source |
---|---|
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
1 <template> |
1480 | 2 <div |
3 :class="[ | |
4 'box ui-element rounded bg-white text-nowrap', | |
5 { expanded: showProfiles } | |
6 ]" | |
7 > | |
2260
531e776cb81d
client: reduced width of pdf-, profile- and identify-box
Markus Kottlaender <markus@intevation.de>
parents:
2154
diff
changeset
|
8 <div style="width: 18rem"> |
2754
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2740
diff
changeset
|
9 <UIBoxHeader |
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2740
diff
changeset
|
10 icon="chart-area" |
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2740
diff
changeset
|
11 :title="profilesLable" |
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2740
diff
changeset
|
12 :closeCallback="close" |
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2740
diff
changeset
|
13 /> |
2534
bb5286acfee2
client: reduced spacings between and inside boxes and more compact main menu
Markus Kottlaender <markus@intevation.de>
parents:
2436
diff
changeset
|
14 <div class="box-body"> |
2894
95e40c87a943
client: applied component name change where it is used
Markus Kottlaender <markus@intevation.de>
parents:
2868
diff
changeset
|
15 <UISpinnerOverlay |
2851
a7e31594959d
profiles: difference selection now with spinner
Thomas Junk <thomas.junk@intevation.de>
parents:
2848
diff
changeset
|
16 v-if="surveysLoading || profileLoading || differencesLoading" |
a7e31594959d
profiles: difference selection now with spinner
Thomas Junk <thomas.junk@intevation.de>
parents:
2848
diff
changeset
|
17 /> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
18 <select |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
19 @change="moveToBottleneck" |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
20 v-model="selectedBottleneck" |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
21 class="form-control font-weight-bold" |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
22 > |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
23 <option :value="null"> |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
24 <translate>Select Bottleneck</translate> |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
25 </option> |
2812
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
26 <optgroup |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
27 v-for="(bottlenecksForCountry, cc) in orderedBottlenecks" |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
28 :key="cc" |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
29 :label="cc" |
1480 | 30 > |
2812
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
31 <option |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
32 v-for="bn in bottlenecksForCountry" |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
33 :key="bn.properties.name" |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
34 :value="bn.properties.name" |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
35 > |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
36 {{ bn.properties.name }} |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
37 </option> |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
38 </optgroup> |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
39 </select> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
40 <div v-if="selectedBottleneck"> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
41 <div class="d-flex mt-2"> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
42 <div class="flex-fill"> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
43 <small class="text-muted"> |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
44 <translate>Waterlevel</translate>: |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
45 </small> |
1480 | 46 <select |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
47 v-model="selectedWaterLevel" |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
48 class="form-control form-control-sm small" |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
49 > |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
50 <option value="" v-if="Object.keys(waterLevels).length === 0"> |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
51 <translate>Current</translate> |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
52 </option> |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
53 <option |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
54 v-for="wl in Object.keys(waterLevels)" |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
55 :key="wl" |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
56 :value="wl" |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
57 > |
2541
468c8dc796cf
client: convert lib helper functions to Vue filters
Markus Kottlaender <markus@intevation.de>
parents:
2540
diff
changeset
|
58 {{ wl | surveyDate }} |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
59 </option> |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
60 </select> |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
61 </div> |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
62 <div class="flex-fill ml-2"> |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
63 <small class="text-muted"> <translate>Survey</translate>: </small> |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
64 <select |
1480 | 65 v-model="selectedSurvey" |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
66 class="form-control form-control-sm small" |
1480 | 67 > |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
68 <option |
1379 | 69 v-for="survey in surveys" |
70 :key="survey.date_info" | |
71 :value="survey" | |
2541
468c8dc796cf
client: convert lib helper functions to Vue filters
Markus Kottlaender <markus@intevation.de>
parents:
2540
diff
changeset
|
72 >{{ survey.date_info | surveyDate }}</option |
1480 | 73 > |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
74 </select> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
75 </div> |
1480 | 76 <div |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
77 class="flex-fill ml-2" |
1480 | 78 v-if="selectedSurvey && surveys.length > 1" |
79 > | |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
80 <small class="text-muted mt-1"> |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
81 <translate>Compare with</translate>: |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
82 </small> |
1480 | 83 <select |
84 v-model="additionalSurvey" | |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
85 class="form-control form-control-sm small" |
1480 | 86 > |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
87 <option :value="null">None</option> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
88 <option |
1379 | 89 v-for="survey in additionalSurveys" |
90 :key="survey.date_info" | |
91 :value="survey" | |
2541
468c8dc796cf
client: convert lib helper functions to Vue filters
Markus Kottlaender <markus@intevation.de>
parents:
2540
diff
changeset
|
92 >{{ survey.date_info | surveyDate }}</option |
1480 | 93 > |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
94 </select> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
95 </div> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
96 </div> |
2848
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
97 <div class="mt-3"> |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
98 <button |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
99 :disabled="!additionalSurvey" |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
100 class="btn btn-info btn-sm w-100" |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
101 @click="showSurveyDiffences" |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
102 > |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
103 <translate>Show differences</translate> |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
104 </button> |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
105 </div> |
1480 | 106 <hr class="w-100 mb-0" /> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
107 <small class="text-muted d-block mt-2"> |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
108 <translate>Saved cross profiles</translate>: |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
109 </small> |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
110 <div class="d-flex"> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
111 <select |
1480 | 112 :class="[ |
113 'form-control form-control-sm flex-fill', | |
114 { 'rounded-left-only': selectedCut } | |
115 ]" | |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
116 v-model="selectedCut" |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
117 > |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
118 <option></option> |
1480 | 119 <option |
120 v-for="(cut, index) in previousCuts" | |
121 :value="cut" | |
122 :key="index" | |
123 >{{ cut.label }}</option | |
124 > | |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
125 </select> |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
126 <button |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
127 class="btn btn-sm btn-dark input-button-right" |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
128 @click="deleteSelectedCut(selectedCut)" |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
129 v-if="selectedCut" |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
130 > |
1480 | 131 <font-awesome-icon icon="trash" /> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
132 </button> |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
133 </div> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
134 <small class="text-muted d-block mt-2"> |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
135 <translate>Enter coordinates manually</translate>: |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
136 </small> |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
137 <div class="position-relative"> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
138 <input |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
139 class="form-control form-control-sm pr-5" |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
140 placeholder="Lat,Lon,Lat,Lon" |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
141 v-model="coordinatesInput" |
1480 | 142 /> |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
143 <button |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
144 class="btn btn-sm btn-info position-absolute input-button-right" |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
145 @click="applyManualCoordinates" |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
146 style="top: 0; right: 0;" |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
147 v-if="coordinatesInputIsValid" |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
148 > |
1480 | 149 <font-awesome-icon icon="check" /> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
150 </button> |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
151 </div> |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
152 <small class="d-flex text-left mt-2" v-if="startPoint && endPoint"> |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
153 <div class="text-nowrap mr-3"> |
1480 | 154 <b> <translate>Start</translate>: </b> <br /> |
155 Lat: {{ startPoint[1] }} <br /> | |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
156 Lon: {{ startPoint[0] }} |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
157 </div> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
158 <div class="text-nowrap"> |
1480 | 159 <b>End:</b> <br /> |
160 Lat: {{ endPoint[1] }} <br /> | |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
161 Lon: {{ endPoint[0] }} |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
162 </div> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
163 <button |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
164 v-clipboard:copy="coordinatesForClipboard" |
1379 | 165 v-clipboard:success="onCopyCoordinates" |
166 class="btn btn-info btn-sm ml-auto mt-auto" | |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
167 > |
1480 | 168 <font-awesome-icon icon="copy" /> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
169 </button> |
1379 | 170 </small> |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
171 <div class="d-flex mt-3"> |
1480 | 172 <div |
173 class="pr-3 w-50" | |
174 v-if="startPoint && endPoint && !selectedCut" | |
175 > | |
176 <button | |
177 class="btn btn-info btn-sm w-100" | |
178 @click="showLabelInput = !showLabelInput" | |
179 > | |
180 <font-awesome-icon :icon="showLabelInput ? 'times' : 'check'" /> | |
1379 | 181 {{ showLabelInput ? "Cancel" : "Save" }} |
182 </button> | |
183 </div> | |
1480 | 184 <div |
185 :class="startPoint && endPoint && !selectedCut ? 'w-50' : 'w-100'" | |
186 > | |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
187 <button class="btn btn-info btn-sm w-100" @click="toggleCutTool"> |
1480 | 188 <font-awesome-icon |
189 :icon="cutTool && cutTool.getActive() ? 'times' : 'plus'" | |
2919
6c5364ff0abb
client: removed a lot of unnecessary closing tags
Markus Kottlaender <markus@intevation.de>
parents:
2894
diff
changeset
|
190 /> |
1379 | 191 {{ cutTool && cutTool.getActive() ? "Cancel" : "New" }} |
192 </button> | |
193 </div> | |
194 </div> | |
195 <div v-if="showLabelInput" class="mt-2"> | |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
196 <small class="text-muted"> |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
197 <translate>Enter label for cross profile</translate>: |
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
198 </small> |
1379 | 199 <div class="position-relative"> |
1480 | 200 <input |
201 class="form-control form-control-sm pr-5" | |
202 v-model="cutLabel" | |
203 /> | |
1379 | 204 <button |
205 class="btn btn-sm btn-info position-absolute input-button-right" | |
206 @click="saveCut" | |
207 v-if="cutLabel" | |
208 style="top: 0; right: 0;" | |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
209 > |
1480 | 210 <font-awesome-icon icon="check" /> |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
211 </button> |
1379 | 212 </div> |
213 </div> | |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
214 </div> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
215 </div> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
216 </div> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
217 </div> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
218 </template> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
219 |
1449 | 220 <style lang="scss" scoped> |
221 .input-button-right { | |
222 border-top-right-radius: $border-radius; | |
223 border-bottom-right-radius: $border-radius; | |
224 border-top-left-radius: 0 !important; | |
225 border-bottom-left-radius: 0 !important; | |
226 } | |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
227 |
1449 | 228 .rounded-left-only { |
229 border-top-right-radius: 0 !important; | |
230 border-bottom-right-radius: 0 !important; | |
231 border-top-left-radius: $border-radius; | |
232 border-bottom-left-radius: $border-radius; | |
233 } | |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
234 </style> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
235 |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
236 <script> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
237 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
238 * without warranty, see README.md and license for details. |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
239 * |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
240 * SPDX-License-Identifier: AGPL-3.0-or-later |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
241 * License-Filename: LICENSES/AGPL-3.0.txt |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
242 * |
1416
3af7ad9717e2
Client: add a set fo marked translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1399
diff
changeset
|
243 * Copyright (C) 2018 by via donau |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
244 * – Österreichische Wasserstraßen-Gesellschaft mbH |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
245 * Software engineering by Intevation GmbH |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
246 * |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
247 * Author(s): |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
248 * Markus Kottländer <markus.kottlaender@intevation.de> |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
249 */ |
3044
c71373594719
client: map: prepared store to hold multiple map objects
Markus Kottlaender <markus@intevation.de>
parents:
3006
diff
changeset
|
250 import { mapState, mapGetters } from "vuex"; |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
251 import Feature from "ol/Feature"; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
252 import LineString from "ol/geom/LineString"; |
2985
1b8bb4f89227
client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents:
2957
diff
changeset
|
253 import { displayError, displayInfo } from "@/lib/errors"; |
2848
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
254 import { HTTP } from "@/lib/http"; |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
255 |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
256 export default { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
257 name: "profiles", |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
258 data() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
259 return { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
260 coordinatesInput: "", |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
261 cutLabel: "", |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
262 showLabelInput: false |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
263 }; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
264 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
265 computed: { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
266 ...mapState("application", ["showProfiles"]), |
3044
c71373594719
client: map: prepared store to hold multiple map objects
Markus Kottlaender <markus@intevation.de>
parents:
3006
diff
changeset
|
267 ...mapState("map", ["lineTool", "polygonTool", "cutTool"]), |
2436
64ff5984351e
client: renamed store property
Markus Kottlaender <markus@intevation.de>
parents:
2435
diff
changeset
|
268 ...mapState("bottlenecks", [ |
64ff5984351e
client: renamed store property
Markus Kottlaender <markus@intevation.de>
parents:
2435
diff
changeset
|
269 "bottlenecksList", |
64ff5984351e
client: renamed store property
Markus Kottlaender <markus@intevation.de>
parents:
2435
diff
changeset
|
270 "surveys", |
64ff5984351e
client: renamed store property
Markus Kottlaender <markus@intevation.de>
parents:
2435
diff
changeset
|
271 "surveysLoading" |
64ff5984351e
client: renamed store property
Markus Kottlaender <markus@intevation.de>
parents:
2435
diff
changeset
|
272 ]), |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
273 ...mapState("fairwayprofile", [ |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
274 "previousCuts", |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
275 "startPoint", |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
276 "endPoint", |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
277 "profileLoading", |
2851
a7e31594959d
profiles: difference selection now with spinner
Thomas Junk <thomas.junk@intevation.de>
parents:
2848
diff
changeset
|
278 "differencesLoading", |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
279 "waterLevels" |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
280 ]), |
3044
c71373594719
client: map: prepared store to hold multiple map objects
Markus Kottlaender <markus@intevation.de>
parents:
3006
diff
changeset
|
281 ...mapGetters("map", ["openLayersMap"]), |
2812
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
282 orderedBottlenecks() { |
2844
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
283 let groupedBottlenecks = {}, |
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
284 orderedGroups = {}; |
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
285 |
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
286 // group bottlenecks by cc |
2812
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
287 this.bottlenecksList.forEach(bn => { |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
288 let cc = bn.properties.responsible_country; |
2844
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
289 if (groupedBottlenecks.hasOwnProperty(cc)) { |
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
290 groupedBottlenecks[cc].push(bn); |
2812
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
291 } else { |
2844
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
292 groupedBottlenecks[cc] = [bn]; |
2812
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
293 } |
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
294 }); |
2844
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
295 |
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
296 // order groups by cc |
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
297 Object.keys(groupedBottlenecks) |
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
298 .sort() |
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
299 .forEach(cc => (orderedGroups[cc] = groupedBottlenecks[cc])); |
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
300 |
77cef49d93ca
client: profiles: bottleneck list sorted by country
Markus Kottlaender <markus@intevation.de>
parents:
2840
diff
changeset
|
301 return orderedGroups; |
2812
30a753f51a3c
client: profiles: ordered bottleneck list by country code
Markus Kottlaender <markus@intevation.de>
parents:
2754
diff
changeset
|
302 }, |
2754
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2740
diff
changeset
|
303 profilesLable() { |
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2740
diff
changeset
|
304 return this.$gettext("Profiles"); |
d0f6c222f4f9
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2740
diff
changeset
|
305 }, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
306 selectedBottleneck: { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
307 get() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
308 return this.$store.state.bottlenecks.selectedBottleneck; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
309 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
310 set(name) { |
1553
35f85da41fdb
fix: select first sounfing result after selecting bottleneck
Thomas Junk <thomas.junk@intevation.de>
parents:
1521
diff
changeset
|
311 this.$store |
35f85da41fdb
fix: select first sounfing result after selecting bottleneck
Thomas Junk <thomas.junk@intevation.de>
parents:
1521
diff
changeset
|
312 .dispatch("bottlenecks/setSelectedBottleneck", name) |
35f85da41fdb
fix: select first sounfing result after selecting bottleneck
Thomas Junk <thomas.junk@intevation.de>
parents:
1521
diff
changeset
|
313 .then(() => { |
35f85da41fdb
fix: select first sounfing result after selecting bottleneck
Thomas Junk <thomas.junk@intevation.de>
parents:
1521
diff
changeset
|
314 this.$store.commit("bottlenecks/setFirstSurveySelected"); |
35f85da41fdb
fix: select first sounfing result after selecting bottleneck
Thomas Junk <thomas.junk@intevation.de>
parents:
1521
diff
changeset
|
315 }); |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
316 } |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
317 }, |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
318 selectedWaterLevel: { |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
319 get() { |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
320 return this.$store.state.fairwayprofile.selectedWaterLevel.date || ""; |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
321 }, |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
322 set(value) { |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
323 this.$store.commit("fairwayprofile/setSelectedWaterLevel", value); |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
324 } |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
325 }, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
326 selectedSurvey: { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
327 get() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
328 return this.$store.state.bottlenecks.selectedSurvey; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
329 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
330 set(survey) { |
1394
b350b0b5cb6c
refactored fairwayprofile cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1391
diff
changeset
|
331 this.$store.commit("fairwayprofile/additionalSurvey", null); |
b350b0b5cb6c
refactored fairwayprofile cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1391
diff
changeset
|
332 this.$store.commit("bottlenecks/selectedSurvey", survey); |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
333 } |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
334 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
335 additionalSurvey: { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
336 get() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
337 return this.$store.state.fairwayprofile.additionalSurvey; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
338 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
339 set(survey) { |
1391
801ae5f4bc5b
fixed bug when changing additional survey in profile dialog
Markus Kottlaender <markus@intevation.de>
parents:
1382
diff
changeset
|
340 this.$store.commit("fairwayprofile/additionalSurvey", survey); |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
341 } |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
342 }, |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
343 selectedCut: { |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
344 get() { |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
345 return this.$store.state.fairwayprofile.selectedCut; |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
346 }, |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
347 set(cut) { |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
348 this.$store.commit("fairwayprofile/selectedCut", cut); |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
349 if (!cut) { |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
350 this.$store.commit("fairwayprofile/clearCurrentProfile"); |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
351 this.$store.commit("application/showSplitscreen", false); |
3006
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
352 this.openLayersMap |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
353 .getLayer("CUTTOOL") |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
354 .getSource() |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
355 .clear(); |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
356 } |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
357 } |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
358 }, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
359 additionalSurveys() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
360 return this.surveys.filter(survey => survey !== this.selectedSurvey); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
361 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
362 coordinatesForClipboard() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
363 return ( |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
364 this.startPoint[1] + |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
365 "," + |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
366 this.startPoint[0] + |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
367 "," + |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
368 this.endPoint[1] + |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
369 "," + |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
370 this.endPoint[0] |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
371 ); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
372 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
373 coordinatesInputIsValid() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
374 const coordinates = this.coordinatesInput |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
375 .split(",") |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
376 .map(coord => parseFloat(coord.trim())) |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
377 .filter(c => Number(c) === c); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
378 return coordinates.length === 4; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
379 } |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
380 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
381 watch: { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
382 selectedBottleneck() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
383 this.$store.dispatch("fairwayprofile/previousCuts"); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
384 this.cutLabel = |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
385 this.selectedBottleneck + " (" + new Date().toISOString() + ")"; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
386 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
387 selectedSurvey(survey) { |
1394
b350b0b5cb6c
refactored fairwayprofile cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1391
diff
changeset
|
388 this.loadProfile(survey); |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
389 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
390 additionalSurvey(survey) { |
1394
b350b0b5cb6c
refactored fairwayprofile cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1391
diff
changeset
|
391 this.loadProfile(survey); |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
392 }, |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
393 selectedCut(cut) { |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
394 if (cut) { |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
395 this.applyCoordinates(cut.coordinates); |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
396 } |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
397 } |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
398 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
399 methods: { |
2848
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
400 showSurveyDiffences() { |
2851
a7e31594959d
profiles: difference selection now with spinner
Thomas Junk <thomas.junk@intevation.de>
parents:
2848
diff
changeset
|
401 this.$store.commit("fairwayprofile/setDifferencesLoading", true); |
2848
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
402 HTTP.post( |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
403 "/diff", |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
404 { |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
405 bottleneck: this.selectedSurvey.bottleneck_id, |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
406 minuend: this.selectedSurvey.date_info, |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
407 subtrahend: this.additionalSurvey.date_info |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
408 }, |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
409 { |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
410 headers: { |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
411 "X-Gemma-Auth": localStorage.getItem("token") |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
412 } |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
413 } |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
414 ) |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
415 .then(() => { |
3006
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
416 this.openLayersMap |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
417 .getLayer("DIFFERENCES") |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
418 .getSource() |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
419 .updateParams({ |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
420 cql_filter: |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
421 "objnam='" + |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
422 this.selectedBottleneck + |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
423 "' AND " + |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
424 "minuend='" + |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
425 this.selectedSurvey.date_info + |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
426 "' AND subtrahend='" + |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
427 this.additionalSurvey.date_info + |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
428 "'" |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
429 }); |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
430 this.openLayersMap.getLayer("BOTTLENECKISOLINE").setVisible(false); |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
431 this.openLayersMap.getLayer("DIFFERENCES").setVisible(true); |
2848
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
432 }) |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
433 .catch(error => { |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
434 const { status, data } = error.response; |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
435 displayError({ |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
436 title: this.$gettext("Backend Error"), |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
437 message: `${status}: ${data.message || data}` |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
438 }); |
2851
a7e31594959d
profiles: difference selection now with spinner
Thomas Junk <thomas.junk@intevation.de>
parents:
2848
diff
changeset
|
439 }) |
a7e31594959d
profiles: difference selection now with spinner
Thomas Junk <thomas.junk@intevation.de>
parents:
2848
diff
changeset
|
440 .finally(() => { |
a7e31594959d
profiles: difference selection now with spinner
Thomas Junk <thomas.junk@intevation.de>
parents:
2848
diff
changeset
|
441 this.$store.commit("fairwayprofile/setDifferencesLoading", false); |
2848
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
442 }); |
b6886706b325
profiles: display sounding_differences
Thomas Junk <thomas.junk@intevation.de>
parents:
2844
diff
changeset
|
443 }, |
2387
f185503ef35a
client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents:
2365
diff
changeset
|
444 close() { |
f185503ef35a
client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents:
2365
diff
changeset
|
445 this.$store.commit("application/showProfiles", false); |
f185503ef35a
client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents:
2365
diff
changeset
|
446 }, |
1394
b350b0b5cb6c
refactored fairwayprofile cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1391
diff
changeset
|
447 loadProfile(survey) { |
b350b0b5cb6c
refactored fairwayprofile cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1391
diff
changeset
|
448 if (survey) { |
b350b0b5cb6c
refactored fairwayprofile cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1391
diff
changeset
|
449 this.$store.commit("fairwayprofile/profileLoading", true); |
2550
dc42faf90e1d
client: profiles: trigger splitscreen loading animation when changing compare survey
Markus Kottlaender <markus@intevation.de>
parents:
2541
diff
changeset
|
450 this.$store.commit("application/splitscreenLoading", true); |
1399
8e2c9e518440
improved search style
Markus Kottlaender <markus@intevation.de>
parents:
1396
diff
changeset
|
451 this.$store |
8e2c9e518440
improved search style
Markus Kottlaender <markus@intevation.de>
parents:
1396
diff
changeset
|
452 .dispatch("fairwayprofile/loadProfile", survey) |
2550
dc42faf90e1d
client: profiles: trigger splitscreen loading animation when changing compare survey
Markus Kottlaender <markus@intevation.de>
parents:
2541
diff
changeset
|
453 .finally(() => { |
dc42faf90e1d
client: profiles: trigger splitscreen loading animation when changing compare survey
Markus Kottlaender <markus@intevation.de>
parents:
2541
diff
changeset
|
454 this.$store.commit("fairwayprofile/profileLoading", false); |
dc42faf90e1d
client: profiles: trigger splitscreen loading animation when changing compare survey
Markus Kottlaender <markus@intevation.de>
parents:
2541
diff
changeset
|
455 this.$store.commit("application/splitscreenLoading", false); |
dc42faf90e1d
client: profiles: trigger splitscreen loading animation when changing compare survey
Markus Kottlaender <markus@intevation.de>
parents:
2541
diff
changeset
|
456 }); |
1394
b350b0b5cb6c
refactored fairwayprofile cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1391
diff
changeset
|
457 } |
b350b0b5cb6c
refactored fairwayprofile cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1391
diff
changeset
|
458 }, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
459 toggleCutTool() { |
1437
1cd1549aab47
fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1435
diff
changeset
|
460 this.cutTool.setActive(!this.cutTool.getActive()); |
1cd1549aab47
fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1435
diff
changeset
|
461 this.lineTool.setActive(false); |
1cd1549aab47
fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1435
diff
changeset
|
462 this.polygonTool.setActive(false); |
1cd1549aab47
fixed panning problem when drawing cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1435
diff
changeset
|
463 this.$store.commit("map/setCurrentMeasurement", null); |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
464 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
465 onCopyCoordinates() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
466 displayInfo({ |
1441
a4554e942954
Client: add a set of marked translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1437
diff
changeset
|
467 message: this.$gettext("Coordinates copied to clipboard!") |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
468 }); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
469 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
470 applyManualCoordinates() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
471 const coordinates = this.coordinatesInput |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
472 .split(",") |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
473 .map(coord => parseFloat(coord.trim())); |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
474 this.selectedCut = null; |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
475 this.coordinatesInput = ""; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
476 this.applyCoordinates([ |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
477 coordinates[1], |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
478 coordinates[0], |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
479 coordinates[3], |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
480 coordinates[2] |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
481 ]); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
482 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
483 applyCoordinates(coordinates) { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
484 // allow only numbers |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
485 coordinates = coordinates.filter(c => Number(c) === c); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
486 if (coordinates.length === 4) { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
487 // draw line on map |
3006
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
488 this.openLayersMap |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
489 .getLayer("CUTTOOL") |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
490 .getSource() |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
491 .clear(); |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
492 const cut = new Feature({ |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
493 geometry: new LineString([ |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
494 [coordinates[0], coordinates[1]], |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
495 [coordinates[2], coordinates[3]] |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
496 ]).transform("EPSG:4326", "EPSG:3857") |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
497 }); |
3006
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
498 this.openLayersMap |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
499 .getLayer("CUTTOOL") |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
500 .getSource() |
44493664d40e
client: refactored layers config
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
501 .addFeature(cut); |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
502 |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
503 // draw diagram |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
504 this.$store.dispatch("fairwayprofile/cut", cut); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
505 } else { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
506 displayError({ |
1441
a4554e942954
Client: add a set of marked translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1437
diff
changeset
|
507 title: this.$gettext("Invalid input"), |
a4554e942954
Client: add a set of marked translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1437
diff
changeset
|
508 message: this.$gettext( |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
509 "Please enter correct coordinates in the format: Lat,Lon,Lat,Lon" |
1441
a4554e942954
Client: add a set of marked translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1437
diff
changeset
|
510 ) |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
511 }); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
512 } |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
513 }, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
514 saveCut() { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
515 const previousCuts = |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
516 JSON.parse(localStorage.getItem("previousCuts")) || []; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
517 const newEntry = { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
518 label: this.cutLabel, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
519 bottleneckName: this.selectedBottleneck, |
1377
fa7d647f8d77
added timestamp to saved cross profiles
Markus Kottlaender <markus@intevation.de>
parents:
1372
diff
changeset
|
520 coordinates: [...this.startPoint, ...this.endPoint], |
fa7d647f8d77
added timestamp to saved cross profiles
Markus Kottlaender <markus@intevation.de>
parents:
1372
diff
changeset
|
521 timestamp: new Date().getTime() |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
522 }; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
523 const existingEntry = previousCuts.find(cut => { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
524 return JSON.stringify(cut) === JSON.stringify(newEntry); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
525 }); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
526 if (!existingEntry) previousCuts.push(newEntry); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
527 if (previousCuts.length > 100) previousCuts.shift(); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
528 localStorage.setItem("previousCuts", JSON.stringify(previousCuts)); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
529 this.$store.dispatch("fairwayprofile/previousCuts"); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
530 |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
531 this.showLabelInput = false; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
532 displayInfo({ |
1441
a4554e942954
Client: add a set of marked translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1437
diff
changeset
|
533 title: this.$gettext("Profile saved!"), |
a4554e942954
Client: add a set of marked translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1437
diff
changeset
|
534 message: this.$gettext( |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
535 'You can now select these coordinates from the "Saved cross profiles" menu to restore this cross profile.' |
1441
a4554e942954
Client: add a set of marked translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1437
diff
changeset
|
536 ) |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
537 }); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
538 }, |
2540
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
539 deleteSelectedCut(cut) { |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
540 this.$store.commit("application/popup", { |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
541 icon: "trash", |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
542 title: this.$gettext("Delete cross profile"), |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
543 content: |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
544 this.$gettext("Do you really want to delete the cross profile:") + |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
545 `<br> |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
546 <b>${cut.label}</b>`, |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
547 confirm: { |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
548 label: this.$gettext("Delete"), |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
549 icon: "trash", |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
550 callback: () => { |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
551 let previousCuts = |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
552 JSON.parse(localStorage.getItem("previousCuts")) || []; |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
553 previousCuts = previousCuts.filter(cut => { |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
554 return JSON.stringify(cut) !== JSON.stringify(this.selectedCut); |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
555 }); |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
556 localStorage.setItem("previousCuts", JSON.stringify(previousCuts)); |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
557 this.$store.commit("fairwayprofile/selectedCut", null); |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
558 this.$store.dispatch("fairwayprofile/previousCuts"); |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
559 displayInfo({ title: this.$gettext("Profile deleted!") }); |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
560 } |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
561 }, |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
562 cancel: { |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
563 label: this.$gettext("Cancel"), |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
564 icon: "times" |
3c17d401fbd4
client: cross profiles: moved waterlevel select to Profiles dialog
Markus Kottlaender <markus@intevation.de>
parents:
2534
diff
changeset
|
565 } |
1395
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
566 }); |
210e9f16f8a0
delete cross profiles from localstorage
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
567 }, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
568 moveToBottleneck() { |
2436
64ff5984351e
client: renamed store property
Markus Kottlaender <markus@intevation.de>
parents:
2435
diff
changeset
|
569 const bottleneck = this.bottlenecksList.find( |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
570 bn => bn.properties.name === this.selectedBottleneck |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
571 ); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
572 if (!bottleneck) return; |
3054
1ef2f4179d30
client: map store: merged/renamed method(s)
Markus Kottlaender <markus@intevation.de>
parents:
3044
diff
changeset
|
573 this.$store.dispatch("map/moveToFeauture", { |
2136
3138d60dd1a6
moveToExtent substitutes moveMap where easy doable
Thomas Junk <thomas.junk@intevation.de>
parents:
1613
diff
changeset
|
574 feature: bottleneck, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
575 zoom: 17, |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
576 preventZoomOut: true |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
577 }); |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
578 } |
2434
817b3d726b43
client: loadBottlenecks (bottleneck_overview) only where needed
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
579 }, |
817b3d726b43
client: loadBottlenecks (bottleneck_overview) only where needed
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
580 mounted() { |
2435
3679d604645e
client: renamed store action
Markus Kottlaender <markus@intevation.de>
parents:
2434
diff
changeset
|
581 this.$store.dispatch("bottlenecks/loadBottlenecksList"); |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
582 } |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
583 }; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
584 </script> |