diff --git a/frontend/src/views/project/ProjectList.vue b/frontend/src/views/project/ProjectList.vue
index a23f04091..31cd453b8 100644
--- a/frontend/src/views/project/ProjectList.vue
+++ b/frontend/src/views/project/ProjectList.vue
@@ -73,7 +73,7 @@
>
-
+
@@ -118,6 +118,8 @@ import {useTaskStore} from '@/stores/tasks'
import type {IProject} from '@/modelTypes/IProject'
import type {IProjectView} from '@/modelTypes/IProjectView'
+import TaskPositionService from '@/services/taskPosition'
+import TaskPositionModel from '@/models/taskPosition'
const {
projectId,
@@ -145,6 +147,8 @@ const {
sortByParam,
} = useTaskList(() => projectId, () => view.id, {position: 'asc'})
+const taskPositionService = ref(new TaskPositionService())
+
const tasks = ref([])
watch(
allTasks,
@@ -234,13 +238,17 @@ async function saveTaskPosition(e) {
const taskBefore = tasks.value[e.newIndex - 1] ?? null
const taskAfter = tasks.value[e.newIndex + 1] ?? null
- const newTask = {
- ...task,
- position: calculateItemPosition(taskBefore !== null ? taskBefore.position : null, taskAfter !== null ? taskAfter.position : null),
- }
+ const position = calculateItemPosition(taskBefore !== null ? taskBefore.position : null, taskAfter !== null ? taskAfter.position : null)
- const updatedTask = await taskStore.update(newTask)
- tasks.value[e.newIndex] = updatedTask
+ await taskPositionService.value.update(new TaskPositionModel({
+ position,
+ projectViewId: view.id,
+ taskId: task.id,
+ }))
+ tasks.value[e.newIndex] = {
+ ...task,
+ position,
+ }
}
function prepareFiltersAndLoadTasks() {