Fix adding labels not being updated in store

This commit is contained in:
kolaente 2020-05-09 18:33:55 +02:00
parent 03f310f628
commit 1b2005fd7f
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
2 changed files with 23 additions and 5 deletions

View File

@ -108,8 +108,7 @@
this.$set(this, 'foundLabels', [])
},
addLabel(label) {
let labelTask = new LabelTaskModel({taskId: this.taskId, labelId: label.id})
this.labelTaskService.create(labelTask)
this.$store.dispatch('tasks/addLabel', {label: label, taskId: this.taskId})
.then(() => {
this.success({message: 'The label was successfully added.'}, this)
this.$emit('input', this.labels)

View File

@ -1,12 +1,12 @@
import TaskService from '../../services/task'
import TaskAssigneeService from '../../services/taskAssignee'
import TaskAssigneeModel from '../../models/taskAssignee'
import LabelTaskModel from '../../models/labelTask'
import LabelTaskService from '../../services/labelTask'
export default {
namespaced: true,
state: () => ({
}),
state: () => ({}),
actions: {
update(ctx, task) {
const taskService = new TaskService()
@ -75,5 +75,24 @@ export default {
})
},
addLabel(ctx, {label, taskId}) {
const labelTaskService = new LabelTaskService()
const labelTask = new LabelTaskModel({taskId: taskId, labelId: label.id})
return labelTaskService.create(labelTask)
.then(r => {
const t = ctx.rootGetters['kanban/getTaskById'](taskId)
if (t.task === null) {
return Promise.reject('Task not found.')
}
t.task.labels.push(label)
ctx.commit('kanban/setTaskInBucketByIndex', t, {root: true})
return Promise.resolve(r)
})
.catch(e => {
return Promise.reject(e)
})
},
},
}