Mercurial > gemma
annotate client/src/components/Maplayer.vue @ 2989:87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Wed, 10 Apr 2019 11:03:15 +0200 |
parents | 1b8bb4f89227 |
children | 44493664d40e |
rev | line source |
---|---|
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
1 <template> |
2549
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
2 <div |
2984
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
3 :id="'map-' + uuid" |
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
4 :class="[ |
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
5 'map', |
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
6 { |
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
7 splitscreen: this.splitscreen, |
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
8 nocursor: this.hasActiveInteractions |
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
9 } |
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
10 ]" |
2549
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
11 ></div> |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
12 </template> |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
13 |
2549
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
14 <style lang="sass" scoped> |
2984
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
15 .map |
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
16 width: 100% |
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
17 height: 100% |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
18 |
2549
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
19 &.splitscreen |
2984
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
20 height: 50% |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
21 |
2549
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
22 &.nocursor |
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
23 cursor: none |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
24 </style> |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
25 |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
26 <script> |
1362
ca33ad696594
remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1313
diff
changeset
|
27 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
28 * without warranty, see README.md and license for details. |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
29 * |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
30 * SPDX-License-Identifier: AGPL-3.0-or-later |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
31 * License-Filename: LICENSES/AGPL-3.0.txt |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
32 * |
1932
e734d48ef964
client: cleanup code: remove browser based printing css attempt
Bernhard Reiter <bernhard@intevation.de>
parents:
1794
diff
changeset
|
33 * Copyright (C) 2018, 2019 by via donau |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
34 * – Österreichische Wasserstraßen-Gesellschaft mbH |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
35 * Software engineering by Intevation GmbH |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
36 * |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
37 * Author(s): |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
38 * * Thomas Junk <thomas.junk@intevation.de> |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
39 * * Bernhard E. Reiter <bernhard.reiter@intevation.de> |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
40 */ |
1613
f2d24dceecc7
refac: cleanup import paths
Thomas Junk <thomas.junk@intevation.de>
parents:
1558
diff
changeset
|
41 import { HTTP } from "@/lib/http"; |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
42 import { mapState } from "vuex"; |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
43 import { Map, View } from "ol"; |
2985
1b8bb4f89227
client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents:
2984
diff
changeset
|
44 import { WFS, GeoJSON } from "ol/format"; |
1b8bb4f89227
client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents:
2984
diff
changeset
|
45 import { equalTo } from "ol/format/filter"; |
1b8bb4f89227
client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents:
2984
diff
changeset
|
46 import { Stroke, Style, Fill } from "ol/style"; |
1b8bb4f89227
client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents:
2984
diff
changeset
|
47 import { displayError } from "@/lib/errors"; |
2989
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
48 import { uuid } from "@/lib/mixins"; |
2984
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
49 import "ol/ol.css"; |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
50 |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
51 /* for the sake of debugging */ |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
52 /* eslint-disable no-console */ |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
53 export default { |
2989
87d34efafb3a
client: added uuid mixin to display multiple instances of the same component in splitview
Markus Kottlaender <markus@intevation.de>
parents:
2985
diff
changeset
|
54 mixins: [uuid], |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
55 data() { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
56 return { |
2549
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
57 splitscreen: false |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
58 }; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
59 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
60 computed: { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
61 ...mapState("map", [ |
2310
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
62 "initialLoad", |
1313
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
63 "extent", |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
64 "layers", |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
65 "openLayersMap", |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
66 "lineTool", |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
67 "polygonTool", |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
68 "cutTool" |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
69 ]), |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
70 ...mapState("bottlenecks", ["selectedSurvey"]), |
1394
b350b0b5cb6c
refactored fairwayprofile cross cuts
Markus Kottlaender <markus@intevation.de>
parents:
1372
diff
changeset
|
71 ...mapState("application", ["showSplitscreen"]), |
2910
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
72 ...mapState("imports", ["selectedStretchId"]), |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
73 hasActiveInteractions() { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
74 return ( |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
75 (this.lineTool && this.lineTool.getActive()) || |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
76 (this.polygonTool && this.polygonTool.getActive()) || |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
77 (this.cutTool && this.cutTool.getActive()) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
78 ); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
79 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
80 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
81 methods: { |
2909
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
82 buildVectorLoader( |
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
83 featureRequestOptions, |
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
84 vectorSource, |
2964
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
85 bboxStrategyDisabled, |
2909
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
86 featurePostProcessor |
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
87 ) { |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
88 // build a function to be used for VectorSource.setLoader() |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
89 // make use of WFS().writeGetFeature to build the request |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
90 // and use our HTTP library to actually do it |
2964
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
91 // NOTE: the geometryName has to be given in featureRequestOptions if |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
92 // bboxStrategy (default) is used |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
93 featureRequestOptions.featureNS = "gemma"; |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
94 featureRequestOptions.featurePrefix = "gemma"; |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
95 featureRequestOptions.outputFormat = "application/json"; |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
96 return (extent, resolution, projection) => { |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
97 if (!bboxStrategyDisabled) { |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
98 featureRequestOptions.bbox = extent; |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
99 } |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
100 featureRequestOptions.srsName = projection.getCode(); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
101 HTTP.post( |
2964
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
102 "/internal/wfs", |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
103 new XMLSerializer().serializeToString( |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
104 new WFS().writeGetFeature(featureRequestOptions) |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
105 ), |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
106 { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
107 headers: { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
108 "X-Gemma-Auth": localStorage.getItem("token"), |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
109 "Content-type": "text/xml; charset=UTF-8" |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
110 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
111 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
112 ) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
113 .then(response => { |
2964
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
114 const features = new GeoJSON().readFeatures( |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
115 JSON.stringify(response.data) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
116 ); |
2909
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
117 if (featurePostProcessor) { |
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
118 features.map(f => featurePostProcessor(f)); |
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
119 } |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
120 vectorSource.addFeatures(features); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
121 }) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
122 .catch(() => { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
123 vectorSource.removeLoadedExtent(extent); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
124 }); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
125 }; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
126 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
127 updateBottleneckFilter(bottleneck_id, datestr) { |
1424
4afbc615cfc2
little code cleanup
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
128 const exists = bottleneck_id != "does_not_exist"; |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
129 |
1424
4afbc615cfc2
little code cleanup
Markus Kottlaender <markus@intevation.de>
parents:
1394
diff
changeset
|
130 if (exists) { |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
131 this.layers.BOTTLENECKISOLINE.getSource().updateParams({ |
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
132 cql_filter: `date_info='${datestr}' AND bottleneck_id='${bottleneck_id}'` |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
133 }); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
134 } |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
135 this.layers.BOTTLENECKISOLINE.setVisible(exists); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
136 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
137 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
138 watch: { |
2549
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
139 showSplitscreen(show) { |
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
140 if (show) { |
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
141 setTimeout(() => { |
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
142 this.splitscreen = true; |
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
143 }, 350); |
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
144 } else { |
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
145 this.splitscreen = false; |
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
146 } |
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
147 }, |
9bf6b767a56a
client: refactored and improved splitscreen for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2506
diff
changeset
|
148 splitscreen() { |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
149 const map = this.openLayersMap; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
150 this.$nextTick(() => { |
1296
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
151 map && map.updateSize(); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
152 }); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
153 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
154 selectedSurvey(newSelectedSurvey) { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
155 if (newSelectedSurvey) { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
156 this.updateBottleneckFilter( |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
157 newSelectedSurvey.bottleneck_id, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
158 newSelectedSurvey.date_info |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
159 ); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
160 } else { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
161 this.updateBottleneckFilter("does_not_exist", "1999-10-01"); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
162 } |
2910
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
163 }, |
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
164 selectedStretchId(id) { |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
165 this.layers.STRETCHES.getSource() |
2910
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
166 .getFeatures() |
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
167 .forEach(f => { |
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
168 f.set("highlighted", false); |
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
169 if (id === f.getId()) { |
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
170 f.set("highlighted", true); |
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
171 } |
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
172 }); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
173 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
174 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
175 mounted() { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
176 let map = new Map({ |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
177 layers: [...Object.values(this.layers)], |
2984
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2966
diff
changeset
|
178 target: "map-" + this.uuid, |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
179 controls: [], |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
180 view: new View({ |
1313
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
181 center: [this.extent.lon, this.extent.lat], |
2139
22bbd0d0500e
client: limit zooming out to roughly Europe
Bernhard Reiter <bernhard@intevation.de>
parents:
2125
diff
changeset
|
182 minZoom: 5, // restrict zooming out to ~size of Europe for width 1000px |
1313
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
183 zoom: this.extent.zoom, |
2966
4bc2cc6364bc
client: inlined component property
Markus Kottlaender <markus@intevation.de>
parents:
2965
diff
changeset
|
184 projection: "EPSG:3857" |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
185 }) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
186 }); |
1313
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
187 map.on("moveend", event => { |
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
188 const center = event.map.getView().getCenter(); |
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
189 this.$store.commit("map/extent", { |
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
190 lat: center[1], |
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
191 lon: center[0], |
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
192 zoom: event.map.getView().getZoom() |
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
193 }); |
e4e35fb2d995
save map extent (center/zoom) in store, to not lose it when switching between map and admin area
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
194 }); |
1296
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
195 this.$store.dispatch("map/openLayersMap", map); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
196 |
2310
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
197 if (this.initialLoad) { |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
198 this.$store.commit("map/initialLoad", false); |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
199 var currentUser = this.$store.state.user.user; |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
200 HTTP.get("/users/" + currentUser, { |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
201 headers: { |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
202 "X-Gemma-Auth": localStorage.getItem("token"), |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
203 "Content-type": "text/xml; charset=UTF-8" |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
204 } |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
205 }) |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
206 .then(response => { |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
207 this.$store.commit("map/moveToBoundingBox", { |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
208 boundingBox: [ |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
209 response.data.extent.x1, |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
210 response.data.extent.y1, |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
211 response.data.extent.x2, |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
212 response.data.extent.y2 |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
213 ], |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
214 zoom: 17, |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
215 preventZoomOut: true |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
216 }); |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
217 }) |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
218 .catch(error => { |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
219 const { status, data } = error.response; |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
220 displayError({ |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
221 title: this.$gettext("Backend Error"), |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
222 message: `${status}: ${data.message || data}` |
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
223 }); |
2190 | 224 }); |
2310
92b21df288e2
client: use user specific extent only on initial load
Markus Kottlaender <markus@intevation.de>
parents:
2308
diff
changeset
|
225 } |
2188
005da2c21b11
client: Zoom to users responisbility area on startup.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2185
diff
changeset
|
226 |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
227 // TODO make display of layers more dynamic, e.g. from a list |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
228 |
2964
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
229 this.layers.FAIRWAYDIMENSIONSLOS1.getSource().setLoader( |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
230 this.buildVectorLoader( |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
231 { |
2184
826fc7309370
client: Added refresh button to reload the WFS layer data.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2157
diff
changeset
|
232 featureTypes: ["fairway_dimensions"], |
2964
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
233 filter: equalTo("level_of_service", 1) |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
234 }, |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
235 this.layers.FAIRWAYDIMENSIONSLOS1.getSource(), |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
236 true |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
237 ) |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
238 ); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
239 |
2964
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
240 this.layers.FAIRWAYDIMENSIONSLOS2.getSource().setLoader( |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
241 this.buildVectorLoader( |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
242 { |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
243 featureTypes: ["fairway_dimensions"], |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
244 filter: equalTo("level_of_service", 2) |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
245 }, |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
246 this.layers.FAIRWAYDIMENSIONSLOS2.getSource(), |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
247 true |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
248 ) |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
249 ); |
2184
826fc7309370
client: Added refresh button to reload the WFS layer data.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2157
diff
changeset
|
250 |
2964
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
251 this.layers.FAIRWAYDIMENSIONSLOS3.getSource().setLoader( |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
252 this.buildVectorLoader( |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
253 { |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
254 featureTypes: ["fairway_dimensions"], |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
255 filter: equalTo("level_of_service", 3) |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
256 }, |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
257 this.layers.FAIRWAYDIMENSIONSLOS3.getSource(), |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
258 true |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
259 ) |
b9625cf91f95
client: maplayer: use buildVectorLoader for fairway dimensions too
Markus Kottlaender <markus@intevation.de>
parents:
2958
diff
changeset
|
260 ); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
261 |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
262 // load following layers with bboxStrategy (using our request builder) |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
263 this.layers.WATERWAYAREA.getSource().setLoader( |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
264 this.buildVectorLoader( |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
265 { |
1794
de4543bfbad5
Use internal waterway area data for map (not d4d wfs).
Sascha Wilde <wilde@intevation.de>
parents:
1719
diff
changeset
|
266 featureTypes: ["waterway_area"], |
de4543bfbad5
Use internal waterway area data for map (not d4d wfs).
Sascha Wilde <wilde@intevation.de>
parents:
1719
diff
changeset
|
267 geometryName: "area" |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
268 }, |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
269 this.layers.WATERWAYAREA.getSource() |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
270 ) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
271 ); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
272 |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
273 this.layers.WATERWAYAXIS.getSource().setLoader( |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
274 this.buildVectorLoader( |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
275 { |
1719
a005816388b7
Use internal waterway axis data for map (not d4d wfs).
Sascha Wilde <wilde@intevation.de>
parents:
1613
diff
changeset
|
276 featureTypes: ["waterway_axis"], |
a005816388b7
Use internal waterway axis data for map (not d4d wfs).
Sascha Wilde <wilde@intevation.de>
parents:
1613
diff
changeset
|
277 geometryName: "wtwaxs" |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
278 }, |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
279 this.layers.WATERWAYAXIS.getSource() |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
280 ) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
281 ); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
282 |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
283 this.layers.WATERWAYPROFILES.getSource().setLoader( |
2157
8be0fbac2297
Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents:
2139
diff
changeset
|
284 this.buildVectorLoader( |
8be0fbac2297
Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents:
2139
diff
changeset
|
285 { |
8be0fbac2297
Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents:
2139
diff
changeset
|
286 featureTypes: ["waterway_profiles"], |
8be0fbac2297
Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents:
2139
diff
changeset
|
287 geometryName: "geom" |
8be0fbac2297
Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents:
2139
diff
changeset
|
288 }, |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
289 this.layers.WATERWAYPROFILES.getSource() |
2157
8be0fbac2297
Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents:
2139
diff
changeset
|
290 ) |
8be0fbac2297
Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents:
2139
diff
changeset
|
291 ); |
8be0fbac2297
Added layer for waterway profiles.
Sascha Wilde <wilde@intevation.de>
parents:
2139
diff
changeset
|
292 |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
293 this.layers.DISTANCEMARKS.getSource().setLoader( |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
294 this.buildVectorLoader( |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
295 { |
2300
3dd2de314b1b
Use distance marks from wamos db in map.
Sascha Wilde <wilde@intevation.de>
parents:
2273
diff
changeset
|
296 featureTypes: ["distance_marks_ashore_geoserver"], |
3dd2de314b1b
Use distance marks from wamos db in map.
Sascha Wilde <wilde@intevation.de>
parents:
2273
diff
changeset
|
297 geometryName: "geom" |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
298 }, |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
299 this.layers.DISTANCEMARKS.getSource() |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
300 ) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
301 ); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
302 |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
303 this.layers.DISTANCEMARKSAXIS.getSource().setLoader( |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
304 this.buildVectorLoader( |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
305 { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
306 featureTypes: ["distance_marks_geoserver"], |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
307 geometryName: "geom" |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
308 }, |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
309 this.layers.DISTANCEMARKSAXIS.getSource() |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
310 ) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
311 ); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
312 |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
313 this.layers.GAUGES.getSource().setLoader( |
2451 | 314 this.buildVectorLoader( |
315 { | |
316 featureTypes: ["gauges_geoserver"], | |
317 geometryName: "geom" | |
318 }, | |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
319 this.layers.GAUGES.getSource() |
2451 | 320 ) |
321 ); | |
322 | |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
323 this.layers.STRETCHES.getSource().setLoader( |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
324 this.buildVectorLoader( |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
325 { |
1943
52a6e63d5dcc
Added stretches layer, removed WW-Area named.
Sascha Wilde <wilde@intevation.de>
parents:
1932
diff
changeset
|
326 featureTypes: ["stretches_geoserver"], |
1983
f9f1babe52ae
Fix area generation from multipolygon input
Tom Gottfried <tom@intevation.de>
parents:
1963
diff
changeset
|
327 geometryName: "area" |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
328 }, |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
329 this.layers.STRETCHES.getSource(), |
2909
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
330 f => { |
2910
c8c7122047a2
client: stretches: select/unselect stretches by clicking on them on the map
Markus Kottlaender <markus@intevation.de>
parents:
2909
diff
changeset
|
331 if (f.getId() === this.selectedStretchId) { |
2909
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
332 f.set("highlighted", true); |
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
333 } |
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
334 return f; |
5105f6ad0176
client: stretches: fixed highlighting of selected stretch
Markus Kottlaender <markus@intevation.de>
parents:
2870
diff
changeset
|
335 } |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
336 ) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
337 ); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
338 |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
339 this.layers.BOTTLENECKSTATUS.getSource().setLoader( |
2482
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
340 this.buildVectorLoader( |
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
341 { |
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
342 featureTypes: ["bottlenecks_geoserver"], |
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
343 geometryName: "area" |
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
344 }, |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
345 this.layers.BOTTLENECKSTATUS.getSource() |
2482
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
346 ) |
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
347 ); |
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
348 |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
349 this.layers.BOTTLENECKS.getSource().setLoader( |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
350 this.buildVectorLoader( |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
351 { |
1963
f7a35ba9f409
Added view for publishing bottlenecks
Sascha Wilde <wilde@intevation.de>
parents:
1958
diff
changeset
|
352 featureTypes: ["bottlenecks_geoserver"], |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
353 geometryName: "area" |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
354 }, |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
355 this.layers.BOTTLENECKS.getSource() |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
356 ) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
357 ); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
358 HTTP.get("/system/style/Bottlenecks/stroke", { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
359 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
360 }) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
361 .then(response => { |
2482
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
362 let btlnStrokeC = response.data.code; |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
363 HTTP.get("/system/style/Bottlenecks/fill", { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
364 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
365 }) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
366 .then(response => { |
2482
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
367 let btlnFillC = response.data.code; |
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
368 var newStyle = new Style({ |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
369 stroke: new Stroke({ |
2482
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
370 color: btlnStrokeC, |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
371 width: 4 |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
372 }), |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
373 fill: new Fill({ |
2482
ae1987c5beb3
client: display bottleneck status in separate layer
Markus Kottlaender <markus@intevation.de>
parents:
2446
diff
changeset
|
374 color: btlnFillC |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
375 }) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
376 }); |
2957
b74ebeb2bdc8
client: layers: improved structure of layer configuration
Markus Kottlaender <markus@intevation.de>
parents:
2951
diff
changeset
|
377 this.layers.BOTTLENECKS.setStyle(newStyle); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
378 }) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
379 .catch(error => { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
380 console.log(error); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
381 }); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
382 }) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
383 .catch(error => { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
384 console.log(error); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
385 }); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
386 |
1958
ae4ada3933af
clean state on identify tool on mount of component
Thomas Junk <thomas.junk@intevation.de>
parents:
1943
diff
changeset
|
387 this.$store.dispatch("map/disableIdentifyTool"); |
1435
7fa030127b05
fixed panning problem
Markus Kottlaender <markus@intevation.de>
parents:
1424
diff
changeset
|
388 this.$store.dispatch("map/enableIdentifyTool"); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
389 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
390 }; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
391 </script> |