fix: vuex store mutation error when moving a task with attributes on kanban

This commit is contained in:
kolaente 2021-10-17 16:21:55 +02:00
parent 1c8e26bdc6
commit 9d48700cd9
No known key found for this signature in database
GPG key ID: F40E70337AB24C9B

View file

@ -236,6 +236,7 @@
<script> <script>
import draggable from 'vuedraggable' import draggable from 'vuedraggable'
import cloneDeep from 'lodash.clonedeep'
import BucketModel from '../../../models/bucket' import BucketModel from '../../../models/bucket'
import {mapState} from 'vuex' import {mapState} from 'vuex'
@ -421,11 +422,9 @@ export default {
const taskBefore = newBucket.tasks[e.newIndex - 1] ?? null const taskBefore = newBucket.tasks[e.newIndex - 1] ?? null
const taskAfter = newBucket.tasks[e.newIndex + 1] ?? null const taskAfter = newBucket.tasks[e.newIndex + 1] ?? null
const newTask = { const newTask = cloneDeep(task) // cloning the task to avoid vuex store mutations
...task, newTask.bucketId = newBucket.id,
bucketId: newBucket.id, newTask.kanbanPosition = calculateItemPosition(taskBefore !== null ? taskBefore.kanbanPosition : null, taskAfter !== null ? taskAfter.kanbanPosition : null),
kanbanPosition: calculateItemPosition(taskBefore !== null ? taskBefore.kanbanPosition : null, taskAfter !== null ? taskAfter.kanbanPosition : null),
}
this.$store.dispatch('tasks/update', newTask) this.$store.dispatch('tasks/update', newTask)
.finally(() => { .finally(() => {