Loading vospace-ui-frontend/src/App.vue +1 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ export default { }, mounted() { this.$store.dispatch('loadJobs'); this.$store.dispatch('loadUserInfo'); } } </script> Loading vospace-ui-frontend/src/api/mock/data/user.json 0 → 100644 +3 −0 Original line number Diff line number Diff line { "username": "anonymous" } vospace-ui-frontend/src/api/mock/index.js +5 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,8 @@ import folder1 from 'raw-loader!./data/nodes/folder1.html'; import folder2 from 'raw-loader!./data/nodes/folder2.html'; import job from './data/job'; import jobs from './data/jobs'; import user from './data/user'; import store from '../../store'; const fetch = (mockData, showLoading = true, time = 500) => { Loading Loading @@ -40,5 +42,8 @@ export default { }, loadJobs() { return fetch(jobs, false); }, getUserInfo() { return fetch(user, false); } } vospace-ui-frontend/src/api/server/index.js +22 −0 Original line number Diff line number Diff line Loading @@ -50,5 +50,27 @@ export default { 'Cache-Control': 'no-cache' } }, true, true); }, loadJobs() { let url = BASE_API_URL + 'jobs'; return apiRequest({ method: 'GET', url: url, withCredentials: true, headers: { 'Cache-Control': 'no-cache' } }, false, true); }, getUserInfo() { let url = BASE_API_URL + 'user'; return apiRequest({ method: 'GET', url: url, withCredentials: true, headers: { 'Cache-Control': 'no-cache' } }, false, false); } } vospace-ui-frontend/src/components/TopMenu.vue +9 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,12 @@ <b-navbar toggleable="lg" type="dark" id="top-menu"> <b-navbar-brand href="#/" class="d-none d-md-block">VOSpace</b-navbar-brand> <JobsMenuItem /> <b-navbar-nav class="ml-auto"> <b-nav-item href="login" target="blank_" class="mr-4" v-if="user === 'anonymous'">Login</b-nav-item> <b-nav-item-dropdown :text="user" right v-if="user !== 'anonymous'"> <b-dropdown-item href="vospace-logout">Logout</b-dropdown-item> </b-nav-item-dropdown> </b-navbar-nav> </b-navbar> </div> </template> Loading @@ -13,6 +19,9 @@ import JobsMenuItem from './JobsMenuItem.vue'; export default { components: { JobsMenuItem }, computed: { user() { return this.$store.state.user } } } </script> Loading Loading
vospace-ui-frontend/src/App.vue +1 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ export default { }, mounted() { this.$store.dispatch('loadJobs'); this.$store.dispatch('loadUserInfo'); } } </script> Loading
vospace-ui-frontend/src/api/mock/data/user.json 0 → 100644 +3 −0 Original line number Diff line number Diff line { "username": "anonymous" }
vospace-ui-frontend/src/api/mock/index.js +5 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,8 @@ import folder1 from 'raw-loader!./data/nodes/folder1.html'; import folder2 from 'raw-loader!./data/nodes/folder2.html'; import job from './data/job'; import jobs from './data/jobs'; import user from './data/user'; import store from '../../store'; const fetch = (mockData, showLoading = true, time = 500) => { Loading Loading @@ -40,5 +42,8 @@ export default { }, loadJobs() { return fetch(jobs, false); }, getUserInfo() { return fetch(user, false); } }
vospace-ui-frontend/src/api/server/index.js +22 −0 Original line number Diff line number Diff line Loading @@ -50,5 +50,27 @@ export default { 'Cache-Control': 'no-cache' } }, true, true); }, loadJobs() { let url = BASE_API_URL + 'jobs'; return apiRequest({ method: 'GET', url: url, withCredentials: true, headers: { 'Cache-Control': 'no-cache' } }, false, true); }, getUserInfo() { let url = BASE_API_URL + 'user'; return apiRequest({ method: 'GET', url: url, withCredentials: true, headers: { 'Cache-Control': 'no-cache' } }, false, false); } }
vospace-ui-frontend/src/components/TopMenu.vue +9 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,12 @@ <b-navbar toggleable="lg" type="dark" id="top-menu"> <b-navbar-brand href="#/" class="d-none d-md-block">VOSpace</b-navbar-brand> <JobsMenuItem /> <b-navbar-nav class="ml-auto"> <b-nav-item href="login" target="blank_" class="mr-4" v-if="user === 'anonymous'">Login</b-nav-item> <b-nav-item-dropdown :text="user" right v-if="user !== 'anonymous'"> <b-dropdown-item href="vospace-logout">Logout</b-dropdown-item> </b-nav-item-dropdown> </b-navbar-nav> </b-navbar> </div> </template> Loading @@ -13,6 +19,9 @@ import JobsMenuItem from './JobsMenuItem.vue'; export default { components: { JobsMenuItem }, computed: { user() { return this.$store.state.user } } } </script> Loading