Mercurial > gemma
annotate client/src/components/Pdftool.vue @ 1715:dd9d90cae683
client: improve translation process
* Add ability to run the translations Makefile with several users
on a multi-user system. For this add -$(LOGNAME) to the template.pot
file. This leave the behaviour of this file as is, it still can be
inspected. And it allows for parallel use of several users.
author | Bernhard Reiter <bernhard@intevation.de> |
---|---|
date | Tue, 08 Jan 2019 16:58:09 +0100 |
parents | c344849538c0 |
children | 9a2fbeaabd52 |
rev | line source |
---|---|
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
1 <template> |
1480 | 2 <div |
3 :class="[ | |
4 'box ui-element rounded bg-white text-nowrap', | |
5 { expanded: showPdfTool } | |
6 ]" | |
7 > | |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
8 <div style="width: 20rem"> |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
9 <h6 class="mb-0 py-2 px-3 border-bottom d-flex align-items-center"> |
1480 | 10 <font-awesome-icon icon="file-pdf" class="mr-2"></font-awesome-icon |
11 ><translate>Generate PDF</translate> | |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
12 <font-awesome-icon |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
13 icon="times" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
14 class="ml-auto text-muted" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
15 @click="$store.commit('application/showPdfTool', false)" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
16 ></font-awesome-icon> |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
17 </h6> |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
18 <div class="p-3"> |
1402
acb71a982837
client: improve translation process docs
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1362
diff
changeset
|
19 <b><translate>Chose format:</translate></b> |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
20 <select v-model="form.format" class="form-control d-block w-100"> |
1635
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
21 <option value="landscape"><translate>landscape</translate></option> |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
22 <option value="portrait"><translate>portrait</translate></option> |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
23 </select> |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
24 <select v-model="form.paperSize" class="form-control d-block w-100"> |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
25 <option value="a3"><translate>ISO A3</translate></option> |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
26 <option value="a4"><translate>ISO A4</translate></option> |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
27 </select> |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
28 <small class="d-block my-2"> |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
29 <input |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
30 type="radio" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
31 id="pdfexport-downloadtype-download" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
32 value="download" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
33 v-model="form.downloadType" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
34 selected |
1480 | 35 /> |
36 <label for="pdfexport-downloadtype-download" class="ml-1 mr-2" | |
37 ><translate>Download</translate></label | |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
38 > |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
39 <input |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
40 type="radio" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
41 id="pdfexport-downloadtype-open" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
42 value="open" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
43 v-model="form.downloadType" |
1480 | 44 /> |
45 <label for="pdfexport-downloadtype-open" class="ml-1" | |
46 ><translate>Open in new window</translate></label | |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
47 > |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
48 </small> |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
49 <button |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
50 @click="download" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
51 type="button" |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
52 class="btn btn-sm btn-info d-block w-100" |
1480 | 53 > |
54 <translate>Generate PDF</translate> | |
55 </button> | |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
56 </div> |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
57 </div> |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
58 </div> |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
59 </template> |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
60 |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
61 <script> |
1362
ca33ad696594
remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1361
diff
changeset
|
62 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
63 * without warranty, see README.md and license for details. |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
64 * |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
65 * SPDX-License-Identifier: AGPL-3.0-or-later |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
66 * License-Filename: LICENSES/AGPL-3.0.txt |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
67 * |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
68 * Copyright (C) 2018 by via donau |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
69 * – Österreichische Wasserstraßen-Gesellschaft mbH |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
70 * Software engineering by Intevation GmbH |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
71 * |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
72 * Author(s): |
1635
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
73 * * Markus Kottländer <markus.kottlaender@intevation.de> |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
74 * * Bernhard E. Reiter <bernhard@intevation.de> |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
75 */ |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
76 import { mapState } from "vuex"; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
77 |
1635
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
78 var paperSizes = { |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
79 // in millimeter, landscape [width, height] |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
80 a3: [420, 297], |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
81 a4: [297, 210] |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
82 }; |
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
83 |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
84 export default { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
85 name: "pdftool", |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
86 data() { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
87 return { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
88 form: { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
89 format: "landscape", |
1635
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
90 paperSize: "a4", |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
91 downloadType: "download" |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
92 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
93 }; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
94 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
95 computed: { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
96 ...mapState("application", ["showPdfTool"]), |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
97 ...mapState("bottlenecks", ["selectedSurvey"]) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
98 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
99 methods: { |
1670
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
100 isLandscape() { |
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
101 return this.form.format !== "portrait"; |
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
102 }, |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
103 download() { |
1670
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
104 /* eslint-disable no-unused-vars */ |
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
105 const width = this.isLandscape() |
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
106 ? paperSizes[this.form.paperSize][0] |
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
107 : paperSizes[this.form.paperSize][1]; |
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
108 const height = this.isLandscape() |
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
109 ? paperSizes[this.form.paperSize][1] |
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
110 : paperSizes[this.form.paperSize][0]; |
1635
ca48145dba9c
client: improve pdf generation
Bernhard Reiter <bernhard@intevation.de>
parents:
1613
diff
changeset
|
111 |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
112 // TODO: replace this src with an API reponse after actually generating PDFs |
1670
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
113 let src = !this.isLandscape() |
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
114 ? "/img/PrintTemplate-Var2-Landscape.pdf" |
c344849538c0
refac: removed console.log statements and made code more consistent
Thomas Junk <thomas.junk@intevation.de>
parents:
1635
diff
changeset
|
115 : "/img/PrintTemplate-Var2-Portrait.pdf"; |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
116 |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
117 let a = document.createElement("a"); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
118 a.href = src; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
119 |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
120 if (this.form.downloadType === "download") |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
121 a.download = src.substr(src.lastIndexOf("/") + 1); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
122 else a.target = "_blank"; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
123 |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
124 document.body.appendChild(a); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
125 a.click(); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
126 document.body.removeChild(a); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
127 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
128 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
129 }; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
130 </script> |