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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 };