Mercurial > gemma
annotate client/src/store/application.js @ 2384:c06b001dc26b
client: improved popup implementation
For deleting users and templates there was a more or less quick n' dirty implementation of
a confirmation dialog/popup. Since we need this kind of dialog in several more places I
generalized the implementation a bit and made it more robust.
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Mon, 25 Feb 2019 13:11:30 +0100 |
parents | ce6fd3d4a3a2 |
children | 9bf6b767a56a |
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"; |
1014
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
18 |
1296
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
19 // initial state |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
20 const init = () => { |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
21 return { |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
22 appTitle: process.env.VUE_APP_TITLE, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
23 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
|
24 logoForPDF: process.env.VUE_APP_LOGO_FOR_PDF_URL, |
2384
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2257
diff
changeset
|
25 popup: null, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
26 showSidebar: false, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
27 showUsermenu: false, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
28 showSplitscreen: false, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
29 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
|
30 showSearchbarLastState: false, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
31 showIdentify: false, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
32 showLayers: true, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
33 showPdfTool: false, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
34 showContextBox: false, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
35 showProfiles: false, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
36 contextBoxContent: null, // bottlenecks, imports, staging |
1264
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
37 expandToolbar: false, |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
647
diff
changeset
|
38 countries: ["AT", "SK", "HU", "HR", "RS", "BiH", "BG", "RO", "UA"], |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
39 searchQuery: "", |
1014
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
40 version |
1296
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
41 }; |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
42 }; |
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 export default { |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
45 init, |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
46 namespaced: true, |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
47 state: init(), |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
48 getters: { |
1014
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
49 versionStr: state => { |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
50 // 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
|
51 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
|
52 |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
53 // hg revision |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
54 if ( |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
55 process.env.VUE_APP_HGREV && |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
56 (state.version.includes("dev") || |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
57 state.version.includes("beta") || |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
58 state.version.includes("alpha")) |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
59 ) |
1634
05a2732cafac
client: make version info comply to semver 2.0.0
Bernhard Reiter <bernhard@intevation.de>
parents:
1372
diff
changeset
|
60 // 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
|
61 // 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
|
62 // 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
|
63 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
|
64 |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
65 return versionStr; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
66 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
67 }, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
68 mutations: { |
2384
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2257
diff
changeset
|
69 popup: (state, popup) => { |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2257
diff
changeset
|
70 state.popup = popup; |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2257
diff
changeset
|
71 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
72 showSidebar: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
73 state.showSidebar = show; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
74 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
75 showSplitscreen: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
76 state.showSplitscreen = show; |
593
c4a4dc612191
feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents:
585
diff
changeset
|
77 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
78 showUsermenu: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
79 state.showUsermenu = show; |
810 | 80 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
81 showSearchbar: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
82 state.showSearchbar = show; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
83 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
84 showIdentify: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
85 state.showIdentify = show; |
622
47f11401d999
feat: Usermenu is now collapsible
Thomas Junk <thomas.junk@intevation.de>
parents:
593
diff
changeset
|
86 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
87 showLayers: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
88 state.showLayers = show; |
647
620a65f11b33
fix: splitscreenoption has to be reset for logout
Thomas Junk <thomas.junk@intevation.de>
parents:
622
diff
changeset
|
89 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
90 showPdfTool: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
91 state.showPdfTool = show; |
1183
1d4801145a2d
import soundingresults context now map instead administration
Thomas Junk <thomas.junk@intevation.de>
parents:
1123
diff
changeset
|
92 }, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
93 showContextBox: (state, show) => { |
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
94 state.showContextBox = show; |
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
95 }, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
96 showProfiles: (state, show) => { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
97 state.showProfiles = show; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
98 }, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
99 contextBoxContent: (state, context) => { |
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
100 state.contextBoxContent = context; |
1230
957907eaaa72
implemented context sensitive box below search bar (see: issue224)
Markus Kottlaender <markus@intevation.de>
parents:
1208
diff
changeset
|
101 if (context) { |
957907eaaa72
implemented context sensitive box below search bar (see: issue224)
Markus Kottlaender <markus@intevation.de>
parents:
1208
diff
changeset
|
102 state.showSearchbarLastState = state.showSearchbar; |
957907eaaa72
implemented context sensitive box below search bar (see: issue224)
Markus Kottlaender <markus@intevation.de>
parents:
1208
diff
changeset
|
103 } |
1208 | 104 }, |
1264
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
105 expandToolbar: (state, expandToolbar) => { |
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
106 state.expandToolbar = expandToolbar; |
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
107 }, |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
108 searchQuery: (state, searchQuery) => { |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
109 state.searchQuery = searchQuery; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
110 } |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
111 } |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
112 }; |