annotate client/src/components/systemconfiguration/PDFTemplates.vue @ 3644:9e91b416d5bb

client: cross profile: display arrow in diagram consciously diceded to not draw it in the svg so it will not be exported to pdf since there it does not make sense without the map
author Markus Kottlaender <markus@intevation.de>
date Wed, 12 Jun 2019 17:10:49 +0200
parents f96def15847e
children 851c0ccba59b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2213
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
1 <template>
3597
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
2 <div class="d-flex flex-column pb-4 border-bottom">
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
3 <h5 class="py-2 px-3 m-0"><translate>PDF-Templates</translate></h5>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
4 <input
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
5 @change="uploadTemplate"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
6 id="uploadTemplate"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
7 ref="uploadTemplate"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
8 type="file"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
9 style="visibility: hidden; position: absolute;"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
10 />
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
11 <UITableHeader
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
12 :columns="[
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
13 { id: 'name', title: `${nameLabel}`, class: 'col-3' },
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
14 { id: 'time', title: `${dateLabel}`, class: 'col-3' },
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
15 { id: 'type', title: `${typeLabel}`, class: 'col-2' },
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
16 { id: 'country', title: `${countryLabel}`, class: 'col-2' }
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
17 ]"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
18 />
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
19 <UITableBody :data="templates | sortTable(sortColumn, sortDirection)">
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
20 <template v-slot:row="{ item: template }">
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
21 <div class="py-1 col-3">{{ template.name }}</div>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
22 <div class="py-1 col-3">{{ template.time }}</div>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
23 <div class="py-1 col-2">{{ template.type }}</div>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
24 <div class="py-1 col-2" v-if="template.country">
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
25 {{ template.country }}
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
26 </div>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
27 <div class="py-1 col-2" v-else><i>global</i></div>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
28 <div class="col py-1 text-right">
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
29 <button
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
30 class="btn btn-xs btn-info mr-1"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
31 ref="downloadTemplate"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
32 @click="downloadTemplate(template)"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
33 >
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
34 <font-awesome-icon icon="download" fixed-width />
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
35 </button>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
36 <button class="btn btn-xs btn-dark" @click="deleteTemplate(template)">
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
37 <font-awesome-icon icon="trash" fixed-width />
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
38 </button>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
39 </div>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
40 </template>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
41 </UITableBody>
3608
f96def15847e client: configuration: pdf templates: adjusted padding
Markus Kottlaender <markus@intevation.de>
parents: 3597
diff changeset
42 <div class="px-3 mt-2">
3597
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
43 <button
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
44 class="btn btn-info btn-sm mr-2"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
45 @click="
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
46 type = 'map';
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
47 $refs.uploadTemplate.click();
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
48 "
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
49 >
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
50 <font-awesome-icon
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
51 icon="spinner"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
52 class="fa-spin fa-fw"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
53 v-if="uploading"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
54 />
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
55 <font-awesome-icon icon="upload" class="fa-fw" v-else />
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
56 <translate>Upload new map template</translate>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
57 </button>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
58 <button
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
59 class="btn btn-info btn-sm"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
60 @click="
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
61 type = 'diagram';
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
62 $refs.uploadTemplate.click();
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
63 "
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
64 >
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
65 <font-awesome-icon
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
66 icon="spinner"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
67 class="fa-spin fa-fw"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
68 v-if="uploading"
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
69 />
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
70 <font-awesome-icon icon="upload" class="fa-fw" v-else />
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
71 <translate>Upload new diagram template</translate>
d1bbfb9635ca client: configuration: unified styles of different config components
Markus Kottlaender <markus@intevation.de>
parents: 3594
diff changeset
72 </button>
2213
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
73 </div>
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
74 </div>
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
75 </template>
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
76
2323
5b53be76080c client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents: 2290
diff changeset
77 <style lang="scss" scoped>
5b53be76080c client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents: 2290
diff changeset
78 .table th,
5b53be76080c client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents: 2290
diff changeset
79 td {
5b53be76080c client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents: 2290
diff changeset
80 font-size: $smaller;
5b53be76080c client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents: 2290
diff changeset
81 border-top: 0px !important;
5b53be76080c client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents: 2290
diff changeset
82 text-align: left;
5b53be76080c client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents: 2290
diff changeset
83 padding: $small-offset !important;
5b53be76080c client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents: 2290
diff changeset
84 }
5b53be76080c client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents: 2290
diff changeset
85 </style>
5b53be76080c client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents: 2290
diff changeset
86
2213
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
87 <script>
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
88 /* This is Free Software under GNU Affero General Public License v >= 3.0
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
89 * without warranty, see README.md and license for details.
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
90 *
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
91 * SPDX-License-Identifier: AGPL-3.0-or-later
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
92 * License-Filename: LICENSES/AGPL-3.0.txt
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
93 *
2527
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
94 * Copyright (C) 2018, 2019 by via donau
2213
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
95 * – Österreichische Wasserstraßen-Gesellschaft mbH
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
96 * Software engineering by Intevation GmbH
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
97 *
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
98 * Author(s):
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
99 * Markus Kottländer <markus@intevation.de>
2527
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
100 * Fadi Abbud <fadi.abbud@intevation.de>
2213
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
101 */
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
102 import { HTTP } from "@/lib/http";
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2640
diff changeset
103 import { displayError, displayInfo } from "@/lib/errors";
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2640
diff changeset
104 import { sortTable } from "@/lib/mixins";
2213
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
105
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
106 export default {
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
107 name: "pdftemplates",
2738
add2d47c2567 client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents: 2640
diff changeset
108 mixins: [sortTable],
2216
585373d33f8f prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents: 2213
diff changeset
109 data() {
585373d33f8f prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents: 2213
diff changeset
110 return {
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
111 templates: [],
3227
6d4d8e7ef881 client: adjust route for pdftemplate,pdftool and add check type to uploaded templates
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3222
diff changeset
112 uploading: false,
3243
e9c143436432 client: diagram-template: improve Pdf-templates systemconfiguration
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3234
diff changeset
113 type: null
2216
585373d33f8f prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents: 2213
diff changeset
114 };
585373d33f8f prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents: 2213
diff changeset
115 },
2782
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
116 computed: {
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
117 nameLabel() {
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
118 return this.$gettext("Name");
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
119 },
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
120 dateLabel() {
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
121 return this.$gettext("Date");
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
122 },
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
123 countryLabel() {
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
124 return this.$gettext("Country");
3232
86231e847762 client: add type field for pdf-templates configuration
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3230
diff changeset
125 },
86231e847762 client: add type field for pdf-templates configuration
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3230
diff changeset
126 typeLabel() {
3234
22dfaa22e96e client: fix typo
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3232
diff changeset
127 return this.$gettext("Type");
2782
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
128 }
615b0a9b8098 Client: correct strings marking for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2738
diff changeset
129 },
2216
585373d33f8f prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents: 2213
diff changeset
130 methods: {
2527
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
131 downloadTemplate(template) {
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
132 if (template) {
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
133 var templateData = "";
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
134 var element = document.createElement("a");
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
135 element.style.display = "none";
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
136 element.setAttribute("download", template.name + ".json");
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
137 document.body.appendChild(element);
3227
6d4d8e7ef881 client: adjust route for pdftemplate,pdftool and add check type to uploaded templates
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3222
diff changeset
138 HTTP.get(`/templates/${template.type}/${template.name}`, {
2527
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
139 headers: {
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
140 "X-Gemma-Auth": localStorage.getItem("token"),
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
141 "Content-type": "text/xml; charset=UTF-8"
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
142 }
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
143 })
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
144 .then(response => {
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
145 templateData = response.data.template_data;
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
146 element.setAttribute(
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
147 "href",
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
148 "data:text/json;charset=utf-8," +
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
149 encodeURIComponent(
2531
47b9a4f9a05c client:pdf-gen: change the formatting of the downloaded json file
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2527
diff changeset
150 JSON.stringify(
47b9a4f9a05c client:pdf-gen: change the formatting of the downloaded json file
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2527
diff changeset
151 {
47b9a4f9a05c client:pdf-gen: change the formatting of the downloaded json file
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2527
diff changeset
152 name: templateData.name,
47b9a4f9a05c client:pdf-gen: change the formatting of the downloaded json file
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2527
diff changeset
153 properties: templateData.properties,
47b9a4f9a05c client:pdf-gen: change the formatting of the downloaded json file
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2527
diff changeset
154 elements: templateData.elements
47b9a4f9a05c client:pdf-gen: change the formatting of the downloaded json file
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2527
diff changeset
155 },
47b9a4f9a05c client:pdf-gen: change the formatting of the downloaded json file
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2527
diff changeset
156 null,
47b9a4f9a05c client:pdf-gen: change the formatting of the downloaded json file
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2527
diff changeset
157 2
47b9a4f9a05c client:pdf-gen: change the formatting of the downloaded json file
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2527
diff changeset
158 )
2527
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
159 )
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
160 );
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
161 element.click();
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
162 })
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
163 .catch(e => {
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
164 const { status, data } = e.response;
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
165 displayError({
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
166 title: this.$gettext("Backend Error"),
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
167 message: `${status}: ${data.message || data}`
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
168 });
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
169 })
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
170 .finally(() => {
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
171 document.body.removeChild(element);
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
172 });
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
173 }
1a6553da9078 client:pdf-gen : add download-template functionality
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2522
diff changeset
174 },
2384
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
175 uploadTemplate() {
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
176 const reader = new FileReader();
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
177 reader.onload = event => {
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
178 let template;
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
179 try {
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
180 template = JSON.parse(event.target.result);
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
181 } catch (e) {
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
182 displayError({
2284
9f327f197ddd client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2257
diff changeset
183 title: this.$gettext("Format Error"),
9f327f197ddd client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2257
diff changeset
184 message: this.$gettext(
9f327f197ddd client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2257
diff changeset
185 "Uploaded file does not contain valid json data."
9f327f197ddd client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2257
diff changeset
186 )
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
187 });
3243
e9c143436432 client: diagram-template: improve Pdf-templates systemconfiguration
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3234
diff changeset
188 // allow the user to upload the same file
e9c143436432 client: diagram-template: improve Pdf-templates systemconfiguration
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3234
diff changeset
189 // if user wants to upload the same file after edit it.
2802
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
190 this.$refs.uploadTemplate.value = null;
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
191 }
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
192 if (template.name) {
3243
e9c143436432 client: diagram-template: improve Pdf-templates systemconfiguration
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3234
diff changeset
193 // check if an element in the uploaded file does not match the predefind template-elements
2802
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
194 let checkElement = false;
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
195 template.elements.forEach(e => {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
196 if (
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
197 [
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
198 "text",
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
199 "box",
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
200 "textbox",
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
201 "image",
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
202 "bottleneck",
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
203 "legend",
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
204 "scalebar",
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
205 "scale",
3138
106e1d011a5d client: pdf-gen: include the diagram elements in the upload template constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2874
diff changeset
206 "northarrow",
106e1d011a5d client: pdf-gen: include the diagram elements in the upload template constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2874
diff changeset
207 "diagramlegend",
3160
94935895e6d7 client: add diagram-element to template (waterlevel)
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3138
diff changeset
208 "diagramtitle",
94935895e6d7 client: add diagram-element to template (waterlevel)
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3138
diff changeset
209 "diagram"
2802
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
210 ].indexOf(e.type) === -1
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
211 ) {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
212 checkElement = true;
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
213 displayError({
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
214 title: this.$gettext("Invalid element"),
2459
408e0f4d4008 clinet:pdf-gen template:unifiy feedback messages for template
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2448
diff changeset
215 message:
2802
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
216 e.type +
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
217 this.$gettext(" does not match any template's element")
2459
408e0f4d4008 clinet:pdf-gen template:unifiy feedback messages for template
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2448
diff changeset
218 });
3243
e9c143436432 client: diagram-template: improve Pdf-templates systemconfiguration
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3234
diff changeset
219 // allow the user to upload the same file
2802
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
220 this.$refs.uploadTemplate.value = null;
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
221 }
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
222 });
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
223
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
224 if (!checkElement) {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
225 this.uploading = true;
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
226 HTTP.post(
3227
6d4d8e7ef881 client: adjust route for pdftemplate,pdftool and add check type to uploaded templates
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3222
diff changeset
227 "/templates/" + this.type + "/" + template.name,
2802
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
228 {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
229 template_name: template.name,
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
230 template_data: template
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
231 },
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
232 {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
233 headers: {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
234 "X-Gemma-Auth": localStorage.getItem("token"),
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
235 "Content-type": "text/xml; charset=UTF-8"
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
236 }
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
237 }
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
238 )
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
239 .then(() => {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
240 this.loadTemplates();
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
241 displayInfo({
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
242 message:
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
243 template.name + " " + this.$gettext("uploaded successfully")
2522
24bab584f0a1 client: improved error message format for pdf-template uploads
Markus Kottlaender <markus@intevation.de>
parents: 2462
diff changeset
244 });
2802
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
245 })
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
246 .catch(e => {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
247 const { status, data } = e.response;
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
248 if (status === 400) {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
249 displayError({
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
250 title: this.$gettext("Error"),
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
251 message: `${data.message || data}`
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
252 });
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
253 } else {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
254 displayError({
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
255 title: this.$gettext("Backend Error"),
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
256 message: `${status}: ${data.message || data}`
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
257 });
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
258 }
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
259 })
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
260 .finally(() => {
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
261 this.uploading = false;
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
262 this.$refs.uploadTemplate.value = null;
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
263 });
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
264 }
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
265 } else {
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
266 displayError({
2284
9f327f197ddd client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2257
diff changeset
267 title: this.$gettext("Format Error"),
9f327f197ddd client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2257
diff changeset
268 message: this.$gettext(
9f327f197ddd client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2257
diff changeset
269 "The provided template has no name property."
9f327f197ddd client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2257
diff changeset
270 )
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
271 });
3243
e9c143436432 client: diagram-template: improve Pdf-templates systemconfiguration
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3234
diff changeset
272 // allow the user to upload the same file
2802
9adbe0633bf9 client:pdf-gen: improve template upload constraint
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2782
diff changeset
273 this.$refs.uploadTemplate.value = null;
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
274 }
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
275 };
3243
e9c143436432 client: diagram-template: improve Pdf-templates systemconfiguration
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3234
diff changeset
276
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
277 reader.onerror = error => console.log(error);
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
278 reader.readAsText(this.$refs.uploadTemplate.files[0]);
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
279 },
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
280 loadTemplates() {
3222
83e8e1ea0aff print_templates: changed route /templates/print to /templates and /templates/print/... to /templates/
Thomas Junk <thomas.junk@intevation.de>
parents: 3160
diff changeset
281 HTTP.get("/templates", {
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
282 headers: {
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
283 "X-Gemma-Auth": localStorage.getItem("token"),
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
284 "Content-type": "text/xml; charset=UTF-8"
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
285 }
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
286 })
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
287 .then(response => {
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
288 this.templates = response.data;
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
289 })
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
290 .catch(e => {
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
291 const { status, data } = e.response;
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
292 displayError({
2284
9f327f197ddd client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2257
diff changeset
293 title: this.$gettext("Backend Error"),
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
294 message: `${status}: ${data.message || data}`
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
295 });
2216
585373d33f8f prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents: 2213
diff changeset
296 });
585373d33f8f prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents: 2213
diff changeset
297 },
2384
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
298 deleteTemplate(template) {
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
299 this.$store.commit("application/popup", {
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
300 icon: "trash",
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
301 title: this.$gettext("Delete Template"),
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
302 content:
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
303 this.$gettext(
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
304 "Do you really want to delete the following template:"
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
305 ) +
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
306 `<br>
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
307 <b>${template.name}</b>`,
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
308 confirm: {
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
309 label: this.$gettext("Delete"),
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
310 icon: "trash",
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
311 callback: () => {
3227
6d4d8e7ef881 client: adjust route for pdftemplate,pdftool and add check type to uploaded templates
Fadi Abbud <fadi.abbud@intevation.de>
parents: 3222
diff changeset
312 HTTP.delete(`/templates/${template.type}/${template.name}`, {
2384
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
313 headers: {
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
314 "X-Gemma-Auth": localStorage.getItem("token"),
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
315 "Content-type": "text/xml; charset=UTF-8"
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
316 }
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
317 }).then(() => {
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
318 let removeIndex = this.templates.findIndex(
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
319 t => t.name === template.name
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
320 );
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
321 if (removeIndex !== -1) {
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
322 this.templates.splice(removeIndex, 1);
2459
408e0f4d4008 clinet:pdf-gen template:unifiy feedback messages for template
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2448
diff changeset
323 displayInfo({
408e0f4d4008 clinet:pdf-gen template:unifiy feedback messages for template
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2448
diff changeset
324 message:
408e0f4d4008 clinet:pdf-gen template:unifiy feedback messages for template
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2448
diff changeset
325 template.name + " " + this.$gettext("deleted successfully")
408e0f4d4008 clinet:pdf-gen template:unifiy feedback messages for template
Fadi Abbud <fadi.abbud@intevation.de>
parents: 2448
diff changeset
326 });
2384
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
327 }
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
328 });
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
329 }
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
330 },
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
331 cancel: {
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
332 label: this.$gettext("Cancel"),
c06b001dc26b client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents: 2357
diff changeset
333 icon: "times"
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
334 }
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
335 });
2216
585373d33f8f prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents: 2213
diff changeset
336 }
2247
e6fba449aa3c merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents: 2216
diff changeset
337 },
e6fba449aa3c merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents: 2216
diff changeset
338 mounted() {
2257
ce6fd3d4a3a2 client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents: 2247
diff changeset
339 this.loadTemplates();
2213
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
340 }
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
341 };
9bf8562df42f moved/created files
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
342 </script>