Mercurial > gemma
annotate client/src/components/fairway/BottleneckDialogue.vue @ 5475:791a372553a0
Client:FWA: Fix setting request parameters and legend
* Set default limit-width values (80m, 150m) for bottlenecks that limited
by width
* Fix condition of generating the legend
* Fix setting the boundaries of the legend
* Convert limit-width values to "cm" for the request.
author | Fadi Abbud <fadi.abbud@intevation.de> |
---|---|
date | Mon, 16 Aug 2021 15:55:57 +0200 |
parents | 776e34886471 |
children | 3b842e951317 |
rev | line source |
---|---|
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
1 <template> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
2 <div |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
3 :class="[ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
4 'box ui-element rounded bg-white text-nowrap', |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
5 { expanded: showProfiles } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
6 ]" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
7 > |
4981
9f0830a1845d
squashed the total layout to enable display of long fm importnames
Thomas Junk <thomas.junk@intevation.de>
parents:
4869
diff
changeset
|
8 <div style="width: 17rem"> |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
9 <UIBoxHeader |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
10 icon="chart-area" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
11 :title="profilesLable" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
12 :closeCallback="close" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
13 /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
14 <div class="box-body"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
15 <UISpinnerOverlay v-if="surveysLoading || profileLoading" /> |
4479
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
16 <div class="d-flex flex-row"> |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
17 <select |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
18 v-model="selectedBottleneck" |
4982
b5028b98e7c4
fix layout of selecting BN, G, AFD for firefox
Thomas Junk <thomas.junk@intevation.de>
parents:
4981
diff
changeset
|
19 class="w-90 form-control font-weight-bold" |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
20 > |
4479
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
21 <option :value="null"> |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
22 <translate>Select Bottleneck</translate> |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
23 </option> |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
24 <optgroup |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
25 v-for="(bottlenecksForCountry, cc) in orderedBottlenecks" |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
26 :key="cc" |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
27 :label="cc" |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
28 > |
4479
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
29 <option |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
30 v-for="bn in bottlenecksForCountry" |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
31 :key="bn.properties.id" |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
32 :value="bn.properties.name" |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
33 > |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
34 {{ bn.properties.name }} |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
35 </option> |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
36 </optgroup> |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
37 </select> |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
38 <button @click="takeMeThere" class="btn btn-sm btn-info"> |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
39 <font-awesome-icon icon="crosshairs" /> |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
40 </button> |
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
41 </div> |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
42 <div v-if="selectedBottleneck"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
43 <div class="d-flex flex-column mt-2"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
44 <div class="flex-fill"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
45 <small class="text-muted"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
46 <translate>Waterlevel</translate>: |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
47 </small> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
48 <select |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
49 v-model="selectedWaterLevel" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
50 class="form-control form-control-sm small" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
51 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
52 <option value="ref"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
53 <translate>Depth Reference</translate> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
54 <template v-if="selectedSurvey"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
55 ({{ selectedSurvey.depth_reference }}/{{ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
56 $options.filters.waterlevel( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
57 selectedSurvey.waterlevel_value |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
58 ) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
59 }} |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
60 m) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
61 </template> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
62 </option> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
63 <option value="current"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
64 <translate>Current Waterlevel</translate> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
65 <template v-if="bottleneck"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
66 ({{ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
67 $options.filters.waterlevel( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
68 bottleneck.get("gm_waterlevel") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
69 ) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
70 }} |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
71 m) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
72 </template> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
73 </option> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
74 </select> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
75 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
76 <div class="flex-fill"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
77 <small class="text-muted"> <translate>Survey</translate>: </small> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
78 <div class="d-flex"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
79 <select |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
80 v-model="selectedSurvey" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
81 class="form-control form-control-sm small" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
82 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
83 <option |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
84 v-for="survey in surveys" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
85 :key="survey.date_info" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
86 :value="survey" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
87 >{{ survey.date_info | surveyDate }}</option |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
88 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
89 </select> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
90 <button |
4521
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
91 v-if="isAllowedToDelete" |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
92 class="btn btn-dark btn-xs ml-2" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
93 @click="deleteSelectedSurvey" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
94 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
95 <font-awesome-icon icon="trash" /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
96 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
97 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
98 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
99 <div class="flex-fill" v-if="selectedSurvey && surveys.length > 1"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
100 <small class="text-muted mt-1"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
101 <translate>Compare with</translate>: |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
102 </small> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
103 <select |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
104 v-model="additionalSurvey" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
105 class="form-control form-control-sm small" |
5408
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
106 :disabled="!areDifferecesAllowed" |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
107 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
108 <option :value="null">None</option> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
109 <option |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
110 v-for="survey in additionalSurveys" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
111 :key="survey.date_info" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
112 :value="survey" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
113 >{{ survey.date_info | surveyDate }}</option |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
114 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
115 </select> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
116 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
117 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
118 <div class="mt-2 d-flex" v-if="additionalSurvey"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
119 <button |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
120 v-if="differencesLoading" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
121 class="btn btn-info btn-xs flex-fill" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
122 disabled |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
123 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
124 <font-awesome-icon icon="spinner" spin class="mr-1" /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
125 <translate>Calculating differences</translate> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
126 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
127 <button |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
128 class="btn btn-info btn-xs flex-fill" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
129 @click="differencesVisible ? showSurvey() : showDifferences()" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
130 v-else |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
131 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
132 <translate v-if="differencesVisible" key="showsurvey" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
133 >Show survey</translate |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
134 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
135 <translate v-else key="showdifferences" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
136 >Show differences</translate |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
137 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
138 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
139 <button |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
140 v-if="!paneSetup.includes('FAIRWAYPROFILE')" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
141 class="btn btn-info btn-xs ml-2" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
142 @click="$store.commit('application/paneRotate')" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
143 v-tooltip="rotatePanesTooltip" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
144 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
145 <font-awesome-icon icon="redo" fixed-width /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
146 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
147 <button |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
148 class="btn btn-info btn-xs ml-2" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
149 @click="toggleSyncMaps()" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
150 v-tooltip="syncMapsTooltip" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
151 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
152 <font-awesome-icon |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
153 :icon="mapsAreSynced ? 'unlink' : 'link'" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
154 fixed-width |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
155 /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
156 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
157 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
158 <hr class="w-100 mb-0" /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
159 <small class="text-muted d-block mt-2"> |
4502
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
160 <translate>Custom Depth</translate>: |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
161 </small> |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
162 <div class="d-flex"> |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
163 <input |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
164 class="form-control form-control-sm w-100 mt-1" |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
165 v-model.number="depth" |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
166 type="number" |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
167 step="0.1" |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
168 min="0" |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
169 /> |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
170 <button |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
171 @click="useCustomDepth = !useCustomDepth" |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
172 :class="[ |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
173 'btn', |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
174 'btn-xs', |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
175 'ml-2', |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
176 { |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
177 'btn-info': useCustomDepth, |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
178 'btn-secondary': !useCustomDepth |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
179 } |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
180 ]" |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
181 > |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
182 {{ useCustomDepth ? "disable" : "enable" }} |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
183 </button> |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
184 </div> |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
185 <small class="text-muted d-block mt-2"> |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
186 <translate>Saved cross profiles</translate>: |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
187 </small> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
188 <div class="d-flex"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
189 <select |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
190 :class="[ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
191 'form-control form-control-sm flex-fill', |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
192 { 'rounded-left-only': selectedCut } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
193 ]" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
194 v-model="selectedCut" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
195 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
196 <option></option> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
197 <option |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
198 v-for="(cut, index) in previousCuts" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
199 :value="cut" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
200 :key="index" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
201 >{{ cut.label }}</option |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
202 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
203 </select> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
204 <button |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
205 class="btn btn-xs btn-dark ml-2" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
206 @click="deleteSelectedCut(selectedCut)" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
207 v-if="selectedCut" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
208 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
209 <font-awesome-icon icon="trash" /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
210 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
211 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
212 <small class="text-muted d-block mt-2"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
213 <translate>Enter coordinates manually</translate>: |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
214 </small> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
215 <div class="position-relative"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
216 <input |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
217 class="form-control form-control-sm pr-5" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
218 placeholder="Lat,Lon,Lat,Lon" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
219 v-model="coordinatesInput" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
220 /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
221 <button |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
222 class="btn btn-sm btn-info position-absolute input-button-right" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
223 @click="applyManualCoordinates" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
224 style="top: 0; right: 0;" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
225 v-if="coordinatesInputIsValid" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
226 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
227 <font-awesome-icon icon="check" /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
228 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
229 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
230 <small class="d-flex text-left mt-2" v-if="startPoint && endPoint"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
231 <div class="text-nowrap mr-3"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
232 <b> <translate>Start</translate>: </b> <br /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
233 Lat: {{ startPoint[1] }} <br /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
234 Lon: {{ startPoint[0] }} |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
235 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
236 <div class="text-nowrap"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
237 <b>End:</b> <br /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
238 Lat: {{ endPoint[1] }} <br /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
239 Lon: {{ endPoint[0] }} |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
240 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
241 <button |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
242 v-clipboard:copy="coordinatesForClipboard" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
243 v-clipboard:success="onCopyCoordinates" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
244 class="btn btn-info btn-sm ml-auto mt-auto" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
245 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
246 <font-awesome-icon icon="copy" /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
247 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
248 </small> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
249 <div class="d-flex mt-3"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
250 <div |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
251 class="pr-3 w-50" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
252 v-if="startPoint && endPoint && !selectedCut" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
253 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
254 <button |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
255 class="btn btn-info btn-sm w-100" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
256 @click="showLabelInput = !showLabelInput" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
257 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
258 <font-awesome-icon :icon="showLabelInput ? 'times' : 'check'" /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
259 {{ showLabelInput ? "Cancel" : "Save" }} |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
260 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
261 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
262 <div |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
263 :class="startPoint && endPoint && !selectedCut ? 'w-50' : 'w-100'" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
264 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
265 <button |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
266 class="btn btn-info btn-sm w-100" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
267 @click="toggleCutTool" |
5408
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
268 :disabled="!isCutAllowed" |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
269 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
270 <font-awesome-icon :icon="cutToolEnabled ? 'times' : 'plus'" /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
271 {{ cutToolEnabled ? "Cancel" : "New" }} |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
272 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
273 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
274 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
275 <div v-if="showLabelInput" class="mt-2"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
276 <small class="text-muted"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
277 <translate>Enter label for cross profile</translate>: |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
278 </small> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
279 <div class="position-relative"> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
280 <input |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
281 class="form-control form-control-sm pr-5" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
282 v-model="cutLabel" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
283 /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
284 <button |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
285 class="btn btn-sm btn-info position-absolute input-button-right" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
286 @click="saveCut" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
287 v-if="cutLabel" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
288 style="top: 0; right: 0;" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
289 > |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
290 <font-awesome-icon icon="check" /> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
291 </button> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
292 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
293 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
294 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
295 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
296 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
297 </div> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
298 </template> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
299 |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
300 <style lang="scss" scoped> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
301 .input-button-right { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
302 border-top-right-radius: $border-radius; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
303 border-bottom-right-radius: $border-radius; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
304 border-top-left-radius: 0 !important; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
305 border-bottom-left-radius: 0 !important; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
306 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
307 |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
308 .rounded-left-only { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
309 border-top-right-radius: 0 !important; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
310 border-bottom-right-radius: 0 !important; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
311 border-top-left-radius: $border-radius; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
312 border-bottom-left-radius: $border-radius; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
313 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
314 |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
315 input, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
316 select { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
317 font-size: 0.8em; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
318 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
319 </style> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
320 |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
321 <script> |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
322 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
323 * without warranty, see README.md and license for details. |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
324 * |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
325 * SPDX-License-Identifier: AGPL-3.0-or-later |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
326 * License-Filename: LICENSES/AGPL-3.0.txt |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
327 * |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
328 * Copyright (C) 2018 by via donau |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
329 * – Österreichische Wasserstraßen-Gesellschaft mbH |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
330 * Software engineering by Intevation GmbH |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
331 * |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
332 * Author(s): |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
333 * Markus Kottländer <markus.kottlaender@intevation.de> |
5408
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
334 * Thomas Junk <thomas.junk@intevation.de> |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
335 */ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
336 import { mapState, mapGetters } from "vuex"; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
337 import Feature from "ol/Feature"; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
338 import LineString from "ol/geom/LineString"; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
339 import { displayError, displayInfo } from "@/lib/errors"; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
340 import { HTTP } from "@/lib/http"; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
341 import { COMPARESURVEYS } from "@/components/paneSetups"; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
342 |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
343 export default { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
344 name: "profiles", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
345 data() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
346 return { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
347 coordinatesInput: "", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
348 cutLabel: "", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
349 showLabelInput: false |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
350 }; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
351 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
352 computed: { |
4521
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
353 ...mapState("user", ["user"]), |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
354 ...mapGetters("user", ["isWaterwayAdmin", "isSysAdmin"]), |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
355 ...mapGetters("usermanagement", ["userCountries"]), |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
356 ...mapState("application", ["showProfiles", "paneSetup"]), |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
357 ...mapState("map", ["openLayersMaps", "syncedMaps", "cutToolEnabled"]), |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
358 ...mapState("bottlenecks", [ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
359 "bottlenecksList", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
360 "surveys", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
361 "surveysLoading" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
362 ]), |
5408
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
363 selectedSurveyIsMarking() { |
5432
776e34886471
add missing guarding clause
Thomas Junk <thomas.junk@intevation.de>
parents:
5408
diff
changeset
|
364 if (!this.selectedSurvey) return false; |
5408
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
365 return this.selectedSurvey["survey_type"] === "marking"; |
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
366 }, |
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
367 areDifferecesAllowed() { |
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
368 return !this.selectedSurveyIsMarking; |
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
369 }, |
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
370 isCutAllowed() { |
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
371 return !this.selectedSurveyIsMarking && !!this.selectedSurvey; |
901b70f9c6bd
disable cuts or differences if surveytype is 'marking'
Thomas Junk <thomas.junk@intevation.de>
parents:
4982
diff
changeset
|
372 }, |
4521
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
373 isAllowedToDelete() { |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
374 const userCountryCode = this.userCountries[this.user]; |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
375 const bottleneck = this.bottlenecksList.find( |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
376 bn => bn.properties.name === this.selectedBottleneck |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
377 ); |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
378 if (!bottleneck) return; |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
379 if (this.isWaterwayAdmin || this.isSysAdmin) { |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
380 if ( |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
381 userCountryCode === "global" || |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
382 bottleneck.properties.responsible_country === userCountryCode |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
383 ) { |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
384 return true; |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
385 } |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
386 } |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
387 return false; |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
388 }, |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
389 ...mapState("fairwayprofile", [ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
390 "previousCuts", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
391 "startPoint", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
392 "endPoint", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
393 "profileLoading", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
394 "differencesLoading", |
4525
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
395 "currentDifference", |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
396 "waterLevels", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
397 "currentProfile" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
398 ]), |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
399 ...mapGetters("map", ["openLayersMap"]), |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
400 ...mapGetters("bottlenecks", ["orderedBottlenecks"]), |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
401 profilesLable() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
402 return this.$gettext("Bottleneck Surveys"); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
403 }, |
4502
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
404 useCustomDepth: { |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
405 get() { |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
406 return this.$store.state.fairwayprofile.useCustomDepth; |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
407 }, |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
408 set(value) { |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
409 this.$store.commit("fairwayprofile/setUseCustomDepth", value); |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
410 } |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
411 }, |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
412 depth: { |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
413 get() { |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
414 return this.$store.state.fairwayprofile.depth; |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
415 }, |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
416 set(value) { |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
417 this.$store.commit("fairwayprofile/setDepth", value); |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
418 } |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
419 }, |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
420 selectedBottleneck: { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
421 get() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
422 return this.$store.state.bottlenecks.selectedBottleneck; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
423 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
424 set(name) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
425 this.$store.dispatch("bottlenecks/setSelectedBottleneck", name); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
426 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
427 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
428 selectedWaterLevel: { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
429 get() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
430 return this.$store.state.fairwayprofile.selectedWaterLevel; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
431 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
432 set(value) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
433 this.$store.commit("fairwayprofile/setSelectedWaterLevel", value); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
434 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
435 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
436 selectedSurvey: { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
437 get() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
438 return this.$store.state.bottlenecks.selectedSurvey; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
439 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
440 set(survey) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
441 this.$store.commit("fairwayprofile/additionalSurvey", null); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
442 this.$store.commit("bottlenecks/selectedSurvey", survey); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
443 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
444 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
445 additionalSurvey: { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
446 get() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
447 return this.$store.state.fairwayprofile.additionalSurvey; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
448 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
449 set(survey) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
450 this.$store.commit("fairwayprofile/additionalSurvey", survey); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
451 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
452 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
453 selectedCut: { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
454 get() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
455 return this.$store.state.fairwayprofile.selectedCut; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
456 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
457 set(cut) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
458 this.$store.commit("fairwayprofile/selectedCut", cut); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
459 if (!cut) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
460 this.$store.commit("fairwayprofile/clearCurrentProfile"); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
461 this.openLayersMaps.forEach(m => { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
462 m.getLayer("CUTTOOL") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
463 .getSource() |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
464 .clear(); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
465 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
466 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
467 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
468 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
469 additionalSurveys() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
470 return this.surveys.filter( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
471 survey => survey.date_info !== this.selectedSurvey.date_info |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
472 ); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
473 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
474 coordinatesForClipboard() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
475 return ( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
476 this.startPoint[1] + |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
477 "," + |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
478 this.startPoint[0] + |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
479 "," + |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
480 this.endPoint[1] + |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
481 "," + |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
482 this.endPoint[0] |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
483 ); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
484 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
485 coordinatesInputIsValid() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
486 const coordinates = this.coordinatesInput |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
487 .split(",") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
488 .map(coord => parseFloat(coord.trim())) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
489 .filter(c => Number(c) === c); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
490 return coordinates.length === 4; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
491 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
492 differencesVisible() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
493 return ( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
494 this.openLayersMap(COMPARESURVEYS.compare.id) && |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
495 !this.openLayersMap(COMPARESURVEYS.compare.id) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
496 .getLayer("BOTTLENECKISOLINE") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
497 .getVisible() && |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
498 this.openLayersMap(COMPARESURVEYS.compare.id) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
499 .getLayer("DIFFERENCES") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
500 .getVisible() |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
501 ); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
502 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
503 rotatePanesTooltip() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
504 return this.$gettext("Rotate Maps"); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
505 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
506 syncMapsTooltip() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
507 return this.$gettext( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
508 this.mapsAreSynced ? "Unsynchronize Maps" : "Synchronize Maps" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
509 ); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
510 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
511 mapsAreSynced() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
512 return this.syncedMaps.includes(COMPARESURVEYS.compare.id); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
513 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
514 bottleneck() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
515 return this.openLayersMap() |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
516 ? this.openLayersMap() |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
517 .getLayer("BOTTLENECKS") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
518 .getSource() |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
519 .getFeatures() |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
520 .find(f => f.get("objnam") === this.selectedBottleneck) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
521 : null; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
522 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
523 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
524 watch: { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
525 selectedBottleneck() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
526 this.$store.dispatch("fairwayprofile/previousCuts"); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
527 this.cutLabel = |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
528 this.selectedBottleneck + " (" + new Date().toISOString() + ")"; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
529 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
530 selectedSurvey(survey) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
531 this.loadProfile(survey); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
532 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
533 additionalSurvey(survey) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
534 if (survey) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
535 this.loadDifferences(); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
536 this.$store.commit( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
537 "application/paneSetup", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
538 Object.keys(this.currentProfile).length |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
539 ? "COMPARESURVEYS_FAIRWAYPROFILE" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
540 : "COMPARESURVEYS" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
541 ); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
542 this.$store.commit("map/syncedMaps", [COMPARESURVEYS.compare.id]); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
543 } else { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
544 this.$store.commit( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
545 "application/paneSetup", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
546 Object.keys(this.currentProfile).length ? "FAIRWAYPROFILE" : "DEFAULT" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
547 ); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
548 this.$store.commit("map/syncedMaps", []); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
549 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
550 this.loadProfile(survey); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
551 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
552 selectedCut(cut) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
553 if (cut) { |
4502
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
554 if (cut.depth) { |
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
555 this.depth = cut.depth; |
4528
0bad1dcdb044
client: Fairwayprofile: save the state of the enable/disable button for custom depth
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4526
diff
changeset
|
556 this.useCustomDepth = cut.useCustomDepth; |
4502
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
557 } |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
558 this.applyCoordinates(cut.coordinates); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
559 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
560 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
561 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
562 methods: { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
563 toggleSyncMaps() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
564 if (this.mapsAreSynced) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
565 this.$store.commit( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
566 "map/syncedMaps", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
567 this.syncedMaps.filter(m => m !== COMPARESURVEYS.compare.id) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
568 ); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
569 } else { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
570 this.$store.commit("map/syncedMaps", [COMPARESURVEYS.compare.id]); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
571 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
572 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
573 loadDifferences() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
574 this.$store.commit("fairwayprofile/setDifferencesLoading", true); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
575 HTTP.post( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
576 "/diff", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
577 { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
578 bottleneck: this.selectedSurvey.bottleneck_id, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
579 minuend: this.selectedSurvey.date_info, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
580 subtrahend: this.additionalSurvey.date_info |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
581 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
582 { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
583 headers: { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
584 "X-Gemma-Auth": localStorage.getItem("token") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
585 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
586 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
587 ) |
4525
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
588 .then(response => { |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
589 this.$store.commit( |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
590 "fairwayprofile/setCurrentDifference", |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
591 response.data.id |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
592 ); |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
593 if (this.openLayersMap(COMPARESURVEYS.compare.id)) { |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
594 this.openLayersMap(COMPARESURVEYS.compare.id) |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
595 .getLayer("DIFFERENCES") |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
596 .getSource() |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
597 .updateParams({ |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
598 LAYERS: "sounding_differences", |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
599 VERSION: "1.1.1", |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
600 TILED: true, |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
601 CQL_FILTER: "id=" + response.data.id |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
602 }); |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
603 this.openLayersMap(COMPARESURVEYS.compare.id) |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
604 .getLayer("DIFFERENCES") |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
605 .getSource() |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
606 .refresh(); |
4526
b3261790a9b2
Set differences layers visibility to false on survey change to avoid showing both layers.
Raimund Renkert <raimund@renkert.org>
parents:
4525
diff
changeset
|
607 this.openLayersMap(COMPARESURVEYS.compare.id) |
b3261790a9b2
Set differences layers visibility to false on survey change to avoid showing both layers.
Raimund Renkert <raimund@renkert.org>
parents:
4525
diff
changeset
|
608 .getLayer("DIFFERENCES") |
b3261790a9b2
Set differences layers visibility to false on survey change to avoid showing both layers.
Raimund Renkert <raimund@renkert.org>
parents:
4525
diff
changeset
|
609 .setVisible(false); |
4525
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
610 } |
9887061df57b
Use CQL filter to load the current survey difference.
Raimund Renkert <raimund@renkert.org>
parents:
4521
diff
changeset
|
611 }) |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
612 .catch(error => { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
613 let status, data, message; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
614 if (error.response) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
615 status = error.response.status; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
616 data = error.response.data; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
617 message = `${status}: ${data.message || data}`; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
618 } else { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
619 message = error; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
620 } |
4683
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
621 if (status === 429) { |
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
622 displayInfo({ |
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
623 message: this.$gettext( |
4684
00a2c761493e
changed error message for too many ongoing difference calcs
Thomas Junk <thomas.junk@intevation.de>
parents:
4683
diff
changeset
|
624 "Too many difference calculations already in progress. Please try again later." |
4683
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
625 ) |
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
626 }); |
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
627 } else { |
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
628 displayError({ |
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
629 title: this.$gettext("Backend Error"), |
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
630 message: message |
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
631 }); |
c15185297fff
info about ongoing difference calculations
Thomas Junk <thomas.junk@intevation.de>
parents:
4528
diff
changeset
|
632 } |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
633 }) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
634 .finally(() => { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
635 this.$store.commit("fairwayprofile/setDifferencesLoading", false); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
636 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
637 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
638 showDifferences() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
639 this.openLayersMap(COMPARESURVEYS.compare.id) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
640 .getLayer("BOTTLENECKISOLINE") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
641 .setVisible(false); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
642 this.openLayersMap(COMPARESURVEYS.compare.id) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
643 .getLayer("DIFFERENCES") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
644 .setVisible(true); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
645 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
646 showSurvey() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
647 this.openLayersMap(COMPARESURVEYS.compare.id) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
648 .getLayer("BOTTLENECKISOLINE") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
649 .setVisible(true); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
650 this.openLayersMap(COMPARESURVEYS.compare.id) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
651 .getLayer("DIFFERENCES") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
652 .setVisible(false); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
653 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
654 close() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
655 this.$store.commit("application/showProfiles", false); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
656 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
657 loadProfile(survey) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
658 if (survey) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
659 this.$store.commit("fairwayprofile/profileLoading", true); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
660 this.$store |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
661 .dispatch("fairwayprofile/loadProfile", survey) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
662 .finally(() => { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
663 this.$store.commit("fairwayprofile/profileLoading", false); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
664 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
665 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
666 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
667 toggleCutTool() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
668 this.$store.commit("map/cutToolEnabled", !this.cutToolEnabled); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
669 this.$store.commit("map/lineToolEnabled", false); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
670 this.$store.commit("map/polygonToolEnabled", false); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
671 this.$store.commit("map/setCurrentMeasurement", null); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
672 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
673 onCopyCoordinates() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
674 displayInfo({ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
675 message: this.$gettext("Coordinates copied to clipboard!") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
676 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
677 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
678 applyManualCoordinates() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
679 const coordinates = this.coordinatesInput |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
680 .split(",") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
681 .map(coord => parseFloat(coord.trim())); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
682 this.selectedCut = null; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
683 this.coordinatesInput = ""; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
684 this.applyCoordinates([ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
685 coordinates[1], |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
686 coordinates[0], |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
687 coordinates[3], |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
688 coordinates[2] |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
689 ]); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
690 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
691 applyCoordinates(coordinates) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
692 // allow only numbers |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
693 coordinates = coordinates.filter(c => Number(c) === c); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
694 if (coordinates.length === 4) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
695 // draw line on map |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
696 this.openLayersMaps.forEach(m => { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
697 m.getLayer("CUTTOOL") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
698 .getSource() |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
699 .clear(); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
700 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
701 const cut = new Feature({ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
702 geometry: new LineString([ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
703 [coordinates[0], coordinates[1]], |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
704 [coordinates[2], coordinates[3]] |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
705 ]).transform("EPSG:4326", "EPSG:3857") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
706 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
707 this.openLayersMaps.forEach(m => { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
708 m.getLayer("CUTTOOL") |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
709 .getSource() |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
710 .addFeature(cut); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
711 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
712 |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
713 // draw diagram |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
714 this.$store.dispatch("fairwayprofile/cut", cut); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
715 } else { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
716 displayError({ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
717 title: this.$gettext("Invalid input"), |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
718 message: this.$gettext( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
719 "Please enter correct coordinates in the format: Lat,Lon,Lat,Lon" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
720 ) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
721 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
722 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
723 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
724 saveCut() { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
725 const previousCuts = |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
726 JSON.parse(localStorage.getItem("previousCuts")) || []; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
727 const newEntry = { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
728 label: this.cutLabel, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
729 bottleneckName: this.selectedBottleneck, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
730 coordinates: [...this.startPoint, ...this.endPoint], |
4502
4c3851391b6d
client: fairwayprofile: implement custom depth for x-cuts
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4488
diff
changeset
|
731 timestamp: new Date().getTime(), |
4528
0bad1dcdb044
client: Fairwayprofile: save the state of the enable/disable button for custom depth
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4526
diff
changeset
|
732 depth: this.depth, |
0bad1dcdb044
client: Fairwayprofile: save the state of the enable/disable button for custom depth
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4526
diff
changeset
|
733 useCustomDepth: this.useCustomDepth |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
734 }; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
735 const existingEntry = previousCuts.find(cut => { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
736 return JSON.stringify(cut) === JSON.stringify(newEntry); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
737 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
738 if (!existingEntry) previousCuts.push(newEntry); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
739 if (previousCuts.length > 100) previousCuts.shift(); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
740 localStorage.setItem("previousCuts", JSON.stringify(previousCuts)); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
741 this.$store.dispatch("fairwayprofile/previousCuts"); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
742 |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
743 this.showLabelInput = false; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
744 displayInfo({ |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
745 title: this.$gettext("Profile saved!"), |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
746 message: this.$gettext( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
747 'You can now select these coordinates from the "Saved cross profiles" menu to restore this cross profile.' |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
748 ) |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
749 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
750 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
751 deleteSelectedSurvey() { |
4402
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
752 HTTP.post( |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
753 "/imports/dsr", |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
754 { |
4406
d336a78985ad
bottleneck_dialogue: send correct bottleneck_id
Thomas Junk <thomas.junk@intevation.de>
parents:
4402
diff
changeset
|
755 "bottleneck-id": this.selectedSurvey.bottleneck_id, |
4402
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
756 "date-info": this.selectedSurvey.date_info |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
757 }, |
4402
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
758 { |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
759 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
760 } |
4402
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
761 ) |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
762 .then(() => { |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
763 displayInfo({ |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
764 title: this.$gettext("Survey"), |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
765 message: |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
766 this.$gettext("Deleting ") + |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
767 `${this.selectedBottleneck}: ${this.selectedSurvey.date_info}` |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
768 }); |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
769 }) |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
770 .catch(error => { |
4869
6b054b91d9b2
backend not reachable as error message etd. Login adjusted
Thomas Junk <thomas.junk@intevation.de>
parents:
4868
diff
changeset
|
771 let message = "Backend not reachable"; |
4868
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4684
diff
changeset
|
772 if (error.response) { |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4684
diff
changeset
|
773 const { status, data } = error.response; |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4684
diff
changeset
|
774 message = `${status}: ${data.message || data}`; |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4684
diff
changeset
|
775 } |
4402
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
776 displayError({ |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
777 title: this.$gettext("Backend Error"), |
4868
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4684
diff
changeset
|
778 message: message |
4402
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
779 }); |
5e894e680e0d
dsr implemented in frontend
Thomas Junk <thomas.junk@intevation.de>
parents:
4324
diff
changeset
|
780 }); |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
781 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
782 deleteSelectedCut(cut) { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
783 this.$store.commit("application/popup", { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
784 icon: "trash", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
785 title: this.$gettext("Delete cross profile"), |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
786 content: |
4324
36d384326407
BottleneckDialogue: Prototype for delete of surveys implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
4322
diff
changeset
|
787 `<small><b>` + |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
788 this.$gettext("Do you really want to delete the cross profile:") + |
4324
36d384326407
BottleneckDialogue: Prototype for delete of surveys implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
4322
diff
changeset
|
789 `</b><br> |
36d384326407
BottleneckDialogue: Prototype for delete of surveys implemented
Thomas Junk <thomas.junk@intevation.de>
parents:
4322
diff
changeset
|
790 ${cut.label}</small>`, |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
791 confirm: { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
792 label: this.$gettext("Delete"), |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
793 icon: "trash", |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
794 callback: () => { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
795 let previousCuts = |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
796 JSON.parse(localStorage.getItem("previousCuts")) || []; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
797 previousCuts = previousCuts.filter(cut => { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
798 return JSON.stringify(cut) !== JSON.stringify(this.selectedCut); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
799 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
800 localStorage.setItem("previousCuts", JSON.stringify(previousCuts)); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
801 this.$store.commit("fairwayprofile/selectedCut", null); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
802 this.$store.dispatch("fairwayprofile/previousCuts"); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
803 displayInfo({ title: this.$gettext("Profile deleted!") }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
804 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
805 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
806 cancel: { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
807 label: this.$gettext("Cancel"), |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
808 icon: "times" |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
809 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
810 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
811 }, |
4479
2d2c9f98360a
Bottlenecks: Instead of dynamically scroll use crosshairs button
Thomas Junk <thomas.junk@intevation.de>
parents:
4406
diff
changeset
|
812 takeMeThere() { |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
813 const bottleneck = this.bottlenecksList.find( |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
814 bn => bn.properties.name === this.selectedBottleneck |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
815 ); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
816 if (!bottleneck) return; |
4488
bff6c5c1db4f
client: pdf-gen: improve adding bottleneck info to pdf
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4479
diff
changeset
|
817 this.$store.commit( |
bff6c5c1db4f
client: pdf-gen: improve adding bottleneck info to pdf
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4479
diff
changeset
|
818 "bottlenecks/setBottleneckForPrint", |
bff6c5c1db4f
client: pdf-gen: improve adding bottleneck info to pdf
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4479
diff
changeset
|
819 this.selectedBottleneck |
bff6c5c1db4f
client: pdf-gen: improve adding bottleneck info to pdf
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4479
diff
changeset
|
820 ); |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
821 this.$store.dispatch("map/moveToFeauture", { |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
822 feature: bottleneck, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
823 zoom: 17, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
824 preventZoomOut: true |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
825 }); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
826 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
827 }, |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
828 mounted() { |
4521
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
829 this.$store.dispatch("usermanagement/loadUsers").catch(error => { |
4869
6b054b91d9b2
backend not reachable as error message etd. Login adjusted
Thomas Junk <thomas.junk@intevation.de>
parents:
4868
diff
changeset
|
830 let message = "Backend not reachable"; |
4868
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4684
diff
changeset
|
831 if (error.response) { |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4684
diff
changeset
|
832 const { status, data } = error.response; |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4684
diff
changeset
|
833 message = `${status}: ${data.message || data}`; |
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4684
diff
changeset
|
834 } |
4521
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
835 displayError({ |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
836 title: this.$gettext("Backend Error"), |
4868
008bc1ae8897
exception handling
Thomas Junk <thomas.junk@intevation.de>
parents:
4684
diff
changeset
|
837 message: message |
4521
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
838 }); |
245e6215361e
Client: BottleneckDialogue: fix rights on creating the deletion job for (SR)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4502
diff
changeset
|
839 }); |
4322
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
840 this.$store.dispatch("bottlenecks/loadBottlenecksList"); |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
841 } |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
842 }; |
fabe67e204e7
bottleneckDialogue added
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
843 </script> |