Mercurial > gemma
annotate client/src/components/fairway/AvailableFairwayDepthLNWL.vue @ 4869:6b054b91d9b2
backend not reachable as error message etd. Login adjusted
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Thu, 19 Dec 2019 09:35:14 +0100 |
parents | b6d8570b8480 |
children | 89b6978afc58 |
rev | line source |
---|---|
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
1 <template> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
2 <div class="d-flex flex-column flex-fill"> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
3 <UIBoxHeader icon="chart-area" :title="title" :closeCallback="close" /> |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
4 <UISpinnerOverlay v-if="loading" /> |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
5 <div class="d-flex flex-fill"> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
6 <DiagramLegend> |
3366 | 7 <div v-for="(entry, index) in legendLNWL" :key="index" class="legend"> |
3474 | 8 <span |
9 :style=" | |
10 `${legendStyle( | |
11 index | |
12 )}; border-radius: 0.25rem; width: 40px; height: 20px;` | |
13 " | |
14 ></span> | |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
15 {{ entry }} |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
16 </div> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
17 <div> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
18 <select |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
19 @change="applyChange" |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
20 v-model="form.template" |
3466
dfa97aad1134
client: unify the buttons style for diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3463
diff
changeset
|
21 class="form-control d-block custom-select-sm w-100 mt-2" |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
22 > |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
23 <option |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
24 v-for="template in templates" |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
25 :value="template" |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
26 :key="template.name" |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
27 > |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
28 {{ template.name }} |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
29 </option> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
30 </select> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
31 <button |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
32 @click="downloadPDF" |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
33 type="button" |
3466
dfa97aad1134
client: unify the buttons style for diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3463
diff
changeset
|
34 class="btn btn-sm btn-info d-block w-100 mt-2" |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
35 > |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
36 <translate>Export to PDF</translate> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
37 </button> |
3450
213b703bdd85
afdLNWL: CSV-Export
Thomas Junk <thomas.junk@intevation.de>
parents:
3437
diff
changeset
|
38 <a |
213b703bdd85
afdLNWL: CSV-Export
Thomas Junk <thomas.junk@intevation.de>
parents:
3437
diff
changeset
|
39 :href="dataLink" |
4803
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
40 :download="`${fileName}.csv`" |
3466
dfa97aad1134
client: unify the buttons style for diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3463
diff
changeset
|
41 class="mt-2 btn btn-sm btn-info w-100" |
4598
96283fc7de02
client: mark strings for translations(AFD,AFDLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4473
diff
changeset
|
42 ><translate>Download CSV</translate></a |
3437 | 43 > |
4803
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
44 <a |
4808
db450fcc8ed7
client: add title for the exported image
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4805
diff
changeset
|
45 @click="downloadImage('AFDvsLNWLpng', title)" |
4805
7de099c4824c
client: image-export: improve hyperlink ids for download
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4803
diff
changeset
|
46 id="AFDvsLNWLpng" |
4803
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
47 class=" btn btn-sm btn-info text-white d-block w-100 mt-2" |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
48 :download="`${fileName}.png`" |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
49 > |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
50 <translate>Download Image</translate> |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
51 </a> |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
52 </div> |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
53 <div class="btn-group-toggle w-100 mt-2"> |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
54 <label |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
55 class="btn btn-outline-secondary btn-sm" |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
56 :class="{ active: showNumbers }" |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
57 ><input |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
58 type="checkbox" |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
59 v-model="showNumbers" |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
60 autocomplete="off" |
4598
96283fc7de02
client: mark strings for translations(AFD,AFDLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4473
diff
changeset
|
61 /><translate>Numbers</translate> |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
62 </label> |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
63 </div> |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
64 </DiagramLegend> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
65 <div |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
66 ref="diagramContainer" |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
67 :id="containerId" |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
68 class="diagram-container flex-fill" |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
69 ></div> |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
70 </div> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
71 </div> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
72 </template> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
73 |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
74 <style></style> |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
75 |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
76 <script> |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
77 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
78 * without warranty, see README.md and license for details. |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
79 * |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
80 * SPDX-License-Identifier: AGPL-3.0-or-later |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
81 * License-Filename: LICENSES/AGPL-3.0.txt |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
82 * |
3800
26325370ba18
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
3780
diff
changeset
|
83 * Copyright (C) 2018, 2019 by via donau |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
84 * – Österreichische Wasserstraßen-Gesellschaft mbH |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
85 * Software engineering by Intevation GmbH |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
86 * |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
87 * Author(s): |
3800
26325370ba18
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
3780
diff
changeset
|
88 * * Thomas Junk <thomas.junk@intevation.de> |
26325370ba18
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
3780
diff
changeset
|
89 * * Markus Kottländer <markus.kottlaender@intevation.de> |
26325370ba18
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
3780
diff
changeset
|
90 * * Fadi Abbud <fadi.abbud@intevation.de> |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
91 * * Bernhard Reiter <bernhard.reiter@intevation.de> |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
92 */ |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
93 import * as d3 from "d3"; |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
94 import app from "@/main"; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
95 import debounce from "debounce"; |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
96 import { mapState } from "vuex"; |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
97 import filters from "@/lib/filters.js"; |
3963
feb53713bc2f
client: moved duplicated code to mixins and unified code patterns in diagram components [WIP]
Markus Kottlaender <markus@intevation.de>
parents:
3941
diff
changeset
|
98 import { diagram, pdfgen, templateLoader } from "@/lib/mixins"; |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
99 import { HTTP } from "@/lib/http"; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
100 import { displayError } from "@/lib/errors"; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
101 import { defaultDiagramTemplate } from "@/lib/DefaultDiagramTemplate"; |
4665
c47c8085cc7e
client: translation: implement marking of diagram labels
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4598
diff
changeset
|
102 import { localeDateString } from "@/lib/datelocalization"; |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
103 |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
104 export default { |
3940
f56d14b9d9f1
available_fairway_depth_lnwl: leverage mixin
Thomas Junk <thomas.junk@intevation.de>
parents:
3927
diff
changeset
|
105 mixins: [diagram, pdfgen, templateLoader], |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
106 components: { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
107 DiagramLegend: () => import("@/components/DiagramLegend") |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
108 }, |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
109 data() { |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
110 return { |
4387
65d575505480
AFDLNWL: frequency decoupled
Thomas Junk <thomas.junk@intevation.de>
parents:
4383
diff
changeset
|
111 frequencyD: null, |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
112 selectedFairwayAvailabilityFeatureD: null, |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
113 fromDate: null, |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
114 toDate: null, |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
115 depthlimit1D: null, |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
116 depthlimit2D: null, |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
117 widthlimit1D: null, |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
118 widthlimit2D: null, |
3918
1e837d86bead
available_fairway_lnwl: fixed containerID
Thomas Junk <thomas.junk@intevation.de>
parents:
3916
diff
changeset
|
119 containerId: "availablefairwaydepthlnwl-diagram-container", |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
120 resizeListenerFunction: null, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
121 loading: false, |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
122 scalePaddingLeft: 60, |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
123 scalePaddingRight: 0, |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
124 paddingTop: 25, |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
125 pdf: { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
126 doc: null, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
127 width: null, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
128 height: null |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
129 }, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
130 form: { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
131 template: null |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
132 }, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
133 templateData: null, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
134 templates: [], |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
135 defaultTemplate: defaultDiagramTemplate, |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
136 showNumbers: false |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
137 }; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
138 }, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
139 created() { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
140 this.resizeListenerFunction = debounce(this.drawDiagram, 100); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
141 window.addEventListener("resize", this.resizeListenerFunction); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
142 }, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
143 destroyed() { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
144 window.removeEventListener("resize", this.resizeListenerFunction); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
145 }, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
146 mounted() { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
147 // Nasty but necessary if we don't want to use the updated hook to re-draw |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
148 // the diagram because this would re-draw it also for irrelevant reasons. |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
149 // In this case we need to wait for the child component (DiagramLegend) to |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
150 // render. According to the docs (https://vuejs.org/v2/api/#mounted) this |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
151 // should be possible with $nextTick() but it doesn't work because it does |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
152 // not guarantee that the DOM is not only updated but also re-painted on the |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
153 // screen. |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
154 setTimeout(this.drawDiagram, 150); |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
155 this.initDiagramValues(); |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
156 this.templates[0] = this.defaultTemplate; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
157 this.form.template = this.templates[0]; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
158 this.templateData = this.form.template; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
159 HTTP.get("/templates/diagram", { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
160 headers: { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
161 "X-Gemma-Auth": localStorage.getItem("token"), |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
162 "Content-type": "text/xml; charset=UTF-8" |
3963
feb53713bc2f
client: moved duplicated code to mixins and unified code patterns in diagram components [WIP]
Markus Kottlaender <markus@intevation.de>
parents:
3941
diff
changeset
|
163 } |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
164 }) |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
165 .then(response => { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
166 if (response.data.length) { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
167 this.templates = response.data; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
168 this.form.template = this.templates[0]; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
169 this.templates[this.templates.length] = this.defaultTemplate; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
170 this.applyChange(); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
171 } |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
172 }) |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
173 .catch(e => { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
174 const { status, data } = e.response; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
175 displayError({ |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
176 title: this.$gettext("Backend Error"), |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
177 message: `${status}: ${data.message || data}` |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
178 }); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
179 }); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
180 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
181 computed: { |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
182 ...mapState("fairwayavailability", [ |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
183 "selectedFairwayAvailabilityFeature", |
3299
ef52926ce2fc
available_fairwaydepth_vs_lnwl: Scales adjusted
Thomas Junk <thomas.junk@intevation.de>
parents:
3296
diff
changeset
|
184 "fwLNWLData", |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
185 "from", |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
186 "to", |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
187 "frequency", |
3471 | 188 "csv", |
189 "depthlimit1", | |
190 "depthlimit2", | |
191 "widthlimit1", | |
192 "widthlimit2" | |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
193 ]), |
3471 | 194 legendLNWL() { |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
195 const d = [this.depthlimit1D, this.depthlimit2D].sort(); |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
196 const w = [this.widthlimit1D, this.widthlimit2D].sort(); |
4425
fe8c331760ae
client: FWD: correct values for diagramlegend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4409
diff
changeset
|
197 const lowerBound = [d[0] / 100, w[0]].filter(x => x).join(", "); |
fe8c331760ae
client: FWD: correct values for diagramlegend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4409
diff
changeset
|
198 const upperBound = [d[1] / 100, w[1]].filter(x => x).join(", "); |
4011
44060b9027da
available_fairway_depth: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
3992
diff
changeset
|
199 let result; |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
200 if (this.depthlimit1D !== this.depthlimit2D) { |
4011
44060b9027da
available_fairway_depth: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
3992
diff
changeset
|
201 result = [ |
44060b9027da
available_fairway_depth: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
3992
diff
changeset
|
202 `> LDC`, |
4425
fe8c331760ae
client: FWD: correct values for diagramlegend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4409
diff
changeset
|
203 `< ${lowerBound} [m]`, |
fe8c331760ae
client: FWD: correct values for diagramlegend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4409
diff
changeset
|
204 `< ${upperBound} [m]`, |
fe8c331760ae
client: FWD: correct values for diagramlegend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4409
diff
changeset
|
205 `>= ${upperBound} [m]` |
4011
44060b9027da
available_fairway_depth: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
3992
diff
changeset
|
206 ]; |
44060b9027da
available_fairway_depth: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
3992
diff
changeset
|
207 } else { |
4425
fe8c331760ae
client: FWD: correct values for diagramlegend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4409
diff
changeset
|
208 result = [`> LDC`, `< ${upperBound} [m]`, `>= ${upperBound} [m]`]; |
4011
44060b9027da
available_fairway_depth: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
3992
diff
changeset
|
209 } |
44060b9027da
available_fairway_depth: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
3992
diff
changeset
|
210 return result; |
3471 | 211 }, |
3437 | 212 dataLink() { |
213 return `data:text/csv;charset=utf-8, ${encodeURIComponent(this.csv)}`; | |
214 }, | |
4803
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
215 fileName() { |
4387
65d575505480
AFDLNWL: frequency decoupled
Thomas Junk <thomas.junk@intevation.de>
parents:
4383
diff
changeset
|
216 if (!this.frequencyD) return; |
4803
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
217 return this.downloadFilename( |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
218 this.$gettext("FairwayAvailabilityVsLNWL"), |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
219 this.featureName |
4677
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
220 ); |
3437 | 221 }, |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
222 availability() { |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
223 return this.plainAvailability; |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
224 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
225 title() { |
4387
65d575505480
AFDLNWL: frequency decoupled
Thomas Junk <thomas.junk@intevation.de>
parents:
4383
diff
changeset
|
226 if (!this.frequencyD) return; |
4598
96283fc7de02
client: mark strings for translations(AFD,AFDLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4473
diff
changeset
|
227 return `${this.$gettext("Available Fairway Depth vs LNWL:")} ${ |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
228 this.featureName |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
229 } (${filters.surveyDate(this.fromDate)} - ${filters.surveyDate( |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
230 this.toDate |
4387
65d575505480
AFDLNWL: frequency decoupled
Thomas Junk <thomas.junk@intevation.de>
parents:
4383
diff
changeset
|
231 )}) ${this.$gettext(this.frequencyD)}`; |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
232 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
233 featureName() { |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
234 if (this.selectedFairwayAvailabilityFeatureD == null) return ""; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
235 return this.selectedFairwayAvailabilityFeatureD.properties.name; |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
236 } |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
237 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
238 methods: { |
4809
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
239 addLegendToCanvas(ctx, { width, height }) { |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
240 let x = width / 20, |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
241 y = height - 35; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
242 ctx.font = "14px sans-serif"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
243 ctx.textAlign = "start"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
244 if (this.legendLNWL[3]) { |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
245 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
246 ctx.fillStyle = this.$options.LWNLCOLORS.LDC; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
247 ctx.strokeStyle = this.$options.LWNLCOLORS.LDC; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
248 ctx.rect(x, y, 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
249 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
250 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
251 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
252 ctx.fillText(this.legendLNWL[0], x + 40, y + 13); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
253 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
254 |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
255 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
256 ctx.fillStyle = this.$options.AFDCOLORS[2]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
257 ctx.strokeStyle = this.$options.AFDCOLORS[2]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
258 ctx.rect(x, (y += 25), 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
259 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
260 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
261 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
262 ctx.fillText(this.legendLNWL[1], x + 40, y + 13); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
263 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
264 |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
265 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
266 ctx.fillStyle = this.$options.AFDCOLORS[1]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
267 ctx.strokeStyle = this.$options.AFDCOLORS[1]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
268 ctx.rect(x, (y += 25), 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
269 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
270 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
271 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
272 ctx.fillText(this.legendLNWL[2], x + 40, y + 13); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
273 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
274 |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
275 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
276 ctx.fillStyle = this.$options.AFDCOLORS[0]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
277 ctx.strokeStyle = this.$options.AFDCOLORS[0]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
278 ctx.rect(x, (y += 25), 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
279 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
280 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
281 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
282 ctx.fillText(this.legendLNWL[2], x + 40, y + 13); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
283 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
284 } else { |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
285 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
286 ctx.fillStyle = this.$options.LWNLCOLORS.LDC; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
287 ctx.strokeStyle = this.$options.LWNLCOLORS.LDC; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
288 ctx.rect(x, y, 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
289 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
290 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
291 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
292 ctx.fillText(this.legendLNWL[0], x + 40, y + 13); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
293 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
294 |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
295 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
296 ctx.fillStyle = this.$options.AFDCOLORS[2]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
297 ctx.strokeStyle = this.$options.AFDCOLORS[2]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
298 ctx.rect(x, (y += 25), 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
299 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
300 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
301 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
302 ctx.fillText(this.legendLNWL[1], x + 40, y + 13); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
303 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
304 |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
305 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
306 ctx.fillStyle = this.$options.AFDCOLORS[0]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
307 ctx.strokeStyle = this.$options.AFDCOLORS[0]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
308 ctx.rect(x, (y += 25), 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
309 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
310 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
311 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
312 ctx.fillText(this.legendLNWL[2], x + 40, y + 13); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
313 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
314 } |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
315 }, |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
316 initDiagramValues() { |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
317 this.selectedFairwayAvailabilityFeatureD = this.selectedFairwayAvailabilityFeature; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
318 this.fromDate = this.from; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
319 this.toDate = this.to; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
320 this.depthlimit1D = this.depthlimit1; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
321 this.depthlimit2D = this.depthlimit2; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
322 this.widthlimit1D = this.widthlimit1; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
323 this.widthlimit2D = this.widthlimit2; |
4387
65d575505480
AFDLNWL: frequency decoupled
Thomas Junk <thomas.junk@intevation.de>
parents:
4383
diff
changeset
|
324 this.frequencyD = this.frequency; |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
325 }, |
3474 | 326 legendStyle(index) { |
4012
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
327 let style; |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
328 if (this.depthlimit1 !== this.depthlimit2) { |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
329 style = { |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
330 0: `background-color: ${this.$options.LWNLCOLORS.LDC};`, |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
331 1: `background-color: ${this.$options.AFDCOLORS[2]};`, |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
332 2: `background-color: ${this.$options.AFDCOLORS[1]};`, |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
333 3: `background-color: ${this.$options.AFDCOLORS[0]};` |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
334 }; |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
335 } else { |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
336 style = { |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
337 0: `background-color: ${this.$options.LWNLCOLORS.LDC};`, |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
338 1: `background-color: ${this.$options.AFDCOLORS[2]};`, |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
339 2: `background-color: ${this.$options.AFDCOLORS[0]};` |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
340 }; |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
341 } |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
342 |
3474 | 343 return style[index]; |
344 }, | |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
345 applyChange() { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
346 if (this.form.template.hasOwnProperty("properties")) { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
347 this.templateData = this.defaultTemplate; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
348 return; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
349 } |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
350 if (this.form.template) { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
351 this.loadTemplates("/templates/diagram/" + this.form.template.name) |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
352 .then(response => { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
353 this.prepareImages(response.data.template_data.elements).then( |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
354 values => { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
355 values.forEach(v => { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
356 response.data.template_data.elements[v.index].url = v.url; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
357 }); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
358 this.templateData = response.data.template_data; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
359 } |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
360 ); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
361 }) |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
362 .catch(e => { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
363 const { status, data } = e.response; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
364 displayError({ |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
365 title: this.$gettext("Backend Error"), |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
366 message: `${status}: ${data.message || data}` |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
367 }); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
368 }); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
369 } |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
370 }, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
371 downloadPDF() { |
4598
96283fc7de02
client: mark strings for translations(AFD,AFDLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4473
diff
changeset
|
372 let title = `${this.$gettext("Available Fairway Depth vs LNWL:")} ${ |
96283fc7de02
client: mark strings for translations(AFD,AFDLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4473
diff
changeset
|
373 this.featureName |
96283fc7de02
client: mark strings for translations(AFD,AFDLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4473
diff
changeset
|
374 }`; |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
375 this.generatePDF({ |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
376 templateData: this.templateData, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
377 diagramTitle: title |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
378 }); |
4677
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
379 this.pdf.doc.save( |
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
380 this.downloadFilename( |
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
381 this.$gettext("FairwayAvailabilityVsLNWL"), |
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
382 this.featureName |
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
383 ) + ".pdf" |
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
384 ); |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
385 }, |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
386 addDiagramLegend(position, offset, color) { |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
387 let x = offset.x, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
388 y = offset.y; |
3333
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
389 this.pdf.doc.setFontSize(10); |
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
390 let width = |
3489
e6673f35d5d1
client: diagram-template: improve diagramlegend element (AvailableFairwayDepthLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3484
diff
changeset
|
391 (this.pdf.doc.getStringUnitWidth(">= LDC") * 10) / (72 / 25.6) + 15; |
3333
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
392 // if position is on the right, x needs to be calculate with pdf width and |
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
393 // the size of the element |
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
394 if (["topright", "bottomright"].indexOf(position) !== -1) { |
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
395 x = this.pdf.width - offset.x - width; |
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
396 } |
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
397 if (["bottomright", "bottomleft"].indexOf(position) !== -1) { |
3489
e6673f35d5d1
client: diagram-template: improve diagramlegend element (AvailableFairwayDepthLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3484
diff
changeset
|
398 y = this.pdf.height - offset.y - this.getTextHeight(6); |
3333
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
399 } |
4012
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
400 if (this.legendLNWL[3]) { |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
401 this.pdf.doc.setTextColor(color); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
402 this.pdf.doc.setDrawColor(this.$options.LWNLCOLORS.LDC); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
403 this.pdf.doc.setFillColor(this.$options.LWNLCOLORS.LDC); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
404 this.pdf.doc.roundedRect(x, y, 10, 4, 1.5, 1.5, "FD"); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
405 this.pdf.doc.text(this.legendLNWL[0], x + 12, y + 3); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
406 |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
407 this.pdf.doc.setDrawColor(this.$options.AFDCOLORS[2]); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
408 this.pdf.doc.setFillColor(this.$options.AFDCOLORS[2]); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
409 this.pdf.doc.roundedRect(x, y + 5, 10, 4, 1.5, 1.5, "FD"); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
410 this.pdf.doc.text(this.legendLNWL[1], x + 12, y + 8); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
411 |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
412 this.pdf.doc.setDrawColor(this.$options.AFDCOLORS[1]); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
413 this.pdf.doc.setFillColor(this.$options.AFDCOLORS[1]); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
414 this.pdf.doc.roundedRect(x, y + 10, 10, 4, 1.5, 1.5, "FD"); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
415 this.pdf.doc.text(this.legendLNWL[2], x + 12, y + 13); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
416 |
4012
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
417 this.pdf.doc.setDrawColor(this.$options.AFDCOLORS[0]); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
418 this.pdf.doc.setFillColor(this.$options.AFDCOLORS[0]); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
419 this.pdf.doc.roundedRect(x, y + 15, 10, 4, 1.5, 1.5, "FD"); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
420 this.pdf.doc.text(this.legendLNWL[3], x + 12, y + 18); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
421 } else { |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
422 this.pdf.doc.setTextColor(color); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
423 this.pdf.doc.setDrawColor(this.$options.LWNLCOLORS.LDC); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
424 this.pdf.doc.setFillColor(this.$options.LWNLCOLORS.LDC); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
425 this.pdf.doc.roundedRect(x, y, 10, 4, 1.5, 1.5, "FD"); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
426 this.pdf.doc.text(this.legendLNWL[0], x + 12, y + 3); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
427 |
4012
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
428 this.pdf.doc.setDrawColor(this.$options.AFDCOLORS[2]); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
429 this.pdf.doc.setFillColor(this.$options.AFDCOLORS[2]); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
430 this.pdf.doc.roundedRect(x, y + 5, 10, 4, 1.5, 1.5, "FD"); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
431 this.pdf.doc.text(this.legendLNWL[1], x + 12, y + 8); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
432 |
4012
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
433 this.pdf.doc.setDrawColor(this.$options.AFDCOLORS[0]); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
434 this.pdf.doc.setFillColor(this.$options.AFDCOLORS[0]); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
435 this.pdf.doc.roundedRect(x, y + 10, 10, 4, 1.5, 1.5, "FD"); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
436 this.pdf.doc.text(this.legendLNWL[2], x + 12, y + 13); |
7a0f56f9d0dd
available_fairway_depth_LNWL: in case the limits are equal the middle label is omitted. and in print too
Thomas Junk <thomas.junk@intevation.de>
parents:
4011
diff
changeset
|
437 } |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
438 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
439 close() { |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
440 this.$store.commit("application/paneSetup", "DEFAULT"); |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
441 }, |
4136
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
442 getPrintLayout(svgHeight, svgWidth) { |
3941
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
443 return { |
4136
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
444 main: { |
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
445 top: 0, |
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
446 right: Math.floor(svgWidth * 0.025), |
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
447 bottom: Math.floor(svgHeight * 0.17), |
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
448 left: Math.floor(svgWidth * 0.025) |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
449 } |
3941
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
450 }; |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
451 }, |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
452 drawDiagram() { |
4665
c47c8085cc7e
client: translation: implement marking of diagram labels
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4598
diff
changeset
|
453 d3.timeFormatDefaultLocale(localeDateString); |
3941
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
454 const elem = document.querySelector("#" + this.containerId); |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
455 const svgWidth = elem != null ? elem.clientWidth : 0; |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
456 const svgHeight = elem != null ? elem.clientHeight : 0; |
4136
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
457 const layout = this.getPrintLayout(svgHeight, svgWidth); |
3941
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
458 const dimensions = this.getDimensions({ |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
459 svgHeight, |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
460 svgWidth, |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
461 ...layout |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
462 }); |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
463 d3.select(".diagram-container svg").remove(); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
464 this.renderTo({ element: ".diagram-container", dimensions }); |
3377
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
465 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
466 drawTooltip(diagram) { |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
467 diagram |
3377
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
468 .append("text") |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
469 .text("") |
3377
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
470 .attr("font-size", "0.8em") |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
471 .attr("opacity", 0) |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
472 .attr("id", "tooltip"); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
473 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
474 renderTo({ element, dimensions }) { |
3913
9ec50fd5c9fa
available_fairwaydepthLNWL: readd padding.top
Thomas Junk <thomas.junk@intevation.de>
parents:
3912
diff
changeset
|
475 let diagram = d3 |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
476 .select(element) |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
477 .append("svg") |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
478 .attr("width", "100%") |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
479 .attr("height", "100%"); |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
480 diagram = diagram.append("g"); |
4803
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
481 diagram |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
482 .append("g") |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
483 .append("rect") |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
484 .attr("width", "100%") |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
485 .attr("height", "100%") |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
486 .attr("fill", "#ffffff"); |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
487 const yScale = d3 |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
488 .scaleLinear() |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
489 .domain([0, 100]) |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
490 .range([dimensions.mainHeight - 30, 0]); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
491 this.drawScaleLabel({ diagram, dimensions }); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
492 this.drawScale({ diagram, dimensions, yScale }); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
493 this.drawBars({ diagram, yScale, dimensions }); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
494 this.drawTooltip(diagram); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
495 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
496 drawBars({ diagram, yScale, dimensions }) { |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
497 if (this.fwLNWLData) { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
498 const widthPerItem = Math.min( |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
499 (dimensions.width - this.scalePaddingLeft - this.scalePaddingRight) / |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
500 this.fwLNWLData.length, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
501 180 |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
502 ); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
503 const spaceBetween = widthPerItem * 0.2; |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
504 const afdWidth = widthPerItem * 0.5; |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
505 const ldcWidth = widthPerItem * 0.3; |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
506 this.fwLNWLData.forEach((data, i) => { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
507 this.drawLNWL( |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
508 data, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
509 i, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
510 diagram, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
511 spaceBetween, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
512 widthPerItem, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
513 ldcWidth, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
514 yScale |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
515 ); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
516 this.drawAFD( |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
517 data, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
518 i, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
519 diagram, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
520 spaceBetween, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
521 widthPerItem, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
522 ldcWidth, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
523 yScale, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
524 afdWidth |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
525 ); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
526 this.drawLabel(data.date, i, diagram, widthPerItem, dimensions); |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
527 }); |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
528 } |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
529 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
530 drawLabel(date, i, diagram, widthPerItem, dimensions) { |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
531 diagram |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
532 .append("text") |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
533 .text(date) |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
534 .attr("text-anchor", "middle") |
3922
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
535 .attr("font-size", 10) |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
536 .attr( |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
537 "transform", |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
538 `translate(${this.scalePaddingLeft + |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
539 widthPerItem * i + |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
540 widthPerItem / 2} ${dimensions.mainHeight + this.paddingTop - 5})` |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
541 ); |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
542 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
543 drawAFD( |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
544 data, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
545 i, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
546 diagram, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
547 spaceBetween, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
548 widthPerItem, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
549 ldcWidth, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
550 yScale, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
551 afdWidth |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
552 ) { |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
553 let afd = diagram |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
554 .append("g") |
3386 | 555 .attr( |
556 "transform", | |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
557 `translate(${this.scalePaddingLeft + |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
558 spaceBetween / 2 + |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
559 widthPerItem * i + |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
560 ldcWidth})` |
3386 | 561 ); |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
562 afd |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
563 .selectAll("rect") |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
564 .data([data.above, data.between, data.below]) |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
565 .enter() |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
566 .append("rect") |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
567 .on("mouseover", function() { |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
568 d3.select(this).attr("opacity", "0.8"); |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
569 d3.select("#tooltip").attr("opacity", 1); |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
570 }) |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
571 .on("mouseout", function() { |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
572 d3.select(this).attr("opacity", 1); |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
573 d3.select("#tooltip").attr("opacity", 0); |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
574 }) |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
575 .on("mousemove", function(d) { |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
576 let y = d3.mouse(this)[1]; |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
577 const dy = document |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
578 .querySelector(".diagram-container") |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
579 .getBoundingClientRect().left; |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
580 d3.select("#tooltip") |
3907
7b172a1fd9e7
client: available fairway depth diagram: rounded values in tooltip
Markus Kottlaender <markus@intevation.de>
parents:
3905
diff
changeset
|
581 .text(Math.round(d)) |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
582 .attr("y", y - 10) |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
583 .attr("x", d3.event.pageX - dy); |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
584 //d3.event.pageX gives coordinates relative to SVG |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
585 //dy gives offset of svg on page |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
586 }) |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
587 .attr("height", d => { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
588 return yScale(0) - yScale(d); |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
589 }) |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
590 .attr("y", (d, i) => { |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
591 if (i === 0) { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
592 return yScale(d); |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
593 } |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
594 if (i === 1) { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
595 return yScale(data.above + d); |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
596 } |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
597 if (i === 2) { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
598 return yScale(data.above + data.between + d); |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
599 } |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
600 }) |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
601 .attr("transform", `translate(0 ${this.paddingTop})`) |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
602 .attr("width", afdWidth) |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
603 .attr("fill", (d, i) => { |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
604 return this.$options.AFDCOLORS[i]; |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
605 }); |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
606 if (this.showNumbers) { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
607 afd |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
608 .selectAll("text") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
609 .data([data.above, data.between, data.below]) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
610 .enter() |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
611 .append("text") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
612 .attr("fill", "black") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
613 .attr("text-anchor", "middle") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
614 .attr("x", ldcWidth / 2) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
615 .attr("y", (d, i) => { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
616 let h = d; // i == 0 |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
617 if (i > 0) { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
618 h += data.above; |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
619 } |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
620 if (i > 1) { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
621 h += data.between; |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
622 } |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
623 return yScale(h + 0.8) + this.paddingTop; |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
624 }) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
625 .text(d => (d > 0 ? Math.round(d) : "")) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
626 .attr("font-size", "8"); |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
627 } |
3368
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
628 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
629 drawLNWL(data, i, diagram, spaceBetween, widthPerItem, ldcWidth, yScale) { |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
630 let lnwl = diagram |
3368
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
631 .append("g") |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
632 .attr( |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
633 "transform", |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
634 `translate(${this.scalePaddingLeft + |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
635 spaceBetween / 2 + |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
636 widthPerItem * i})` |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
637 ); |
3368
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
638 lnwl |
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
639 .append("rect") |
3461
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
640 .datum([data.ldc]) |
3377
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
641 .on("mouseover", function() { |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
642 d3.select(this).attr("opacity", "0.8"); |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
643 d3.select("#tooltip").attr("opacity", 1); |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
644 }) |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
645 .on("mouseout", function() { |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
646 d3.select(this).attr("opacity", 1); |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
647 d3.select("#tooltip").attr("opacity", 0); |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
648 }) |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
649 .on("mousemove", function(d) { |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
650 let y = d3.mouse(this)[1]; |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
651 const dy = document |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
652 .querySelector(".diagram-container") |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
653 .getBoundingClientRect().left; |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
654 d3.select("#tooltip") |
3907
7b172a1fd9e7
client: available fairway depth diagram: rounded values in tooltip
Markus Kottlaender <markus@intevation.de>
parents:
3905
diff
changeset
|
655 .text(Math.round(d[0])) |
3377
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
656 .attr("y", y - 10) |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
657 .attr("x", d3.event.pageX - dy); |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
658 //d3.event.pageX gives coordinates relative to SVG |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
659 //dy gives offset of svg on page |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
660 }) |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
661 .attr("height", d => yScale(0) - yScale(d)) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
662 .attr("y", d => yScale(d)) |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
663 .attr("transform", `translate(0 ${this.paddingTop})`) |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
664 .attr("width", ldcWidth) |
3463
6f4dad7473d7
afdLNWL: basical usage of classbreaks
Thomas Junk <thomas.junk@intevation.de>
parents:
3461
diff
changeset
|
665 .attr("fill", () => { |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
666 return this.$options.LWNLCOLORS.LDC; |
3368
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
667 }); |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
668 if (this.showNumbers) { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
669 // we do not need to bind data or a datum as the forEach in drawBars |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
670 // already brings us only one datum in data |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
671 lnwl |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
672 .append("text") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
673 .attr("y", yScale(data.ldc + 0.8) + this.paddingTop) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
674 .text(data.ldc) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
675 .attr("text-anchor", "left") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
676 .attr("fill", "black") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
677 .attr("font-size", "8"); |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
678 } |
3368
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
679 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
680 drawScaleLabel({ diagram, dimensions }) { |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
681 diagram |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
682 .append("text") |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
683 .text(this.$options.LEGEND) |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
684 .attr("text-anchor", "middle") |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
685 .attr("x", 0) |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
686 .attr("y", 0) |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
687 .attr("dy", "20") |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
688 .attr("fill", "black") |
3814
ff8ca2d80ce9
client: improve pdf generation towards vector diagrams
Bernhard Reiter <bernhard@intevation.de>
parents:
3806
diff
changeset
|
689 // translate a few mm to the right to allow for slightly higher letters |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
690 .attr( |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
691 "transform", |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
692 `translate(2, ${(dimensions.mainHeight + this.paddingTop) / |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
693 2}), rotate(-90)` |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
694 ); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
695 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
696 drawScale({ diagram, dimensions, yScale }) { |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
697 const yAxisLeft = d3 |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
698 .axisLeft() |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
699 .tickSizeInner( |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
700 dimensions.width - this.scalePaddingLeft - this.scalePaddingRight |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
701 ) |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
702 .tickSizeOuter(0) |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
703 .scale(yScale); |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
704 const yAxisRight = d3 |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
705 .axisRight() |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
706 .tickSizeInner( |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
707 dimensions.width - this.scalePaddingLeft - this.scalePaddingRight |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
708 ) |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
709 .tickSizeOuter(0) |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
710 .scale(yScale); |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
711 |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
712 diagram |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
713 .append("g") |
3876
0c6ef9e655fc
client: available fairway depth diagrams: added second y-axis on the right
Markus Kottlaender <markus@intevation.de>
parents:
3717
diff
changeset
|
714 .attr( |
0c6ef9e655fc
client: available fairway depth diagrams: added second y-axis on the right
Markus Kottlaender <markus@intevation.de>
parents:
3717
diff
changeset
|
715 "transform", |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
716 `translate(${dimensions.width - this.scalePaddingRight} ${ |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
717 this.paddingTop |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
718 })` |
3876
0c6ef9e655fc
client: available fairway depth diagrams: added second y-axis on the right
Markus Kottlaender <markus@intevation.de>
parents:
3717
diff
changeset
|
719 ) |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
720 .call(yAxisLeft) |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
721 .selectAll(".tick text") |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
722 .attr("fill", "black") |
3922
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
723 .attr("font-size", 10) |
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
724 .attr("dy", 3) |
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
725 .attr("dx", -3) |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
726 .select(function() { |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
727 return this.parentNode; |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
728 }) |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
729 .selectAll(".tick line") |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
730 .attr("stroke-dasharray", 5) |
3905
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
731 .attr("stroke", "#ccc") |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
732 .select(function() { |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
733 return this.parentNode; |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
734 }) |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
735 .filter(d => d === 0) |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
736 .selectAll(".tick line") |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
737 .attr("stroke-dasharray", "none") |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
738 .attr("stroke", "#333"); |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
739 diagram |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
740 .append("g") |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
741 .attr( |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
742 "transform", |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
743 `translate(${this.scalePaddingLeft} ${this.paddingTop})` |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
744 ) |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
745 .call(yAxisRight) |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
746 .selectAll(".tick text") |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
747 .attr("fill", "black") |
3922
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
748 .attr("font-size", 10) |
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
749 .attr("dy", 3) |
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
750 .attr("dx", 3) |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
751 .select(function() { |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
752 return this.parentNode; |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
753 }) |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
754 .selectAll(".tick line") |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
755 .attr("stroke", "transparent"); |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
756 diagram.selectAll(".domain").attr("stroke", "black"); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
757 } |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
758 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
759 watch: { |
3299
ef52926ce2fc
available_fairwaydepth_vs_lnwl: Scales adjusted
Thomas Junk <thomas.junk@intevation.de>
parents:
3296
diff
changeset
|
760 fwLNWLData() { |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
761 this.initDiagramValues(); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
762 this.drawDiagram(); |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
763 }, |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
764 showNumbers() { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
765 this.drawDiagram(); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
766 } |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
767 }, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
768 LEGEND: app.$gettext("Percent"), |
4319
0d516bac1aae
bottleneck fairway availability: minor layout adjustments
Thomas Junk <thomas.junk@intevation.de>
parents:
4312
diff
changeset
|
769 AFDCOLORS: ["blue", "darksalmon", "hotpink"], |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
770 LWNLCOLORS: { |
4312
8926fc81e4de
client: unify legend colors for fairway availability diagrams
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4136
diff
changeset
|
771 LDC: "aqua", |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
772 HDC: "#43FFE1" |
3381 | 773 } |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
774 }; |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
775 </script> |