Mercurial > gemma
annotate client/src/components/systemconfiguration/PDFTemplates.vue @ 2330:7b79d4966a87
client: unified buttons styles in tables
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Tue, 19 Feb 2019 16:33:31 +0100 |
parents | 5b53be76080c |
children | f910ecf23ce0 |
rev | line source |
---|---|
2213 | 1 <template> |
2290
92649a0537fa
client: admin: style adjustments
Markus Kottlaender <markus@intevation.de>
parents:
2289
diff
changeset
|
2 <div class="d-flex flex-column"> |
2213 | 3 <div class="d-flex flex-row justify-content-between"> |
4 <h5><translate>PDF-Templates</translate></h5> | |
5 <input | |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
6 @change="upload" |
2257
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
7 id="uploadTemplate" |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
8 ref="uploadTemplate" |
2213 | 9 type="file" |
10 style="visibility:hidden" | |
11 /> | |
12 </div> | |
2290
92649a0537fa
client: admin: style adjustments
Markus Kottlaender <markus@intevation.de>
parents:
2289
diff
changeset
|
13 <div class="mt-1 border-bottom pb-4"> |
92649a0537fa
client: admin: style adjustments
Markus Kottlaender <markus@intevation.de>
parents:
2289
diff
changeset
|
14 <table class="table table-sm table-hover" v-if="templates.length"> |
2213 | 15 <thead> |
16 <tr> | |
2284
9f327f197ddd
client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2257
diff
changeset
|
17 <th><translate>Name</translate></th> |
9f327f197ddd
client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2257
diff
changeset
|
18 <th><translate>Date</translate></th> |
2213 | 19 <th></th> |
20 </tr> | |
21 </thead> | |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
22 <transition-group name="list-fade" tag="tbody"> |
2257
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
23 <tr v-for="template in templates" :key="template.name"> |
2213 | 24 <td>{{ template.name }}</td> |
2247
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
25 <td>{{ template.time }}</td> |
2213 | 26 <td class="text-right"> |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
27 <button |
2330
7b79d4966a87
client: unified buttons styles in tables
Markus Kottlaender <markus@intevation.de>
parents:
2323
diff
changeset
|
28 class="btn btn-sm btn-dark" |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
29 @click=" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
30 showDeleteTemplatePrompt = true; |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
31 templateToDelete = template; |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
32 " |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
33 > |
2213 | 34 <font-awesome-icon icon="trash" /> |
35 </button> | |
36 </td> | |
37 </tr> | |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
38 </transition-group> |
2213 | 39 </table> |
2290
92649a0537fa
client: admin: style adjustments
Markus Kottlaender <markus@intevation.de>
parents:
2289
diff
changeset
|
40 <button class="btn btn-info mt-2" @click="$refs.uploadTemplate.click()"> |
2247
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
41 <font-awesome-icon |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
42 icon="spinner" |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
43 class="fa-spin fa-fw" |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
44 v-if="uploading" |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
45 /> |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
46 <font-awesome-icon icon="upload" class="fa-fw" v-else /> |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
47 <translate>Upload new template</translate> |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
48 </button> |
2213 | 49 </div> |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
50 |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
51 <div |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
52 :class="[ |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
53 'box popup ui-element rounded bg-white', |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
54 { show: showDeleteTemplatePrompt } |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
55 ]" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
56 > |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
57 <div> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
58 <h6 class="mb-0 py-2 px-3 border-bottom d-flex align-items-center"> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
59 <font-awesome-icon icon="trash" class="mr-2"></font-awesome-icon> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
60 <translate>Delete PDF Template</translate> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
61 <font-awesome-icon |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
62 icon="times" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
63 class="ml-auto text-muted" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
64 @click="showDeleteTemplatePrompt = false" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
65 ></font-awesome-icon> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
66 </h6> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
67 <div class="p-3 text-left"> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
68 <translate class="text-center d-block"> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
69 Do you really want to delete the following template: |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
70 </translate> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
71 <h5 class="mt-3 text-center">{{ templateToDelete.name }}</h5> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
72 </div> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
73 <div |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
74 class="py-2 px-3 border-top d-flex align-items-center justify-content-between" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
75 > |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
76 <button |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
77 class="btn btn-sm btn-warning" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
78 @click="showDeleteTemplatePrompt = false" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
79 > |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
80 no |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
81 </button> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
82 <button class="btn btn-sm btn-info" @click="remove(templateToDelete)"> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
83 yes |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
84 </button> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
85 </div> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
86 </div> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
87 </div> |
2213 | 88 </div> |
89 </template> | |
90 | |
2323
5b53be76080c
client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
91 <style lang="scss" scoped> |
5b53be76080c
client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
92 .table th, |
5b53be76080c
client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
93 td { |
5b53be76080c
client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
94 font-size: $smaller; |
5b53be76080c
client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
95 border-top: 0px !important; |
5b53be76080c
client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
96 text-align: left; |
5b53be76080c
client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
97 padding: $small-offset !important; |
5b53be76080c
client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
98 } |
5b53be76080c
client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
99 </style> |
5b53be76080c
client: adjusted table and delete button styles
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
100 |
2213 | 101 <script> |
102 /* This is Free Software under GNU Affero General Public License v >= 3.0 | |
103 * without warranty, see README.md and license for details. | |
104 * | |
105 * SPDX-License-Identifier: AGPL-3.0-or-later | |
106 * License-Filename: LICENSES/AGPL-3.0.txt | |
107 * | |
108 * Copyright (C) 2018 by via donau | |
109 * – Österreichische Wasserstraßen-Gesellschaft mbH | |
110 * Software engineering by Intevation GmbH | |
111 * | |
112 * Author(s): | |
113 * Markus Kottländer <markus@intevation.de> | |
114 */ | |
2257
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
115 import { HTTP } from "@/lib/http"; |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
116 import { displayError } from "@/lib/errors.js"; |
2213 | 117 |
118 export default { | |
119 name: "pdftemplates", | |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
120 data() { |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
121 return { |
2257
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
122 templates: [], |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
123 uploading: false, |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
124 templateToDelete: "", |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
125 showDeleteTemplatePrompt: false |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
126 }; |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
127 }, |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
128 methods: { |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
129 upload() { |
2257
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
130 const reader = new FileReader(); |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
131 reader.onload = event => { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
132 let template; |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
133 try { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
134 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
|
135 } catch (e) { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
136 displayError({ |
2284
9f327f197ddd
client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2257
diff
changeset
|
137 title: this.$gettext("Format Error"), |
9f327f197ddd
client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2257
diff
changeset
|
138 message: this.$gettext( |
9f327f197ddd
client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2257
diff
changeset
|
139 "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
|
140 ) |
2257
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
141 }); |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
142 } |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
143 if (template.name) { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
144 this.uploading = true; |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
145 HTTP.post( |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
146 "/templates/print/" + template.name, |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
147 { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
148 template_name: template.name, |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
149 template_data: template |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
150 }, |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
151 { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
152 headers: { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
153 "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
|
154 "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
|
155 } |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
156 } |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
157 ) |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
158 .then(() => { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
159 this.loadTemplates(); |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
160 }) |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
161 .catch(e => { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
162 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
|
163 displayError({ |
2284
9f327f197ddd
client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2257
diff
changeset
|
164 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
|
165 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
|
166 }); |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
167 }) |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
168 .finally(() => { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
169 this.uploading = false; |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
170 }); |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
171 } else { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
172 displayError({ |
2284
9f327f197ddd
client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2257
diff
changeset
|
173 title: this.$gettext("Format Error"), |
9f327f197ddd
client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2257
diff
changeset
|
174 message: this.$gettext( |
9f327f197ddd
client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2257
diff
changeset
|
175 "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
|
176 ) |
2257
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
177 }); |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
178 } |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
179 }; |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
180 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
|
181 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
|
182 }, |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
183 loadTemplates() { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
184 HTTP.get("/templates/print", { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
185 headers: { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
186 "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
|
187 "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
|
188 } |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
189 }) |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
190 .then(response => { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
191 this.templates = response.data; |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
192 }) |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
193 .catch(e => { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
194 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
|
195 displayError({ |
2284
9f327f197ddd
client: translation: mark some strings for translations
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2257
diff
changeset
|
196 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
|
197 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
|
198 }); |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
199 }); |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
200 }, |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
201 remove(template) { |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
202 this.showDeleteTemplatePrompt = false; |
2257
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
203 HTTP.delete("/templates/print/" + template.name, { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
204 headers: { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
205 "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
|
206 "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
|
207 } |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
208 }).then(() => { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
209 let removeIndex = this.templates.findIndex( |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
210 t => t.name === template.name |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
211 ); |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
212 if (removeIndex !== -1) { |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
213 this.templates.splice(removeIndex, 1); |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
214 } |
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
215 }); |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
216 } |
2247
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
217 }, |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2216
diff
changeset
|
218 mounted() { |
2257
ce6fd3d4a3a2
client: pdf-gen: moved template handling from store to components
Markus Kottlaender <markus@intevation.de>
parents:
2247
diff
changeset
|
219 this.loadTemplates(); |
2213 | 220 } |
221 }; | |
222 </script> |