Skip to content
Snippets Groups Projects
Commit 3bb31e3c authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Displayed user info in UI

parent 52f19bc9
No related branches found
No related tags found
No related merge requests found
...@@ -31,6 +31,7 @@ export default { ...@@ -31,6 +31,7 @@ export default {
}, },
mounted() { mounted() {
this.$store.dispatch('loadJobs'); this.$store.dispatch('loadJobs');
this.$store.dispatch('loadUserInfo');
} }
} }
</script> </script>
......
{
"username": "anonymous"
}
...@@ -3,6 +3,8 @@ import folder1 from 'raw-loader!./data/nodes/folder1.html'; ...@@ -3,6 +3,8 @@ import folder1 from 'raw-loader!./data/nodes/folder1.html';
import folder2 from 'raw-loader!./data/nodes/folder2.html'; import folder2 from 'raw-loader!./data/nodes/folder2.html';
import job from './data/job'; import job from './data/job';
import jobs from './data/jobs'; import jobs from './data/jobs';
import user from './data/user';
import store from '../../store'; import store from '../../store';
const fetch = (mockData, showLoading = true, time = 500) => { const fetch = (mockData, showLoading = true, time = 500) => {
...@@ -40,5 +42,8 @@ export default { ...@@ -40,5 +42,8 @@ export default {
}, },
loadJobs() { loadJobs() {
return fetch(jobs, false); return fetch(jobs, false);
},
getUserInfo() {
return fetch(user, false);
} }
} }
...@@ -50,5 +50,27 @@ export default { ...@@ -50,5 +50,27 @@ export default {
'Cache-Control': 'no-cache' 'Cache-Control': 'no-cache'
} }
}, true, true); }, 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);
} }
} }
...@@ -3,6 +3,12 @@ ...@@ -3,6 +3,12 @@
<b-navbar toggleable="lg" type="dark" id="top-menu"> <b-navbar toggleable="lg" type="dark" id="top-menu">
<b-navbar-brand href="#/" class="d-none d-md-block">VOSpace</b-navbar-brand> <b-navbar-brand href="#/" class="d-none d-md-block">VOSpace</b-navbar-brand>
<JobsMenuItem /> <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> </b-navbar>
</div> </div>
</template> </template>
...@@ -13,6 +19,9 @@ import JobsMenuItem from './JobsMenuItem.vue'; ...@@ -13,6 +19,9 @@ import JobsMenuItem from './JobsMenuItem.vue';
export default { export default {
components: { components: {
JobsMenuItem JobsMenuItem
},
computed: {
user() { return this.$store.state.user }
} }
} }
</script> </script>
......
...@@ -12,7 +12,8 @@ export default new Vuex.Store({ ...@@ -12,7 +12,8 @@ export default new Vuex.Store({
path: '', path: '',
loading: true, loading: true,
tapeButtonEnabled: false, tapeButtonEnabled: false,
jobs: [] jobs: [],
user: 'anonymous'
}, },
mutations: { mutations: {
setLoading(state, loading) { setLoading(state, loading) {
...@@ -37,6 +38,9 @@ export default new Vuex.Store({ ...@@ -37,6 +38,9 @@ export default new Vuex.Store({
}, },
addJob(state, job) { addJob(state, job) {
state.jobs.push(job); state.jobs.push(job);
},
setUsername(state, username) {
state.user = username;
} }
}, },
actions: { actions: {
...@@ -72,6 +76,10 @@ export default new Vuex.Store({ ...@@ -72,6 +76,10 @@ export default new Vuex.Store({
loadJobs({ commit }) { loadJobs({ commit }) {
client.loadJobs() client.loadJobs()
.then(jobs => commit('setJobs', jobs)); .then(jobs => commit('setJobs', jobs));
},
loadUserInfo({ commit }) {
client.getUserInfo()
.then(res => commit('setUsername', res.username));
} }
} }
}); });
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment