Mercurial > gemma
annotate client/src/components/systemconfiguration/PDFTemplates.vue @ 2216:585373d33f8f pdf-export
prepared pdf template administration
prepared UI, connected to vuex store, backend still missing
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Thu, 07 Feb 2019 15:14:40 +0100 |
parents | 9bf8562df42f |
children | e6fba449aa3c |
rev | line source |
---|---|
2213 | 1 <template> |
2 <div class="d-flex flex-column mt-4"> | |
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" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
7 id="uploadPDFTemplates" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
8 ref="uploadPDFTemplates" |
2213 | 9 type="file" |
10 style="visibility:hidden" | |
11 /> | |
12 <button | |
13 class="btn btn-sm btn-info" | |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
14 @click="$refs.uploadPDFTemplates.click()" |
2213 | 15 > |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
16 <font-awesome-icon icon="spinner" class="fa-spin" v-if="uploading" /> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
17 <font-awesome-icon icon="plus" v-else /> |
2213 | 18 </button> |
19 </div> | |
20 <div class="d-flex mt-1"> | |
21 <table class="table table-sm"> | |
22 <thead> | |
23 <tr> | |
24 <th>Name</th> | |
25 <th>Description</th> | |
26 <th>Date</th> | |
27 <th>Country</th> | |
28 <th></th> | |
29 </tr> | |
30 </thead> | |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
31 <transition-group name="list-fade" tag="tbody"> |
2213 | 32 <tr v-for="template in pdfTemplates" :key="template.name"> |
33 <td>{{ template.name }}</td> | |
34 <td>{{ template.description }}</td> | |
35 <td>{{ template.date }}</td> | |
36 <td></td> | |
37 <td class="text-right"> | |
38 <button class="btn btn-sm btn-info mr-2"> | |
39 <font-awesome-icon icon="download" /> | |
40 </button> | |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
41 <button |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
42 class="btn btn-sm btn-danger" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
43 @click=" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
44 showDeleteTemplatePrompt = true; |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
45 templateToDelete = template; |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
46 " |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
47 > |
2213 | 48 <font-awesome-icon icon="trash" /> |
49 </button> | |
50 </td> | |
51 </tr> | |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
52 </transition-group> |
2213 | 53 </table> |
54 </div> | |
2216
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 <div |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
57 :class="[ |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
58 'box popup ui-element rounded bg-white', |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
59 { show: showDeleteTemplatePrompt } |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
60 ]" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
61 > |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
62 <div> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
63 <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
|
64 <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
|
65 <translate>Delete PDF Template</translate> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
66 <font-awesome-icon |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
67 icon="times" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
68 class="ml-auto text-muted" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
69 @click="showDeleteTemplatePrompt = false" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
70 ></font-awesome-icon> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
71 </h6> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
72 <div class="p-3 text-left"> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
73 <translate class="text-center d-block"> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
74 Do you really want to delete the following template: |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
75 </translate> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
76 <h5 class="mt-3 text-center">{{ templateToDelete.name }}</h5> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
77 </div> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
78 <div |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
79 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
|
80 > |
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 class="btn btn-sm btn-warning" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
83 @click="showDeleteTemplatePrompt = false" |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
84 > |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
85 no |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
86 </button> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
87 <button class="btn btn-sm btn-info" @click="remove(templateToDelete)"> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
88 yes |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
89 </button> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
90 </div> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
91 </div> |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
92 </div> |
2213 | 93 </div> |
94 </template> | |
95 | |
96 <script> | |
97 /* This is Free Software under GNU Affero General Public License v >= 3.0 | |
98 * without warranty, see README.md and license for details. | |
99 * | |
100 * SPDX-License-Identifier: AGPL-3.0-or-later | |
101 * License-Filename: LICENSES/AGPL-3.0.txt | |
102 * | |
103 * Copyright (C) 2018 by via donau | |
104 * – Österreichische Wasserstraßen-Gesellschaft mbH | |
105 * Software engineering by Intevation GmbH | |
106 * | |
107 * Author(s): | |
108 * Markus Kottländer <markus@intevation.de> | |
109 */ | |
110 import { mapState } from "vuex"; | |
111 | |
112 export default { | |
113 name: "pdftemplates", | |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
114 data() { |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
115 return { |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
116 uploading: false, |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
117 templateToDelete: "", |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
118 showDeleteTemplatePrompt: false |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
119 }; |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
120 }, |
2213 | 121 computed: { |
122 ...mapState("application", ["pdfTemplates"]) | |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
123 }, |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
124 methods: { |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
125 upload() { |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
126 this.uploading = true; |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
127 this.$store |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
128 .dispatch( |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
129 "application/uploadPDFTemplates", |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
130 this.$refs.uploadPDFTemplates.files |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
131 ) |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
132 .then(() => { |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
133 this.uploading = false; |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
134 }); |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
135 }, |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
136 remove(template) { |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
137 this.showDeleteTemplatePrompt = false; |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
138 this.$store.dispatch("application/removePDFTemplate", template); |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2213
diff
changeset
|
139 } |
2213 | 140 } |
141 }; | |
142 </script> |