comparison client/src/components/Sidebar.vue @ 2329:514193fd0120

refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
author Thomas Junk <thomas.junk@intevation.de>
date Tue, 19 Feb 2019 14:57:48 +0100
parents 2e40909a975d
children eebe0a8ddc82
comparison
equal deleted inserted replaced
2328:c98491f9c466 2329:514193fd0120
13 fixed-width 13 fixed-width
14 icon="map-marked-alt" 14 icon="map-marked-alt"
15 ></font-awesome-icon> 15 ></font-awesome-icon>
16 <span class="fix-trans-space" v-translate>Map</span> 16 <span class="fix-trans-space" v-translate>Map</span>
17 </router-link> 17 </router-link>
18 <a 18 <router-link to="/bottlenecks">
19 :class="['secondary', { active: isActive('bottlenecks') }]"
20 @click="toggleContextBox('bottlenecks')"
21 href="#"
22 >
23 <font-awesome-icon 19 <font-awesome-icon
24 class="fa-fw mr-2" 20 class="fa-fw mr-2"
25 fixed-width 21 fixed-width
26 icon="ship" 22 icon="ship"
27 ></font-awesome-icon> 23 ></font-awesome-icon>
28 <span class="fix-trans-space" v-translate>Bottlenecks</span> 24 <span class="fix-trans-space" v-translate>Bottlenecks</span>
29 </a> 25 </router-link>
30 <div v-if="isWaterwayAdmin"> 26 <div v-if="isWaterwayAdmin">
31 <a 27 <router-link to="/review">
32 :class="['secondary', { active: isActive('staging') }]"
33 @click="toggleContextBox('staging')"
34 href="#"
35 >
36 <font-awesome-icon 28 <font-awesome-icon
37 class="fa-fw mr-2" 29 class="fa-fw mr-2"
38 fixed-width 30 fixed-width
39 icon="clipboard-check" 31 icon="clipboard-check"
40 ></font-awesome-icon> 32 ></font-awesome-icon>
41 <span class="fix-trans-space" v-translate>Staging area</span> 33 <span class="fix-trans-space" v-translate>Staging area</span>
42 </a> 34 </router-link>
43 </div> 35 </div>
44 <div v-if="isSysAdmin"> 36 <div v-if="isSysAdmin">
45 <a 37 <router-link to="/stretches">
46 :class="['secondary', { active: isActive('stretches') }]"
47 @click="toggleContextBox('stretches')"
48 href="#"
49 >
50 <font-awesome-icon 38 <font-awesome-icon
51 class="fa-fw mr-2" 39 class="fa-fw mr-2"
52 fixed-width 40 fixed-width
53 icon="road" 41 icon="road"
54 ></font-awesome-icon> 42 ></font-awesome-icon>
55 <span class="fix-trans-space" v-translate>Define stretches</span> 43 <span class="fix-trans-space" v-translate>Define stretches</span>
56 </a> 44 </router-link>
57 </div> 45 </div>
58 <div v-if="isWaterwayAdmin"> 46 <div v-if="isWaterwayAdmin">
59 <small class="text-muted pl-3"> <translate>Import</translate> </small> 47 <small class="text-muted pl-3"> <translate>Import</translate> </small>
60 <hr class="m-0" /> 48 <hr class="m-0" />
61 <router-link to="/importsoundingresults"> 49 <router-link to="/importsoundingresults">
173 import { logOff } from "@/lib/session.js"; 161 import { logOff } from "@/lib/session.js";
174 162
175 export default { 163 export default {
176 name: "sidebar", 164 name: "sidebar",
177 props: ["routeName"], 165 props: ["routeName"],
178 watch: {
179 $route() {
180 const { review, importlog } = this.$route.query;
181 if (review) {
182 this.toggleContextBox("staging");
183 this.$store.commit("imports/setImportToReview", review);
184 } else {
185 this.$store.commit("imports/setImportToReview", -99);
186 }
187 if (importlog) {
188 this.$router.push("/importqueue/" + importlog);
189 }
190 }
191 },
192 computed: { 166 computed: {
193 ...mapGetters("user", ["isSysAdmin", "isWaterwayAdmin"]), 167 ...mapGetters("user", ["isSysAdmin", "isWaterwayAdmin"]),
194 ...mapState("user", ["user"]), 168 ...mapState("user", ["user"]),
195 ...mapState("application", [ 169 ...mapState("application", [
196 "showSidebar", 170 "showSidebar",