Mercurial > gemma
annotate client/src/store/fairwayavailability.js @ 3366:8974efd71917
fa_LNWL: cleanup
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Wed, 22 May 2019 09:33:40 +0200 |
parents | 9625c6120d18 |
children | 70605404f37d |
rev | line source |
---|---|
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
1 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
2 * without warranty, see README.md and license for details. |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
3 * |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
4 * SPDX-License-Identifier: AGPL-3.0-or-later |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
5 * License-Filename: LICENSES/AGPL-3.0.txt |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
6 * |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
7 * Copyright (C) 2018 by via donau |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
8 * – Österreichische Wasserstraßen-Gesellschaft mbH |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
9 * Software engineering by Intevation GmbH |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
10 * |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
11 * Author(s): |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
12 * Thomas Junk <thomas.junk@intevation.de> |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
13 */ |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
14 |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
15 import { HTTP } from "@/lib/http"; |
3288
c2d753ef5aa1
fairway_availability: sane defaults and ISC colors for diagram
Thomas Junk <thomas.junk@intevation.de>
parents:
3215
diff
changeset
|
16 import { format, subYears } from "date-fns"; |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
17 |
3325
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
18 const FREQUENCIES = { |
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
19 MONTHLY: "monthly", |
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
20 QUARTERLY: "quarterly", |
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
21 YEARLY: "yearly" |
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
22 }; |
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
23 |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
24 const init = () => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
25 return { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
26 type: "bottlenecks", |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
27 selectedFairwayAvailabilityFeature: null, |
3288
c2d753ef5aa1
fairway_availability: sane defaults and ISC colors for diagram
Thomas Junk <thomas.junk@intevation.de>
parents:
3215
diff
changeset
|
28 to: format(new Date(), "YYYY-MM-DD"), |
c2d753ef5aa1
fairway_availability: sane defaults and ISC colors for diagram
Thomas Junk <thomas.junk@intevation.de>
parents:
3215
diff
changeset
|
29 from: format(subYears(new Date(), 1), "YYYY-MM-DD"), |
3325
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
30 frequency: FREQUENCIES.MONTHLY, |
3352
399a2eb496ee
available_fairway_depth_dialogue: adding limit fields. without transmission
Thomas Junk <thomas.junk@intevation.de>
parents:
3351
diff
changeset
|
31 depthlimit1: 250, |
399a2eb496ee
available_fairway_depth_dialogue: adding limit fields. without transmission
Thomas Junk <thomas.junk@intevation.de>
parents:
3351
diff
changeset
|
32 depthlimit2: 230, |
3354
e12e8bf044a6
available_fairway_dialogue: added 2nd breadthelement
Thomas Junk <thomas.junk@intevation.de>
parents:
3352
diff
changeset
|
33 breadthlimit1: null, |
e12e8bf044a6
available_fairway_dialogue: added 2nd breadthelement
Thomas Junk <thomas.junk@intevation.de>
parents:
3352
diff
changeset
|
34 breadthlimit2: null, |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
35 fwData: null, |
3299
ef52926ce2fc
available_fairwaydepth_vs_lnwl: Scales adjusted
Thomas Junk <thomas.junk@intevation.de>
parents:
3288
diff
changeset
|
36 fwLNWLData: null, |
3353
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
37 fwLNWLOverviewData: [], |
3366 | 38 legendLNWL: null, |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
39 legend: null, |
3288
c2d753ef5aa1
fairway_availability: sane defaults and ISC colors for diagram
Thomas Junk <thomas.junk@intevation.de>
parents:
3215
diff
changeset
|
40 LOS: 3 |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
41 }; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
42 }; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
43 |
3325
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
44 const fairwayavailability = { |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
45 init, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
46 namespaced: true, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
47 state: init(), |
3353
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
48 getters: { |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
49 fwLNWLOverviewData: state => feature => { |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
50 return state.fwLNWLOverviewData.find( |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
51 d => d.feature.get("id") === feature.get("id") |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
52 ); |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
53 } |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
54 }, |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
55 mutations: { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
56 type: (state, type) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
57 state.type = type; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
58 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
59 setLOS: (state, LOS) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
60 state.LOS = LOS; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
61 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
62 setFrequency: (state, frequency) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
63 state.frequency = frequency; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
64 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
65 setFrom: (state, from) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
66 state.from = from; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
67 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
68 setTo: (state, to) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
69 state.to = to; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
70 }, |
3352
399a2eb496ee
available_fairway_depth_dialogue: adding limit fields. without transmission
Thomas Junk <thomas.junk@intevation.de>
parents:
3351
diff
changeset
|
71 setDepthlimit1: (state, depthlimit1) => { |
399a2eb496ee
available_fairway_depth_dialogue: adding limit fields. without transmission
Thomas Junk <thomas.junk@intevation.de>
parents:
3351
diff
changeset
|
72 state.depthlimit1 = depthlimit1; |
399a2eb496ee
available_fairway_depth_dialogue: adding limit fields. without transmission
Thomas Junk <thomas.junk@intevation.de>
parents:
3351
diff
changeset
|
73 }, |
399a2eb496ee
available_fairway_depth_dialogue: adding limit fields. without transmission
Thomas Junk <thomas.junk@intevation.de>
parents:
3351
diff
changeset
|
74 setDepthlimit2: (state, depthlimit2) => { |
399a2eb496ee
available_fairway_depth_dialogue: adding limit fields. without transmission
Thomas Junk <thomas.junk@intevation.de>
parents:
3351
diff
changeset
|
75 state.depthlimit2 = depthlimit2; |
399a2eb496ee
available_fairway_depth_dialogue: adding limit fields. without transmission
Thomas Junk <thomas.junk@intevation.de>
parents:
3351
diff
changeset
|
76 }, |
3354
e12e8bf044a6
available_fairway_dialogue: added 2nd breadthelement
Thomas Junk <thomas.junk@intevation.de>
parents:
3352
diff
changeset
|
77 setBreadthlimit1: (state, breadthlimit1) => { |
e12e8bf044a6
available_fairway_dialogue: added 2nd breadthelement
Thomas Junk <thomas.junk@intevation.de>
parents:
3352
diff
changeset
|
78 state.breadthlimit1 = breadthlimit1; |
e12e8bf044a6
available_fairway_dialogue: added 2nd breadthelement
Thomas Junk <thomas.junk@intevation.de>
parents:
3352
diff
changeset
|
79 }, |
e12e8bf044a6
available_fairway_dialogue: added 2nd breadthelement
Thomas Junk <thomas.junk@intevation.de>
parents:
3352
diff
changeset
|
80 setBreadthlimit2: (state, breadthlimit2) => { |
e12e8bf044a6
available_fairway_dialogue: added 2nd breadthelement
Thomas Junk <thomas.junk@intevation.de>
parents:
3352
diff
changeset
|
81 state.breadthlimit2 = breadthlimit2; |
3352
399a2eb496ee
available_fairway_depth_dialogue: adding limit fields. without transmission
Thomas Junk <thomas.junk@intevation.de>
parents:
3351
diff
changeset
|
82 }, |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
83 setSelectedFairwayAvailability: (state, feature) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
84 state.selectedFairwayAvailabilityFeature = feature; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
85 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
86 setFwData: (state, fwData) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
87 state.fwData = fwData; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
88 }, |
3353
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
89 addFwLNWLOverviewData: (state, data) => { |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
90 let existingIndex = state.fwLNWLOverviewData.findIndex( |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
91 d => d.feature.get("id") === data.feature.get("id") |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
92 ); |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
93 if (existingIndex !== -1) |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
94 state.fwLNWLOverviewData.splice(existingIndex, 1); |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
95 state.fwLNWLOverviewData.push(data); |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
96 }, |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
97 setLegend: (state, header) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
98 const headerEntries = header.split(","); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
99 headerEntries.shift(); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
100 state.legend = headerEntries.map(x => { |
3326
98ce6d101e01
available_fairway_depth: omit unit
Thomas Junk <thomas.junk@intevation.de>
parents:
3325
diff
changeset
|
101 let entry = x.split("#")[1]; // split leading # |
98ce6d101e01
available_fairway_depth: omit unit
Thomas Junk <thomas.junk@intevation.de>
parents:
3325
diff
changeset
|
102 entry = entry.replace("[h]", "").trim(); // omit unit |
98ce6d101e01
available_fairway_depth: omit unit
Thomas Junk <thomas.junk@intevation.de>
parents:
3325
diff
changeset
|
103 return entry; |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
104 }); |
3366 | 105 }, |
106 setLegendLNWL: (state, headerLNWL) => { | |
107 this.headerLNWL = headerLNWL; | |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
108 } |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
109 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
110 actions: { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
111 loadAvailableFairwayDepth: ({ commit }, options) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
112 return new Promise((resolve, reject) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
113 const { feature, from, to, frequency, LOS } = options; |
3334
8c96b7379aea
client: fairway availability: made store action work with both types of feature objects
Markus Kottlaender <markus@intevation.de>
parents:
3331
diff
changeset
|
114 let name = |
8c96b7379aea
client: fairway availability: made store action work with both types of feature objects
Markus Kottlaender <markus@intevation.de>
parents:
3331
diff
changeset
|
115 feature.constructor.name === "Feature" |
8c96b7379aea
client: fairway availability: made store action work with both types of feature objects
Markus Kottlaender <markus@intevation.de>
parents:
3331
diff
changeset
|
116 ? feature.get("objnam") |
8c96b7379aea
client: fairway availability: made store action work with both types of feature objects
Markus Kottlaender <markus@intevation.de>
parents:
3331
diff
changeset
|
117 : feature.properties.name; |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
118 const start = encodeURIComponent("00:00:00+00:00"); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
119 const end = encodeURIComponent("23:59:59+00:00"); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
120 const URL = `/data/bottleneck/fairway-depth/${encodeURIComponent( |
3334
8c96b7379aea
client: fairway availability: made store action work with both types of feature objects
Markus Kottlaender <markus@intevation.de>
parents:
3331
diff
changeset
|
121 name |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
122 )}?from=${from}T${start}&to=${to}T${end}&mode=${frequency}&los=${LOS}`; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
123 HTTP.get(URL, { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
124 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
125 }) |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
126 .then(response => { |
3351
dcae9b3e864b
available_fairway_depths: remove mocks
Thomas Junk <thomas.junk@intevation.de>
parents:
3347
diff
changeset
|
127 const { data } = response; |
3215
3b36bb33f5b0
available_fairway_depth: omit empty lines after split by newline
Thomas Junk <thomas.junk@intevation.de>
parents:
3207
diff
changeset
|
128 const csv = data.split("\n").filter(x => x !== ""); //omit empty lines |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
129 commit("setLegend", csv.shift()); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
130 let transformed = csv.map(e => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
131 const result = e.split(","); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
132 const label = result.shift(); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
133 const ldc = result.shift(); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
134 const highestLevel = result.pop(); |
3347
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
135 const sum = result.reduce((x, y) => Number(x) + Number(y)); |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
136 let last = 0; |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
137 const levelsWithSum = result.map(x => { |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
138 let result = { |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
139 height: Number(x), |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
140 translateY: sum - (last + Number(x)) |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
141 }; |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
142 last = last + Number(x); |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
143 return result; |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
144 }); |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
145 return { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
146 label: label, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
147 ldc: ldc, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
148 highestLevel: highestLevel, |
3347
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
149 lowerLevels: levelsWithSum |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
150 }; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
151 }); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
152 commit("setFwData", transformed); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
153 resolve(response); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
154 }) |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
155 .catch(error => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
156 reject(error); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
157 }); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
158 }); |
3353
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
159 }, |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
160 loadAvailableFairwayDepthLNWL: (context, options) => { |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
161 return new Promise((resolve, reject) => { |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
162 const { feature, from, to, frequency, LOS } = options; |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
163 let name = |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
164 feature.constructor.name === "Feature" |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
165 ? feature.get("objnam") |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
166 : feature.properties.name; |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
167 const start = encodeURIComponent("00:00:00+00:00"); |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
168 const end = encodeURIComponent("23:59:59+00:00"); |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
169 const URL = `/data/bottleneck/availability/${encodeURIComponent( |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
170 name |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
171 )}?from=${from}T${start}&to=${to}T${end}&mode=${frequency}&los=${LOS}`; |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
172 HTTP.get(URL, { |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
173 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
174 }) |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
175 .then(response => { |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
176 resolve(response.data); |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
177 }) |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
178 .catch(error => { |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
179 reject(error); |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
180 }); |
b01bf2399c20
client: available fairway depth vs lnwl: fetching data for diagrams on map
Markus Kottlaender <markus@intevation.de>
parents:
3352
diff
changeset
|
181 }); |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
182 } |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
183 } |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
184 }; |
3325
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
185 |
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
186 export { FREQUENCIES, fairwayavailability }; |