Mercurial > gemma
annotate client/src/components/fairway/AvailableFairwayDepthLNWL.vue @ 5627:7768f14f6535 729-node-js-newer-version
Transformed scss variables into css custom properties
author | Luisa Beerboom <lbeerboom@intevation.de> |
---|---|
date | Tue, 09 May 2023 13:17:58 +0200 |
parents | 89b6978afc58 |
children |
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() { |
5482
89b6978afc58
Client:FWA: Fix Legend of AFDvsLNWL
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4809
diff
changeset
|
195 const d = [this.depthlimit1D, this.depthlimit2D].sort((a, b) => a - b); |
89b6978afc58
Client:FWA: Fix Legend of AFDvsLNWL
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4809
diff
changeset
|
196 const w = [this.widthlimit1D, this.widthlimit2D].sort((a, b) => a - b); |
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; |
5482
89b6978afc58
Client:FWA: Fix Legend of AFDvsLNWL
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4809
diff
changeset
|
200 if ( |
89b6978afc58
Client:FWA: Fix Legend of AFDvsLNWL
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4809
diff
changeset
|
201 this.depthlimit1D !== this.depthlimit2D || |
89b6978afc58
Client:FWA: Fix Legend of AFDvsLNWL
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4809
diff
changeset
|
202 this.widthlimit1 !== this.widthlimit2 |
89b6978afc58
Client:FWA: Fix Legend of AFDvsLNWL
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4809
diff
changeset
|
203 ) { |
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
|
204 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
|
205 `> LDC`, |
4425
fe8c331760ae
client: FWD: correct values for diagramlegend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4409
diff
changeset
|
206 `< ${lowerBound} [m]`, |
fe8c331760ae
client: FWD: correct values for diagramlegend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4409
diff
changeset
|
207 `< ${upperBound} [m]`, |
fe8c331760ae
client: FWD: correct values for diagramlegend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4409
diff
changeset
|
208 `>= ${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 } else { |
4425
fe8c331760ae
client: FWD: correct values for diagramlegend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4409
diff
changeset
|
211 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
|
212 } |
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
|
213 return result; |
3471 | 214 }, |
3437 | 215 dataLink() { |
216 return `data:text/csv;charset=utf-8, ${encodeURIComponent(this.csv)}`; | |
217 }, | |
4803
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
218 fileName() { |
4387
65d575505480
AFDLNWL: frequency decoupled
Thomas Junk <thomas.junk@intevation.de>
parents:
4383
diff
changeset
|
219 if (!this.frequencyD) return; |
4803
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
220 return this.downloadFilename( |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
221 this.$gettext("FairwayAvailabilityVsLNWL"), |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
222 this.featureName |
4677
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
223 ); |
3437 | 224 }, |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
225 availability() { |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
226 return this.plainAvailability; |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
227 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
228 title() { |
4387
65d575505480
AFDLNWL: frequency decoupled
Thomas Junk <thomas.junk@intevation.de>
parents:
4383
diff
changeset
|
229 if (!this.frequencyD) return; |
4598
96283fc7de02
client: mark strings for translations(AFD,AFDLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4473
diff
changeset
|
230 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
|
231 this.featureName |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
232 } (${filters.surveyDate(this.fromDate)} - ${filters.surveyDate( |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
233 this.toDate |
4387
65d575505480
AFDLNWL: frequency decoupled
Thomas Junk <thomas.junk@intevation.de>
parents:
4383
diff
changeset
|
234 )}) ${this.$gettext(this.frequencyD)}`; |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
235 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
236 featureName() { |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
237 if (this.selectedFairwayAvailabilityFeatureD == null) return ""; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
238 return this.selectedFairwayAvailabilityFeatureD.properties.name; |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
239 } |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
240 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
241 methods: { |
4809
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
242 addLegendToCanvas(ctx, { width, height }) { |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
243 let x = width / 20, |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
244 y = height - 35; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
245 ctx.font = "14px sans-serif"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
246 ctx.textAlign = "start"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
247 if (this.legendLNWL[3]) { |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
248 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
249 ctx.fillStyle = this.$options.LWNLCOLORS.LDC; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
250 ctx.strokeStyle = this.$options.LWNLCOLORS.LDC; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
251 ctx.rect(x, y, 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
252 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
253 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
254 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
255 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
|
256 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
257 |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
258 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
259 ctx.fillStyle = this.$options.AFDCOLORS[2]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
260 ctx.strokeStyle = this.$options.AFDCOLORS[2]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
261 ctx.rect(x, (y += 25), 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
262 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
263 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
264 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
265 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
|
266 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
267 |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
268 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
269 ctx.fillStyle = this.$options.AFDCOLORS[1]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
270 ctx.strokeStyle = this.$options.AFDCOLORS[1]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
271 ctx.rect(x, (y += 25), 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
272 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
273 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
274 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
275 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
|
276 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
277 |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
278 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
279 ctx.fillStyle = this.$options.AFDCOLORS[0]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
280 ctx.strokeStyle = this.$options.AFDCOLORS[0]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
281 ctx.rect(x, (y += 25), 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
282 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
283 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
284 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
285 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
|
286 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
287 } else { |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
288 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
289 ctx.fillStyle = this.$options.LWNLCOLORS.LDC; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
290 ctx.strokeStyle = this.$options.LWNLCOLORS.LDC; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
291 ctx.rect(x, y, 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
292 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
293 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
294 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
295 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
|
296 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
297 |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
298 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
299 ctx.fillStyle = this.$options.AFDCOLORS[2]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
300 ctx.strokeStyle = this.$options.AFDCOLORS[2]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
301 ctx.rect(x, (y += 25), 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
302 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
303 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
304 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
305 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
|
306 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
307 |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
308 ctx.beginPath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
309 ctx.fillStyle = this.$options.AFDCOLORS[0]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
310 ctx.strokeStyle = this.$options.AFDCOLORS[0]; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
311 ctx.rect(x, (y += 25), 35, 20); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
312 ctx.fill(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
313 ctx.stroke(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
314 ctx.fillStyle = "black"; |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
315 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
|
316 ctx.closePath(); |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
317 } |
b6d8570b8480
client: image-export: add diagram legend
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4808
diff
changeset
|
318 }, |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
319 initDiagramValues() { |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
320 this.selectedFairwayAvailabilityFeatureD = this.selectedFairwayAvailabilityFeature; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
321 this.fromDate = this.from; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
322 this.toDate = this.to; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
323 this.depthlimit1D = this.depthlimit1; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
324 this.depthlimit2D = this.depthlimit2; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
325 this.widthlimit1D = this.widthlimit1; |
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
326 this.widthlimit2D = this.widthlimit2; |
4387
65d575505480
AFDLNWL: frequency decoupled
Thomas Junk <thomas.junk@intevation.de>
parents:
4383
diff
changeset
|
327 this.frequencyD = this.frequency; |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
328 }, |
3474 | 329 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
|
330 let style; |
5482
89b6978afc58
Client:FWA: Fix Legend of AFDvsLNWL
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4809
diff
changeset
|
331 if ( |
89b6978afc58
Client:FWA: Fix Legend of AFDvsLNWL
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4809
diff
changeset
|
332 this.depthlimit1 !== this.depthlimit2 || |
89b6978afc58
Client:FWA: Fix Legend of AFDvsLNWL
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4809
diff
changeset
|
333 this.widthlimit1 !== this.widthlimit2 |
89b6978afc58
Client:FWA: Fix Legend of AFDvsLNWL
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4809
diff
changeset
|
334 ) { |
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
|
335 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
|
336 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
|
337 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
|
338 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
|
339 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
|
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 } 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
|
342 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
|
343 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
|
344 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
|
345 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
|
346 }; |
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
|
347 } |
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
|
348 |
3474 | 349 return style[index]; |
350 }, | |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
351 applyChange() { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
352 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
|
353 this.templateData = this.defaultTemplate; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
354 return; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
355 } |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
356 if (this.form.template) { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
357 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
|
358 .then(response => { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
359 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
|
360 values => { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
361 values.forEach(v => { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
362 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
|
363 }); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
364 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
|
365 } |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
366 ); |
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 .catch(e => { |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
369 const { status, data } = e.response; |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
370 displayError({ |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
371 title: this.$gettext("Backend Error"), |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
372 message: `${status}: ${data.message || data}` |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
373 }); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
374 }); |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
375 } |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
376 }, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
377 downloadPDF() { |
4598
96283fc7de02
client: mark strings for translations(AFD,AFDLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4473
diff
changeset
|
378 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
|
379 this.featureName |
96283fc7de02
client: mark strings for translations(AFD,AFDLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4473
diff
changeset
|
380 }`; |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
381 this.generatePDF({ |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
382 templateData: this.templateData, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
383 diagramTitle: title |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
384 }); |
4677
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
385 this.pdf.doc.save( |
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
386 this.downloadFilename( |
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
387 this.$gettext("FairwayAvailabilityVsLNWL"), |
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
388 this.featureName |
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
389 ) + ".pdf" |
fa55e48bbca1
client: improve filename generation for downloads
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4665
diff
changeset
|
390 ); |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
391 }, |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
392 addDiagramLegend(position, offset, color) { |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
393 let x = offset.x, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
394 y = offset.y; |
3333
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
395 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
|
396 let width = |
3489
e6673f35d5d1
client: diagram-template: improve diagramlegend element (AvailableFairwayDepthLNWL)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3484
diff
changeset
|
397 (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
|
398 // 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
|
399 // 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
|
400 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
|
401 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
|
402 } |
d5dbfba9faae
clinet: pdf-template: fix positioning of diagramlegend (FairwayAvailability,AvailableFairwayDepth)
Fadi Abbud <fadi.abbud@intevation.de>
parents:
3299
diff
changeset
|
403 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
|
404 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
|
405 } |
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
|
406 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
|
407 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
|
408 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
|
409 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
|
410 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
|
411 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
|
412 |
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.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
|
414 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
|
415 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
|
416 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
|
417 |
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.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
|
419 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
|
420 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
|
421 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
|
422 |
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
|
423 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
|
424 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
|
425 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
|
426 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
|
427 } 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
|
428 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
|
429 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
|
430 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
|
431 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
|
432 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
|
433 |
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
|
434 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
|
435 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
|
436 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
|
437 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
|
438 |
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
|
439 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
|
440 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
|
441 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
|
442 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
|
443 } |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
444 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
445 close() { |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
446 this.$store.commit("application/paneSetup", "DEFAULT"); |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
447 }, |
4136
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
448 getPrintLayout(svgHeight, svgWidth) { |
3941
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
449 return { |
4136
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
450 main: { |
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
451 top: 0, |
630b817d12b3
fairway_availability: offsets relative to svgheight and svgwidth
Thomas Junk <thomas.junk@intevation.de>
parents:
4012
diff
changeset
|
452 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
|
453 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
|
454 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
|
455 } |
3941
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
456 }; |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
457 }, |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
458 drawDiagram() { |
4665
c47c8085cc7e
client: translation: implement marking of diagram labels
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4598
diff
changeset
|
459 d3.timeFormatDefaultLocale(localeDateString); |
3941
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
460 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
|
461 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
|
462 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
|
463 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
|
464 const dimensions = this.getDimensions({ |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
465 svgHeight, |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
466 svgWidth, |
7b3935a8d9ee
refactor addDiagram to mixin and remove code duplication
Thomas Junk <thomas.junk@intevation.de>
parents:
3940
diff
changeset
|
467 ...layout |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
468 }); |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
469 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
|
470 this.renderTo({ element: ".diagram-container", dimensions }); |
3377
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
471 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
472 drawTooltip(diagram) { |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
473 diagram |
3377
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
474 .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
|
475 .text("") |
3377
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
476 .attr("font-size", "0.8em") |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
477 .attr("opacity", 0) |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
478 .attr("id", "tooltip"); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
479 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
480 renderTo({ element, dimensions }) { |
3913
9ec50fd5c9fa
available_fairwaydepthLNWL: readd padding.top
Thomas Junk <thomas.junk@intevation.de>
parents:
3912
diff
changeset
|
481 let diagram = d3 |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
482 .select(element) |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
483 .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
|
484 .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
|
485 .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
|
486 diagram = diagram.append("g"); |
4803
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
487 diagram |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
488 .append("g") |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
489 .append("rect") |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
490 .attr("width", "100%") |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
491 .attr("height", "100%") |
b3f65cff13e8
client: FWD,FWDVsLNWL: implement image-export
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4677
diff
changeset
|
492 .attr("fill", "#ffffff"); |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
493 const yScale = d3 |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
494 .scaleLinear() |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
495 .domain([0, 100]) |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
496 .range([dimensions.mainHeight - 30, 0]); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
497 this.drawScaleLabel({ diagram, dimensions }); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
498 this.drawScale({ diagram, dimensions, yScale }); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
499 this.drawBars({ diagram, yScale, dimensions }); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
500 this.drawTooltip(diagram); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
501 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
502 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
|
503 if (this.fwLNWLData) { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
504 const widthPerItem = Math.min( |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
505 (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
|
506 this.fwLNWLData.length, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
507 180 |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
508 ); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
509 const spaceBetween = widthPerItem * 0.2; |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
510 const afdWidth = widthPerItem * 0.5; |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
511 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
|
512 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
|
513 this.drawLNWL( |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
514 data, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
515 i, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
516 diagram, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
517 spaceBetween, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
518 widthPerItem, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
519 ldcWidth, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
520 yScale |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
521 ); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
522 this.drawAFD( |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
523 data, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
524 i, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
525 diagram, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
526 spaceBetween, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
527 widthPerItem, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
528 ldcWidth, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
529 yScale, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
530 afdWidth |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
531 ); |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
532 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
|
533 }); |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
534 } |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
535 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
536 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
|
537 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
|
538 .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
|
539 .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
|
540 .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
|
541 .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
|
542 .attr( |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
543 "transform", |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
544 `translate(${this.scalePaddingLeft + |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
545 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
|
546 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
|
547 ); |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
548 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
549 drawAFD( |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
550 data, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
551 i, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
552 diagram, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
553 spaceBetween, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
554 widthPerItem, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
555 ldcWidth, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
556 yScale, |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
557 afdWidth |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
558 ) { |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
559 let afd = diagram |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
560 .append("g") |
3386 | 561 .attr( |
562 "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
|
563 `translate(${this.scalePaddingLeft + |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
564 spaceBetween / 2 + |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
565 widthPerItem * i + |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
566 ldcWidth})` |
3386 | 567 ); |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
568 afd |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
569 .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
|
570 .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
|
571 .enter() |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
572 .append("rect") |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
573 .on("mouseover", function() { |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
574 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
|
575 d3.select("#tooltip").attr("opacity", 1); |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
576 }) |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
577 .on("mouseout", function() { |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
578 d3.select(this).attr("opacity", 1); |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
579 d3.select("#tooltip").attr("opacity", 0); |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
580 }) |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
581 .on("mousemove", function(d) { |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
582 let y = d3.mouse(this)[1]; |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
583 const dy = document |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
584 .querySelector(".diagram-container") |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
585 .getBoundingClientRect().left; |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
586 d3.select("#tooltip") |
3907
7b172a1fd9e7
client: available fairway depth diagram: rounded values in tooltip
Markus Kottlaender <markus@intevation.de>
parents:
3905
diff
changeset
|
587 .text(Math.round(d)) |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
588 .attr("y", y - 10) |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
589 .attr("x", d3.event.pageX - dy); |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
590 //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
|
591 //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
|
592 }) |
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
593 .attr("height", d => { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
594 return yScale(0) - yScale(d); |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
595 }) |
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 .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
|
597 if (i === 0) { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
598 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
|
599 } |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
600 if (i === 1) { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
601 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
|
602 } |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
603 if (i === 2) { |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
604 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
|
605 } |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
606 }) |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
607 .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
|
608 .attr("width", afdWidth) |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
609 .attr("fill", (d, i) => { |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
610 return this.$options.AFDCOLORS[i]; |
3380
d83c738e8627
fairway_availability_LNWL: draw chart with MOCKDATA
Thomas Junk <thomas.junk@intevation.de>
parents:
3377
diff
changeset
|
611 }); |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
612 if (this.showNumbers) { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
613 afd |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
614 .selectAll("text") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
615 .data([data.above, data.between, data.below]) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
616 .enter() |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
617 .append("text") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
618 .attr("fill", "black") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
619 .attr("text-anchor", "middle") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
620 .attr("x", ldcWidth / 2) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
621 .attr("y", (d, i) => { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
622 let h = d; // i == 0 |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
623 if (i > 0) { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
624 h += data.above; |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
625 } |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
626 if (i > 1) { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
627 h += data.between; |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
628 } |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
629 return yScale(h + 0.8) + this.paddingTop; |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
630 }) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
631 .text(d => (d > 0 ? Math.round(d) : "")) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
632 .attr("font-size", "8"); |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
633 } |
3368
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
634 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
635 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
|
636 let lnwl = diagram |
3368
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
637 .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
|
638 .attr( |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
639 "transform", |
b43cf476d791
client: spuc05: implemented new data structure (CSV) and added support for multiple charts
Markus Kottlaender <markus@intevation.de>
parents:
3450
diff
changeset
|
640 `translate(${this.scalePaddingLeft + |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
641 spaceBetween / 2 + |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
642 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
|
643 ); |
3368
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
644 lnwl |
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
645 .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
|
646 .datum([data.ldc]) |
3377
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
647 .on("mouseover", function() { |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
648 d3.select(this).attr("opacity", "0.8"); |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
649 d3.select("#tooltip").attr("opacity", 1); |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
650 }) |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
651 .on("mouseout", function() { |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
652 d3.select(this).attr("opacity", 1); |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
653 d3.select("#tooltip").attr("opacity", 0); |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
654 }) |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
655 .on("mousemove", function(d) { |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
656 let y = d3.mouse(this)[1]; |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
657 const dy = document |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
658 .querySelector(".diagram-container") |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
659 .getBoundingClientRect().left; |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
660 d3.select("#tooltip") |
3907
7b172a1fd9e7
client: available fairway depth diagram: rounded values in tooltip
Markus Kottlaender <markus@intevation.de>
parents:
3905
diff
changeset
|
661 .text(Math.round(d[0])) |
3377
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
662 .attr("y", y - 10) |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
663 .attr("x", d3.event.pageX - dy); |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
664 //d3.event.pageX gives coordinates relative to SVG |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
665 //dy gives offset of svg on page |
ccb5455f0713
available_fairway_depthLNWL: tooltips added
Thomas Junk <thomas.junk@intevation.de>
parents:
3368
diff
changeset
|
666 }) |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
667 .attr("height", d => yScale(0) - yScale(d)) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
668 .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
|
669 .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
|
670 .attr("width", ldcWidth) |
3463
6f4dad7473d7
afdLNWL: basical usage of classbreaks
Thomas Junk <thomas.junk@intevation.de>
parents:
3461
diff
changeset
|
671 .attr("fill", () => { |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
672 return this.$options.LWNLCOLORS.LDC; |
3368
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
673 }); |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
674 if (this.showNumbers) { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
675 // 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
|
676 // already brings us only one datum in data |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
677 lnwl |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
678 .append("text") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
679 .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
|
680 .text(data.ldc) |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
681 .attr("text-anchor", "left") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
682 .attr("fill", "black") |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
683 .attr("font-size", "8"); |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
684 } |
3368
70605404f37d
fa_lnwl: prototypical diagram added
Thomas Junk <thomas.junk@intevation.de>
parents:
3366
diff
changeset
|
685 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
686 drawScaleLabel({ diagram, dimensions }) { |
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
687 diagram |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
688 .append("text") |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
689 .text(this.$options.LEGEND) |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
690 .attr("text-anchor", "middle") |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
691 .attr("x", 0) |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
692 .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
|
693 .attr("dy", "20") |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
694 .attr("fill", "black") |
3814
ff8ca2d80ce9
client: improve pdf generation towards vector diagrams
Bernhard Reiter <bernhard@intevation.de>
parents:
3806
diff
changeset
|
695 // 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
|
696 .attr( |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
697 "transform", |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
698 `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
|
699 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
|
700 ); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
701 }, |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
702 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
|
703 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
|
704 .axisLeft() |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
705 .tickSizeInner( |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
706 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
|
707 ) |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
708 .tickSizeOuter(0) |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
709 .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
|
710 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
|
711 .axisRight() |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
712 .tickSizeInner( |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
713 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
|
714 ) |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
715 .tickSizeOuter(0) |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
716 .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
|
717 |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
718 diagram |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
719 .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
|
720 .attr( |
0c6ef9e655fc
client: available fairway depth diagrams: added second y-axis on the right
Markus Kottlaender <markus@intevation.de>
parents:
3717
diff
changeset
|
721 "transform", |
3916
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
722 `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
|
723 this.paddingTop |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
724 })` |
3876
0c6ef9e655fc
client: available fairway depth diagrams: added second y-axis on the right
Markus Kottlaender <markus@intevation.de>
parents:
3717
diff
changeset
|
725 ) |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
726 .call(yAxisLeft) |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
727 .selectAll(".tick text") |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
728 .attr("fill", "black") |
3922
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
729 .attr("font-size", 10) |
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
730 .attr("dy", 3) |
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
731 .attr("dx", -3) |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
732 .select(function() { |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
733 return this.parentNode; |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
734 }) |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
735 .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
|
736 .attr("stroke-dasharray", 5) |
3905
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
737 .attr("stroke", "#ccc") |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
738 .select(function() { |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
739 return this.parentNode; |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
740 }) |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
741 .filter(d => d === 0) |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
742 .selectAll(".tick line") |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
743 .attr("stroke-dasharray", "none") |
3c095749efb2
client: available fairwaydepth diagrams: emphasize 0-ticks
Markus Kottlaender <markus@intevation.de>
parents:
3890
diff
changeset
|
744 .attr("stroke", "#333"); |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
745 diagram |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
746 .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
|
747 .attr( |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
748 "transform", |
c76bbd27f89c
client: AFDvsLNWL diagram: adjusted height to be same as other AFD diagram
Markus Kottlaender <markus@intevation.de>
parents:
3913
diff
changeset
|
749 `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
|
750 ) |
3877
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
751 .call(yAxisRight) |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
752 .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
|
753 .attr("fill", "black") |
3922
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
754 .attr("font-size", 10) |
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
755 .attr("dy", 3) |
32b656e77e2f
client: fwa diagrams: better alignment of tick labels in pdf
Markus Kottlaender <markus@intevation.de>
parents:
3920
diff
changeset
|
756 .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
|
757 .select(function() { |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
758 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
|
759 }) |
d82b5e5868e3
client: available fairway depth diagrams: draw horizontal scale lines for better readability
Markus Kottlaender <markus@intevation.de>
parents:
3876
diff
changeset
|
760 .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
|
761 .attr("stroke", "transparent"); |
3912
b7dfee369f2f
available_fairwaydepthLNWL: factor out sideeffects and render offscreen
Thomas Junk <thomas.junk@intevation.de>
parents:
3907
diff
changeset
|
762 diagram.selectAll(".domain").attr("stroke", "black"); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
763 } |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
764 }, |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
765 watch: { |
3299
ef52926ce2fc
available_fairwaydepth_vs_lnwl: Scales adjusted
Thomas Junk <thomas.junk@intevation.de>
parents:
3296
diff
changeset
|
766 fwLNWLData() { |
4383
59a7b7ec56c4
Available_Fairway_DepthLNWL: decouple diagraminfo from selection
Thomas Junk <thomas.junk@intevation.de>
parents:
4359
diff
changeset
|
767 this.initDiagramValues(); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
768 this.drawDiagram(); |
4359
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
769 }, |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
770 showNumbers() { |
057787583b12
client: add showNumbers option to AvailableFairwayDepthLNWL
Bernhard Reiter <bernhard@intevation.de>
parents:
4319
diff
changeset
|
771 this.drawDiagram(); |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
772 } |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
773 }, |
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
774 LEGEND: app.$gettext("Percent"), |
4319
0d516bac1aae
bottleneck fairway availability: minor layout adjustments
Thomas Junk <thomas.junk@intevation.de>
parents:
4312
diff
changeset
|
775 AFDCOLORS: ["blue", "darksalmon", "hotpink"], |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
776 LWNLCOLORS: { |
4312
8926fc81e4de
client: unify legend colors for fairway availability diagrams
Fadi Abbud <fadi.abbud@intevation.de>
parents:
4136
diff
changeset
|
777 LDC: "aqua", |
3992
2f024d6189ca
Reverted merge with diagram-cleanup -- its not yet ready.
Sascha Wilde <wilde@intevation.de>
parents:
3965
diff
changeset
|
778 HDC: "#43FFE1" |
3381 | 779 } |
3296
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
780 }; |
fa7dc3f31ef3
available_fairwaydepth_vs_lnwl: POC etd.
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
781 </script> |