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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
1 <template>
1480
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
2 <div
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
3 :class="[
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
4 'box ui-element rounded bg-white text-nowrap',
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
5 { expanded: showPdfTool }
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
6 ]"
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
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
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
10 <font-awesome-icon icon="file-pdf" class="mr-2"></font-awesome-icon
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
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
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
35 />
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
36 <label for="pdfexport-downloadtype-download" class="ml-1 mr-2"
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
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
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
44 />
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
45 <label for="pdfexport-downloadtype-open" class="ml-1"
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
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
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
53 >
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
54 <translate>Generate PDF</translate>
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1433
diff changeset
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>