Mercurial > gemma
annotate client/src/store/application.js @ 2249:35db2e11c966
Uploaded gauge measurement: Implemented in terms of normal gauge measurement import.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 13 Feb 2019 16:52:16 +0100 |
parents | e6fba449aa3c |
children | ce6fd3d4a3a2 |
rev | line source |
---|---|
1063
7ec2133c6404
client: add area measurement. simpify code
Bernhard Reiter <bernhard@intevation.de>
parents:
1055
diff
changeset
|
1 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
2 * without warranty, see README.md and license for details. |
1063
7ec2133c6404
client: add area measurement. simpify code
Bernhard Reiter <bernhard@intevation.de>
parents:
1055
diff
changeset
|
3 * |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
4 * SPDX-License-Identifier: AGPL-3.0-or-later |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
5 * License-Filename: LICENSES/AGPL-3.0.txt |
1063
7ec2133c6404
client: add area measurement. simpify code
Bernhard Reiter <bernhard@intevation.de>
parents:
1055
diff
changeset
|
6 * |
1183
1d4801145a2d
import soundingresults context now map instead administration
Thomas Junk <thomas.junk@intevation.de>
parents:
1123
diff
changeset
|
7 * Copyright (C) 2018 by via donau |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
8 * – Österreichische Wasserstraßen-Gesellschaft mbH |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
9 * Software engineering by Intevation GmbH |
1063
7ec2133c6404
client: add area measurement. simpify code
Bernhard Reiter <bernhard@intevation.de>
parents:
1055
diff
changeset
|
10 * |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
11 * Author(s): |
1063
7ec2133c6404
client: add area measurement. simpify code
Bernhard Reiter <bernhard@intevation.de>
parents:
1055
diff
changeset
|
12 * Thomas Junk <thomas.junk@intevation.de> |
7ec2133c6404
client: add area measurement. simpify code
Bernhard Reiter <bernhard@intevation.de>
parents:
1055
diff
changeset
|
13 * Markus Kottländer <markus.kottlaender@intevation.de> |
7ec2133c6404
client: add area measurement. simpify code
Bernhard Reiter <bernhard@intevation.de>
parents:
1055
diff
changeset
|
14 * Bernhard E. Reiter <bernhard.reiter@intevation.de> |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
15 */ |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
16 |
1096
aa1f5daf6fc9
refac: centralized stores
Thomas Junk <thomas.junk@intevation.de>
parents:
1063
diff
changeset
|
17 import { version } from "../../package.json"; |
2247
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
18 import { HTTP } from "../lib/http"; |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
19 import { displayError } from "@/lib/errors.js"; |
1014
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
20 |
1296
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
21 // initial state |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
22 const init = () => { |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
23 return { |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
24 appTitle: process.env.VUE_APP_TITLE, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
25 secondaryLogo: process.env.VUE_APP_SECONDARY_LOGO_URL, |
1947
4235fa8f59d7
clien: pdf-gen: load logo externally; add prepare step
Bernhard Reiter <bernhard@intevation.de>
parents:
1634
diff
changeset
|
26 logoForPDF: process.env.VUE_APP_LOGO_FOR_PDF_URL, |
2212
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1947
diff
changeset
|
27 pdfTemplates: [], |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
28 showSidebar: false, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
29 showUsermenu: false, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
30 showSplitscreen: false, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
31 showSearchbar: false, |
1207
70116d392387
close bottleneck list: made searchbar collapse only if it was collapsed before
Markus Kottlaender <markus@intevation.de>
parents:
1204
diff
changeset
|
32 showSearchbarLastState: false, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
33 showIdentify: false, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
34 showLayers: true, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
35 showPdfTool: false, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
36 showContextBox: false, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
37 showProfiles: false, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
38 contextBoxContent: null, // bottlenecks, imports, staging |
1264
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
39 expandToolbar: false, |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
647
diff
changeset
|
40 countries: ["AT", "SK", "HU", "HR", "RS", "BiH", "BG", "RO", "UA"], |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
41 searchQuery: "", |
1014
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
42 version |
1296
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
43 }; |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
44 }; |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
45 |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
46 export default { |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
47 init, |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
48 namespaced: true, |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
49 state: init(), |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
50 getters: { |
1014
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
51 versionStr: state => { |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
52 // version number from package.json |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
53 let versionStr = "v" + state.version; |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
54 |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
55 // hg revision |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
56 if ( |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
57 process.env.VUE_APP_HGREV && |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
58 (state.version.includes("dev") || |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
59 state.version.includes("beta") || |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
60 state.version.includes("alpha")) |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
61 ) |
1634
05a2732cafac
client: make version info comply to semver 2.0.0
Bernhard Reiter <bernhard@intevation.de>
parents:
1372
diff
changeset
|
62 // a '+' according to semver 2.0.0 starts a build meta info section |
05a2732cafac
client: make version info comply to semver 2.0.0
Bernhard Reiter <bernhard@intevation.de>
parents:
1372
diff
changeset
|
63 // which shall only have [0-9A-Za-z-] chars |
05a2732cafac
client: make version info comply to semver 2.0.0
Bernhard Reiter <bernhard@intevation.de>
parents:
1372
diff
changeset
|
64 // and is to be ignored when determining the order |
05a2732cafac
client: make version info comply to semver 2.0.0
Bernhard Reiter <bernhard@intevation.de>
parents:
1372
diff
changeset
|
65 versionStr += "+" + process.env.VUE_APP_HGREV; |
1014
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
66 |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
67 return versionStr; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
68 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
69 }, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
70 mutations: { |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
71 showSidebar: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
72 state.showSidebar = show; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
73 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
74 showSplitscreen: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
75 state.showSplitscreen = show; |
593
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
76 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
77 showUsermenu: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
78 state.showUsermenu = show; |
810 | 79 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
80 showSearchbar: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
81 state.showSearchbar = show; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
82 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
83 showIdentify: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
84 state.showIdentify = show; |
622
47f11401d999
feat: Usermenu is now collapsible
Thomas Junk <thomas.junk@intevation.de>
parents:
593
diff
changeset
|
85 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
86 showLayers: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
87 state.showLayers = show; |
647
620a65f11b33
fix: splitscreenoption has to be reset for logout
Thomas Junk <thomas.junk@intevation.de>
parents:
622
diff
changeset
|
88 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
89 showPdfTool: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
90 state.showPdfTool = show; |
1183
1d4801145a2d
import soundingresults context now map instead administration
Thomas Junk <thomas.junk@intevation.de>
parents:
1123
diff
changeset
|
91 }, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
92 showContextBox: (state, show) => { |
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
93 state.showContextBox = show; |
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
94 }, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
95 showProfiles: (state, show) => { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
96 state.showProfiles = show; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
97 }, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
98 contextBoxContent: (state, context) => { |
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
99 state.contextBoxContent = context; |
1230
957907eaaa72
implemented context sensitive box below search bar (see: issue224)
Markus Kottlaender <markus@intevation.de>
parents:
1208
diff
changeset
|
100 if (context) { |
957907eaaa72
implemented context sensitive box below search bar (see: issue224)
Markus Kottlaender <markus@intevation.de>
parents:
1208
diff
changeset
|
101 state.showSearchbarLastState = state.showSearchbar; |
957907eaaa72
implemented context sensitive box below search bar (see: issue224)
Markus Kottlaender <markus@intevation.de>
parents:
1208
diff
changeset
|
102 } |
1208 | 103 }, |
1264
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
104 expandToolbar: (state, expandToolbar) => { |
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
105 state.expandToolbar = expandToolbar; |
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
106 }, |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
107 searchQuery: (state, searchQuery) => { |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
108 state.searchQuery = searchQuery; |
2212
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1947
diff
changeset
|
109 }, |
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1947
diff
changeset
|
110 pdfTemplates: (state, pdfTemplates) => { |
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1947
diff
changeset
|
111 state.pdfTemplates = pdfTemplates; |
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1947
diff
changeset
|
112 } |
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1947
diff
changeset
|
113 }, |
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1947
diff
changeset
|
114 actions: { |
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1947
diff
changeset
|
115 loadPdfTemplates({ commit }) { |
2247
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
116 return new Promise((resolve, reject) => { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
117 HTTP.get("/templates/print", { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
118 headers: { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
119 "X-Gemma-Auth": localStorage.getItem("token"), |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
120 "Content-type": "text/xml; charset=UTF-8" |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
121 } |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
122 }) |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
123 .then(response => { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
124 commit("pdfTemplates", response.data); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
125 resolve(); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
126 }) |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
127 .catch(e => { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
128 reject(e); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
129 const { status, data } = e.response; |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
130 displayError({ |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
131 title: "Backend Error", |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
132 message: `${status}: ${data.message || data}` |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
133 }); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
134 }); |
2212
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1947
diff
changeset
|
135 }); |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2212
diff
changeset
|
136 }, |
2247
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
137 uploadPDFTemplate({ dispatch }, files) { |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2212
diff
changeset
|
138 return new Promise((resolve, reject) => { |
2247
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
139 const reader = new FileReader(); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
140 reader.onload = event => { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
141 let template; |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
142 try { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
143 template = JSON.parse(event.target.result); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
144 } catch (e) { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
145 displayError({ |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
146 title: "Format Error", |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
147 message: "Uploaded file does not contain valid json data." |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
148 }); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
149 reject(e); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
150 } |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
151 if (template.name) { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
152 HTTP.post( |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
153 "/templates/print/" + template.name, |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
154 { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
155 template_name: template.name, |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
156 template_data: template |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
157 }, |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
158 { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
159 headers: { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
160 "X-Gemma-Auth": localStorage.getItem("token"), |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
161 "Content-type": "text/xml; charset=UTF-8" |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
162 } |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
163 } |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
164 ) |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
165 .then(response => { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
166 dispatch("loadPdfTemplates"); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
167 resolve(response); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
168 }) |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
169 .catch(e => { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
170 reject(e); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
171 const { status, data } = e.response; |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
172 displayError({ |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
173 title: "Backend Error", |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
174 message: `${status}: ${data.message || data}` |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
175 }); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
176 }); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
177 } else { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
178 reject(); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
179 displayError({ |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
180 title: "Format Error", |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
181 message: "The provided template has no name property." |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
182 }); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
183 } |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
184 }; |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
185 reader.onerror = error => reject(error); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
186 reader.readAsText(files[0]); |
2216
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2212
diff
changeset
|
187 }); |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2212
diff
changeset
|
188 }, |
585373d33f8f
prepared pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
2212
diff
changeset
|
189 removePDFTemplate({ state, commit }, template) { |
2247
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
190 HTTP.delete("/templates/print/" + template.name, { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
191 headers: { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
192 "X-Gemma-Auth": localStorage.getItem("token"), |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
193 "Content-type": "text/xml; charset=UTF-8" |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
194 } |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
195 }).then(() => { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
196 let templates = state.pdfTemplates; |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
197 let removeIndex = templates.findIndex(t => t.name === template.name); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
198 if (removeIndex !== -1) { |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
199 templates.splice(removeIndex, 1); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
200 commit("pdfTemplates", templates); |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
201 } |
e6fba449aa3c
merged pdf-export in default
Markus Kottlaender <markus@intevation.de>
parents:
2227
diff
changeset
|
202 }); |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
203 } |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
204 } |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
205 }; |