feat: watch taskId instead of whole route (#812)

Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: vikunja/frontend#812
Reviewed-by: konrad <k@knt.li>
Co-authored-by: dpschen <dpschen@noreply.kolaente.de>
Co-committed-by: dpschen <dpschen@noreply.kolaente.de>
This commit is contained in:
dpschen 2021-10-02 13:33:01 +00:00 committed by konrad
parent c3b6e13009
commit 64abb1ce37
1 changed files with 11 additions and 6 deletions

View File

@ -471,7 +471,6 @@ export default {
},
data() {
return {
taskId: Number(this.$route.params.id),
taskService: new TaskService(),
task: new TaskModel(),
relationKinds: relationKinds,
@ -507,13 +506,16 @@ export default {
}
},
watch: {
'$route': {
taskId: {
handler: 'loadTask',
deep: true,
immediate: true,
},
},
computed: {
taskId() {
const { id } = this.$route.params
return id === undefined ? id : Number(id)
},
currentList() {
return this.$store.state[CURRENT_LIST]
},
@ -557,9 +559,12 @@ export default {
return uploadFile(this.taskId, ...args)
},
loadTask() {
this.taskId = Number(this.$route.params.id)
this.taskService.get({id: this.taskId})
loadTask(taskId) {
if (taskId === undefined) {
return
}
this.taskService.get({id: taskId})
.then(r => {
this.$set(this, 'task', r)
this.$store.commit('attachments/set', r.attachments)