Mercurial > gemma
annotate client/src/store/fairwayavailability.js @ 3347:cd745be63f71
available_fairway_depth: draw lower levels refactored
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Tue, 21 May 2019 11:48:15 +0200 |
parents | 8c96b7379aea |
children | dcae9b3e864b |
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 |
3330
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
24 /** |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
25 * Maximum number of hours: |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
26 * Month: approx 744/720/672 hours for 31/30/21 days |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
27 * Quarter: aprrox 2160 per quarter (~90 days) |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
28 * Yearly: approx 8760 per year (~365 days) |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
29 */ |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
30 const MOCKDATA = { |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
31 [FREQUENCIES.MONTHLY]: ` |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
32 #label,# >= LDC [h],# < 200.00 [h],# >= 200.00 [h],# >= 230.00 [h],# >= 250.00 [h] |
3347
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
33 05-2018,670.000,450.000,70.000,50.000,100.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
34 06-2018,669.000,546.000,0.000,0.000,123.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
35 07-2018,671.000,377.000,0.000,0.000,294.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
36 08-2018,668.000,168.000,0.000,0.000,500.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
37 09-2018,673.000,23.000,0.000,0.000,650.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
38 10-2018,670.000,4.000,0.000,0.000,666.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
39 11-2018,672.000,1.000,0.000,0.000,671.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
40 12-2018,675.000,5.000,0.000,0.000,670.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
41 01-2019,677.000,0.000,0.000,0.000,677.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
42 02-2019,668.000,43.000,0.000,0.000,625.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
43 03-2019,660.000,49.000,0.000,0.000,611.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
44 04-2019,620.000,20.000,0.000,0.000,600.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
45 05-2019,672.000,42.000,0.000,0.000,630.000`, |
3330
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
46 [FREQUENCIES.QUARTERLY]: ` |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
47 #label,# >= LDC [h],# < 200.00 [h],# >= 200.00 [h],# >= 230.00 [h],# >= 250.00 [h] |
3347
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
48 Q2-2018,989.000, 500.000,240.000,260.000,1823.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
49 Q3-2018,1108.000,500.000,180.000,320.000,1956.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
50 Q3-2018,1145.000,500.000,250.000,250.000,2001.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
51 Q1-2019,1155.000,500.000,400.000,100.000,2021.000 |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
52 Q2-2019,1160.000,500.000,300.000,200.000,1998.000`, |
3330
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
53 [FREQUENCIES.YEARLY]: ` |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
54 #label,# >= LDC [h],# < 200.00 [h],# >= 200.00 [h],# >= 230.00 [h],# >= 250.00 [h] |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
55 2018,8360.000,0.000,0.000,0.000,7360.000 |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
56 2019,8153.000,0.000,0.000,0.000,7250.000` |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
57 }; |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
58 |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
59 const init = () => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
60 return { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
61 type: "bottlenecks", |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
62 selectedFairwayAvailabilityFeature: null, |
3288
c2d753ef5aa1
fairway_availability: sane defaults and ISC colors for diagram
Thomas Junk <thomas.junk@intevation.de>
parents:
3215
diff
changeset
|
63 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
|
64 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
|
65 frequency: FREQUENCIES.MONTHLY, |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
66 fwData: null, |
3299
ef52926ce2fc
available_fairwaydepth_vs_lnwl: Scales adjusted
Thomas Junk <thomas.junk@intevation.de>
parents:
3288
diff
changeset
|
67 fwLNWLData: null, |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
68 legend: null, |
3288
c2d753ef5aa1
fairway_availability: sane defaults and ISC colors for diagram
Thomas Junk <thomas.junk@intevation.de>
parents:
3215
diff
changeset
|
69 LOS: 3 |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
70 }; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
71 }; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
72 |
3325
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
73 const fairwayavailability = { |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
74 init, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
75 namespaced: true, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
76 state: init(), |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
77 mutations: { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
78 type: (state, type) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
79 state.type = type; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
80 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
81 setLOS: (state, LOS) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
82 state.LOS = LOS; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
83 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
84 setFrequency: (state, frequency) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
85 state.frequency = frequency; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
86 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
87 setFrom: (state, from) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
88 state.from = from; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
89 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
90 setTo: (state, to) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
91 state.to = to; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
92 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
93 setSelectedFairwayAvailability: (state, feature) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
94 state.selectedFairwayAvailabilityFeature = feature; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
95 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
96 setFwData: (state, fwData) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
97 state.fwData = fwData; |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
98 }, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
99 setLegend: (state, header) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
100 const headerEntries = header.split(","); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
101 headerEntries.shift(); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
102 state.legend = headerEntries.map(x => { |
3326
98ce6d101e01
available_fairway_depth: omit unit
Thomas Junk <thomas.junk@intevation.de>
parents:
3325
diff
changeset
|
103 let entry = x.split("#")[1]; // split leading # |
98ce6d101e01
available_fairway_depth: omit unit
Thomas Junk <thomas.junk@intevation.de>
parents:
3325
diff
changeset
|
104 entry = entry.replace("[h]", "").trim(); // omit unit |
98ce6d101e01
available_fairway_depth: omit unit
Thomas Junk <thomas.junk@intevation.de>
parents:
3325
diff
changeset
|
105 return entry; |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
106 }); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
107 } |
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 actions: { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
110 loadAvailableFairwayDepth: ({ commit }, options) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
111 return new Promise((resolve, reject) => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
112 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
|
113 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
|
114 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
|
115 ? 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
|
116 : feature.properties.name; |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
117 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
|
118 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
|
119 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
|
120 name |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
121 )}?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
|
122 HTTP.get(URL, { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
123 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
|
124 }) |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
125 .then(response => { |
3330
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
126 //const { data } = response; |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
127 const data = MOCKDATA[frequency]; |
0e442b547f6d
mocking fairway_availability
Thomas Junk <thomas.junk@intevation.de>
parents:
3326
diff
changeset
|
128 console.log(data); |
3215
3b36bb33f5b0
available_fairway_depth: omit empty lines after split by newline
Thomas Junk <thomas.junk@intevation.de>
parents:
3207
diff
changeset
|
129 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
|
130 commit("setLegend", csv.shift()); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
131 let transformed = csv.map(e => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
132 const result = e.split(","); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
133 const label = result.shift(); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
134 const ldc = result.shift(); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
135 const highestLevel = result.pop(); |
3347
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
136 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
|
137 let last = 0; |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
138 const levelsWithSum = result.map(x => { |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
139 let result = { |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
140 height: Number(x), |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
141 translateY: sum - (last + Number(x)) |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
142 }; |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
143 last = last + Number(x); |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
144 return result; |
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
145 }); |
3207
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
146 return { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
147 label: label, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
148 ldc: ldc, |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
149 highestLevel: highestLevel, |
3347
cd745be63f71
available_fairway_depth: draw lower levels refactored
Thomas Junk <thomas.junk@intevation.de>
parents:
3334
diff
changeset
|
150 lowerLevels: levelsWithSum |
3207
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 }); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
153 commit("setFwData", transformed); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
154 resolve(response); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
155 }) |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
156 .catch(error => { |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
157 reject(error); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
158 }); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
159 }); |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
160 } |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
161 } |
ba7bc3740fb3
client: renamed store modules to better reflect their context
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
162 }; |
3325
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
163 |
496cf0474e29
fairway_availability_dialogue: extracted frequencies
Thomas Junk <thomas.junk@intevation.de>
parents:
3299
diff
changeset
|
164 export { FREQUENCIES, fairwayavailability }; |