annotate client/src/components/Contextbox.vue @ 3696:982816fca381

client: keep components in contextboxx alive
author Markus Kottlaender <markus@intevation.de>
date Wed, 19 Jun 2019 11:13:23 +0200
parents ec27ee21f7bc
children daabb540a204
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
1 <template>
1362
ca33ad696594 remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
2 <div :class="style">
3696
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3298
diff changeset
3 <keep-alive>
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3298
diff changeset
4 <Bottlenecks v-if="contextBoxContent === 'bottlenecks'" />
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3298
diff changeset
5 <Staging v-if="contextBoxContent === 'staging'" />
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3298
diff changeset
6 <Stretches v-if="contextBoxContent === 'stretches'" />
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3298
diff changeset
7 <Sections v-if="contextBoxContent === 'sections'" />
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3298
diff changeset
8 <ImportOverview v-if="contextBoxContent === 'importoverview'" />
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3298
diff changeset
9 <ImportConfiguration v-if="contextBoxContent === 'importconfiguration'" />
982816fca381 client: keep components in contextboxx alive
Markus Kottlaender <markus@intevation.de>
parents: 3298
diff changeset
10 </keep-alive>
1362
ca33ad696594 remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
11 </div>
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
12 </template>
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
13
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
14 <script>
1362
ca33ad696594 remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
15 /* This is Free Software under GNU Affero General Public License v >= 3.0
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
16 * without warranty, see README.md and license for details.
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
17 *
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
18 * SPDX-License-Identifier: AGPL-3.0-or-later
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
19 * License-Filename: LICENSES/AGPL-3.0.txt
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
20 *
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
21 * Copyright (C) 2018 by via donau
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
22 * – Österreichische Wasserstraßen-Gesellschaft mbH
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
23 * Software engineering by Intevation GmbH
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
24 *
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
25 * Author(s):
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
26 * Markus Kottländer <markus.kottlaender@intevation.de>
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
27 */
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
28 import { mapState } from "vuex";
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
29
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
30 export default {
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
31 name: "contextbox",
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
32 components: {
2399
Thomas Junk <thomas.junk@intevation.de>
parents: 2387
diff changeset
33 Bottlenecks: () => import("@/components/Bottlenecks"),
3263
d23532a4d0c3 client: define stretches: renamed component file and moved to subdirectory
Markus Kottlaender <markus@intevation.de>
parents: 3262
diff changeset
34 Stretches: () => import("@/components/stretches/Stretches"),
3298
ec27ee21f7bc client: define sections: added route and support in context box
Markus Kottlaender <markus@intevation.de>
parents: 3263
diff changeset
35 Sections: () => import("@/components/sections/Sections"),
2985
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2972
diff changeset
36 ImportOverview: () => import("@/components/importoverview/ImportOverview"),
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2972
diff changeset
37 ImportConfiguration: () => import("@/components/importconfiguration/Import")
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
38 },
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
39 computed: {
1282
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
40 ...mapState("application", [
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
41 "showSearchbarLastState",
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
42 "contextBoxContent",
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
43 "showContextBox"
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
44 ]),
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
45 style() {
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
46 return [
1282
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
47 "ui-element shadow-xs contextbox",
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
48 {
1282
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
49 contextboxcollapsed: !this.showContextBox,
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
50 contextboxextended: this.showContextBox,
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
51 "rounded-bottom": this.contextBoxContent !== "imports",
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
52 rounded: this.contextBoxContent === "imports"
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
53 }
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
54 ];
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
55 }
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
56 },
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
57 methods: {
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
58 close() {
3261
916d4c898f08 client: import stretches: prevent map/identify popup from opening when selecting a distance mark on the map
Markus Kottlaender <markus@intevation.de>
parents: 3012
diff changeset
59 this.$store.commit("map/mapPopupEnabled", true);
2282
2e40909a975d clean searchbar when context is changed
Thomas Junk <thomas.junk@intevation.de>
parents: 2154
diff changeset
60 this.$store.commit("application/searchQuery", "");
1282
a7dd8a3356fc fixed contextBox animations
Markus Kottlaender <markus@intevation.de>
parents: 1278
diff changeset
61 this.$store.commit("application/showContextBox", false);
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
62 this.$store.commit(
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
63 "application/showSearchbar",
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
64 this.showSearchbarLastState
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
65 );
2329
514193fd0120 refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents: 2282
diff changeset
66 this.$router.push("/");
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
67 }
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
68 }
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
69 };
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
70 </script>
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
71
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
72 <style lang="scss" scoped>
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
73 .contextbox {
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
74 position: relative;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
75 background-color: #ffffff;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
76 opacity: $slight-transparent;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
77 transition: max-width 0.3s, max-height 0.3s;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
78 overflow: hidden;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
79 background: #fff;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
80 }
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
81 .contextbox > div:last-child {
3012
802fcb50c484 search, contextbox: increased available area
Thomas Junk <thomas.junk@intevation.de>
parents: 2985
diff changeset
82 width: 668px;
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
83 }
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
84
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
85 .contextboxcollapsed {
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
86 max-width: 0;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
87 max-height: 0;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
88 }
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
89
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
90 .contextboxextended {
3012
802fcb50c484 search, contextbox: increased available area
Thomas Junk <thomas.junk@intevation.de>
parents: 2985
diff changeset
91 max-width: 668px;
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
92 }
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
93
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
94 .close-contextbox {
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
95 position: absolute;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
96 z-index: 2;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
97 right: 0;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
98 top: 7px;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
99 height: $icon-width;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
100 width: $icon-height;
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1403
diff changeset
101 }
1276
aec9ed491dad more cleanup in client/src
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
102 </style>