|
@@ -34,9 +34,9 @@
|
|
|
|
|
|
<v-list v-if="loggedIn" >
|
|
<v-list v-if="loggedIn" >
|
|
<v-list-item
|
|
<v-list-item
|
|
- v-for="link in links"
|
|
|
|
|
|
+ v-for="link in getActiveLinks"
|
|
:key="link.id"
|
|
:key="link.id"
|
|
- :to="{name: link.dest}"
|
|
|
|
|
|
+ :to="getLink(link)"
|
|
link
|
|
link
|
|
>
|
|
>
|
|
<v-list-item-icon>
|
|
<v-list-item-icon>
|
|
@@ -56,11 +56,12 @@ import { mapGetters } from 'vuex'
|
|
const uuidv4 = require("uuid/v4")
|
|
const uuidv4 = require("uuid/v4")
|
|
|
|
|
|
class MenuItem {
|
|
class MenuItem {
|
|
- constructor(text, icon, dest){
|
|
|
|
|
|
+ constructor(text, icon, dest, projectMenu=false){
|
|
this.id = uuidv4();
|
|
this.id = uuidv4();
|
|
this.text = text;
|
|
this.text = text;
|
|
this.icon = icon;
|
|
this.icon = icon;
|
|
this.dest = dest;
|
|
this.dest = dest;
|
|
|
|
+ this.projectMenu = projectMenu;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -74,13 +75,71 @@ export default {
|
|
'loggedIn'
|
|
'loggedIn'
|
|
]),
|
|
]),
|
|
|
|
|
|
|
|
+ ...mapGetters([
|
|
|
|
+ 'isProjectViewActive',
|
|
|
|
+ 'getCurrentProject',
|
|
|
|
+
|
|
|
|
+ ]),
|
|
|
|
+
|
|
|
|
+ getActiveLinks () {
|
|
|
|
+ return this.links.filter((item) => {
|
|
|
|
+ return !item.projectMenu || (this.isProjectViewActive && item.projectMenu);
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+
|
|
},
|
|
},
|
|
|
|
+
|
|
data: () => ({
|
|
data: () => ({
|
|
links: [
|
|
links: [
|
|
- new MenuItem('Projects', 'mdi-inbox-arrow-down', 'projects'),
|
|
|
|
|
|
+ new MenuItem(
|
|
|
|
+ 'My Projects',
|
|
|
|
+ 'mdi-book-multiple',
|
|
|
|
+ 'projects'),
|
|
|
|
+
|
|
|
|
+ new MenuItem(
|
|
|
|
+ 'Project Info',
|
|
|
|
+ 'mdi-cog',
|
|
|
|
+ 'project',
|
|
|
|
+ true
|
|
|
|
+ ),
|
|
|
|
+
|
|
|
|
+ new MenuItem(
|
|
|
|
+ 'Data',
|
|
|
|
+ 'mdi-image-multiple',
|
|
|
|
+ 'data',
|
|
|
|
+ true
|
|
|
|
+ ),
|
|
|
|
+
|
|
|
|
+ new MenuItem(
|
|
|
|
+ 'Labels',
|
|
|
|
+ 'mdi-label-multiple',
|
|
|
|
+ 'labels',
|
|
|
|
+ true
|
|
|
|
+ ),
|
|
|
|
+
|
|
|
|
+ new MenuItem(
|
|
|
|
+ 'Annotations',
|
|
|
|
+ 'mdi-account-hard-hat',
|
|
|
|
+ 'annotations',
|
|
|
|
+ true
|
|
|
|
+ ),
|
|
],
|
|
],
|
|
}),
|
|
}),
|
|
|
|
|
|
|
|
+
|
|
|
|
+ methods: {
|
|
|
|
+ getLink(link) {
|
|
|
|
+
|
|
|
|
+ if (link.projectMenu){
|
|
|
|
+
|
|
|
|
+ return {name: link.dest, params: {id: this.getCurrentProject}}
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ return {name: link.dest}
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
</script>
|
|
</script>
|