Mercurial > gemma
annotate client/src/store/application.js @ 3190:54a3e40cfbed
controllers: moved filter builder to a separate file.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 08 May 2019 10:50:14 +0200 |
parents | 77fc44ad05e3 |
children | 2dab20bed284 |
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, |
3146
b6cc4838d2c0
client: implemented pane mechanic for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
3084
diff
changeset
|
26 paneSetup: "DEFAULT", |
3041
ccda334eed92
client: panes: improved panes rotation, works with pure css so that components don't need to be re-mounted
Markus Kottlaender <markus@intevation.de>
parents:
3011
diff
changeset
|
27 paneRotate: 1, |
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 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
|
31 showSearchbarLastState: false, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
32 showIdentify: false, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
33 showLayers: true, |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
34 showPdfTool: false, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
35 showContextBox: false, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
36 showProfiles: false, |
2596
8774054959a7
client: added Gauges dialog/tool to show waterlevel diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2590
diff
changeset
|
37 showGauges: false, |
3159
4f4905b57fcf
toolbar: added statistics dialog component
Thomas Junk <thomas.junk@intevation.de>
parents:
3146
diff
changeset
|
38 showStatistics: false, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
39 contextBoxContent: null, // bottlenecks, imports, staging |
1264
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
40 expandToolbar: false, |
649
83081ba6c9c1
feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents:
647
diff
changeset
|
41 countries: ["AT", "SK", "HU", "HR", "RS", "BiH", "BG", "RO", "UA"], |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
42 searchQuery: "", |
2825
d6c90d2c8c8d
router: when not logged in the chosen route is temporary cached and after successful login restored and chache cleared
Thomas Junk <thomas.junk@intevation.de>
parents:
2596
diff
changeset
|
43 version, |
d6c90d2c8c8d
router: when not logged in the chosen route is temporary cached and after successful login restored and chache cleared
Thomas Junk <thomas.junk@intevation.de>
parents:
2596
diff
changeset
|
44 tempRoute: "" |
1296
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 }; |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
47 |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
48 export default { |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
49 init, |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
50 namespaced: true, |
99c039e86624
replaced manual store cleanup on logout with central store reset
Markus Kottlaender <markus@intevation.de>
parents:
1282
diff
changeset
|
51 state: init(), |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
52 getters: { |
1014
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
53 versionStr: state => { |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
54 // 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
|
55 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
|
56 |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
57 // hg revision |
77202406b1a7
reverted demo build target, include revision number based on version tag
Markus Kottlaender <markus@intevation.de>
parents:
810
diff
changeset
|
58 if ( |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
59 process.env.VUE_APP_HGREV && |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
60 (state.version.includes("dev") || |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
61 state.version.includes("beta") || |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
62 state.version.includes("alpha")) |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
63 ) |
1634
05a2732cafac
client: make version info comply to semver 2.0.0
Bernhard Reiter <bernhard@intevation.de>
parents:
1372
diff
changeset
|
64 // 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
|
65 // 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
|
66 // 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
|
67 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
|
68 |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
1014
diff
changeset
|
69 return versionStr; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
70 } |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
71 }, |
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
72 mutations: { |
2825
d6c90d2c8c8d
router: when not logged in the chosen route is temporary cached and after successful login restored and chache cleared
Thomas Junk <thomas.junk@intevation.de>
parents:
2596
diff
changeset
|
73 setTempRoute: (state, tempRoute) => { |
d6c90d2c8c8d
router: when not logged in the chosen route is temporary cached and after successful login restored and chache cleared
Thomas Junk <thomas.junk@intevation.de>
parents:
2596
diff
changeset
|
74 state.tempRoute = tempRoute; |
d6c90d2c8c8d
router: when not logged in the chosen route is temporary cached and after successful login restored and chache cleared
Thomas Junk <thomas.junk@intevation.de>
parents:
2596
diff
changeset
|
75 }, |
2384
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2257
diff
changeset
|
76 popup: (state, popup) => { |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2257
diff
changeset
|
77 state.popup = popup; |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2257
diff
changeset
|
78 }, |
3146
b6cc4838d2c0
client: implemented pane mechanic for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
3084
diff
changeset
|
79 paneSetup: (state, setup) => { |
b6cc4838d2c0
client: implemented pane mechanic for diagrams
Markus Kottlaender <markus@intevation.de>
parents:
3084
diff
changeset
|
80 state.paneSetup = setup; |
2984
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2825
diff
changeset
|
81 }, |
3041
ccda334eed92
client: panes: improved panes rotation, works with pure css so that components don't need to be re-mounted
Markus Kottlaender <markus@intevation.de>
parents:
3011
diff
changeset
|
82 paneRotate: (state, rotate) => { |
3084
5a1f243d9c7c
client: panes: made paneRotate mutation automatically rotate if no rotation value is provided
Markus Kottlaender <markus@intevation.de>
parents:
3079
diff
changeset
|
83 if (rotate) { |
5a1f243d9c7c
client: panes: made paneRotate mutation automatically rotate if no rotation value is provided
Markus Kottlaender <markus@intevation.de>
parents:
3079
diff
changeset
|
84 state.paneRotate = rotate; |
5a1f243d9c7c
client: panes: made paneRotate mutation automatically rotate if no rotation value is provided
Markus Kottlaender <markus@intevation.de>
parents:
3079
diff
changeset
|
85 } else { |
5a1f243d9c7c
client: panes: made paneRotate mutation automatically rotate if no rotation value is provided
Markus Kottlaender <markus@intevation.de>
parents:
3079
diff
changeset
|
86 state.paneRotate++; |
5a1f243d9c7c
client: panes: made paneRotate mutation automatically rotate if no rotation value is provided
Markus Kottlaender <markus@intevation.de>
parents:
3079
diff
changeset
|
87 if (state.paneRotate === 5) state.paneRotate = 1; |
5a1f243d9c7c
client: panes: made paneRotate mutation automatically rotate if no rotation value is provided
Markus Kottlaender <markus@intevation.de>
parents:
3079
diff
changeset
|
88 } |
2984
61f69e8919d3
client: prepared splitview
Markus Kottlaender <markus@intevation.de>
parents:
2825
diff
changeset
|
89 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
90 showSidebar: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
91 state.showSidebar = show; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
92 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
93 showUsermenu: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
94 state.showUsermenu = show; |
810 | 95 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
96 showSearchbar: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
97 state.showSearchbar = show; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
98 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
99 showIdentify: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
100 state.showIdentify = show; |
622
47f11401d999
feat: Usermenu is now collapsible
Thomas Junk <thomas.junk@intevation.de>
parents:
593
diff
changeset
|
101 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
102 showLayers: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
103 state.showLayers = show; |
647
620a65f11b33
fix: splitscreenoption has to be reset for logout
Thomas Junk <thomas.junk@intevation.de>
parents:
622
diff
changeset
|
104 }, |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
105 showPdfTool: (state, show) => { |
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
106 state.showPdfTool = show; |
1183
1d4801145a2d
import soundingresults context now map instead administration
Thomas Junk <thomas.junk@intevation.de>
parents:
1123
diff
changeset
|
107 }, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
108 showContextBox: (state, show) => { |
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
109 state.showContextBox = show; |
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
110 }, |
1372
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
111 showProfiles: (state, show) => { |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
112 state.showProfiles = show; |
553aadd97087
new cross profile workflow (WIP)
Markus Kottlaender <markus@intevation.de>
parents:
1296
diff
changeset
|
113 }, |
2596
8774054959a7
client: added Gauges dialog/tool to show waterlevel diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2590
diff
changeset
|
114 showGauges: (state, show) => { |
8774054959a7
client: added Gauges dialog/tool to show waterlevel diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2590
diff
changeset
|
115 state.showGauges = show; |
8774054959a7
client: added Gauges dialog/tool to show waterlevel diagrams
Markus Kottlaender <markus@intevation.de>
parents:
2590
diff
changeset
|
116 }, |
3159
4f4905b57fcf
toolbar: added statistics dialog component
Thomas Junk <thomas.junk@intevation.de>
parents:
3146
diff
changeset
|
117 showStatistics: (state, show) => { |
4f4905b57fcf
toolbar: added statistics dialog component
Thomas Junk <thomas.junk@intevation.de>
parents:
3146
diff
changeset
|
118 state.showStatistics = show; |
4f4905b57fcf
toolbar: added statistics dialog component
Thomas Junk <thomas.junk@intevation.de>
parents:
3146
diff
changeset
|
119 }, |
1282
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
120 contextBoxContent: (state, context) => { |
a7dd8a3356fc
fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents:
1264
diff
changeset
|
121 state.contextBoxContent = context; |
1230
957907eaaa72
implemented context sensitive box below search bar (see: issue224)
Markus Kottlaender <markus@intevation.de>
parents:
1208
diff
changeset
|
122 if (context) { |
957907eaaa72
implemented context sensitive box below search bar (see: issue224)
Markus Kottlaender <markus@intevation.de>
parents:
1208
diff
changeset
|
123 state.showSearchbarLastState = state.showSearchbar; |
957907eaaa72
implemented context sensitive box below search bar (see: issue224)
Markus Kottlaender <markus@intevation.de>
parents:
1208
diff
changeset
|
124 } |
1208 | 125 }, |
1264
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
126 expandToolbar: (state, expandToolbar) => { |
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
127 state.expandToolbar = expandToolbar; |
76bc179c181f
made toolbar expandable
Markus Kottlaender <markus@intevation.de>
parents:
1230
diff
changeset
|
128 }, |
1204
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
129 searchQuery: (state, searchQuery) => { |
ddfdf440da24
made searchbar contextual
Markus Kottlaender <markus@intevation.de>
parents:
1183
diff
changeset
|
130 state.searchQuery = searchQuery; |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
131 } |
1123
d9e6a1f6f394
moved all collapse flags for UI elements to store
Markus Kottlaender <markus@intevation.de>
parents:
1115
diff
changeset
|
132 } |
585
ef307bd6b5d8
refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff
changeset
|
133 }; |