forked from vikunja/frontend
57 lines
1.2 KiB
Vue
57 lines
1.2 KiB
Vue
<template>
|
|
<div class="content loader-container" v-bind:class="{ 'is-loading': teamService.loading}">
|
|
<router-link :to="{name:'newTeam'}" class="button is-success button-right" >
|
|
<span class="icon is-small">
|
|
<icon icon="plus"/>
|
|
</span>
|
|
New Team
|
|
</router-link>
|
|
<h1>Teams</h1>
|
|
<ul class="teams box">
|
|
<li v-for="t in teams" :key="t.id">
|
|
<router-link :to="{name: 'editTeam', params: {id: t.id}}">
|
|
{{t.name}}
|
|
</router-link>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import auth from '../../auth'
|
|
import router from '../../router'
|
|
import message from '../../message'
|
|
import TeamService from '../../services/team'
|
|
|
|
export default {
|
|
name: "ListTeams",
|
|
data() {
|
|
return {
|
|
teamService: TeamService,
|
|
teams: [],
|
|
}
|
|
},
|
|
beforeMount() {
|
|
// Check if the user is already logged in, if so, redirect him to the homepage
|
|
if (!auth.user.authenticated) {
|
|
router.push({name: 'home'})
|
|
}
|
|
},
|
|
created() {
|
|
this.teamService = new TeamService()
|
|
this.loadTeams()
|
|
},
|
|
methods: {
|
|
loadTeams() {
|
|
this.teamService.getAll()
|
|
.then(response => {
|
|
this.$set(this, 'teams', response)
|
|
})
|
|
.catch(e => {
|
|
message.error(e, this)
|
|
})
|
|
},
|
|
}
|
|
}
|
|
</script>
|