fix(enhanced-kanban): correct sort order handling for task drop positions

- Updated the logic for determining the sort order when tasks are dropped in the EnhancedKanbanBoard component.
- Added handling for dropping tasks at the end of a group and ensured proper assignment of sort orders, improving task organization during drag-and-drop operations.
This commit is contained in:
shancds
2025-06-23 17:05:35 +05:30
parent a8bf4671fa
commit 17bcf8c41f

View File

@@ -318,16 +318,24 @@ const EnhancedKanbanBoard: React.FC<EnhancedKanbanBoardProps> = ({ projectId, cl
// Find sort_order for from and to
const fromSortOrder = movedTask.sort_order;
let toSortOrder = -1;
if (targetGroup.tasks[targetIndex]) {
toSortOrder = targetGroup.tasks[targetIndex].sort_order;
let toLastIndex = false;
if (targetIndex === targetGroup.tasks.length) {
// Dropping at the end
toSortOrder = -1;
toLastIndex = true;
} else if (targetGroup.tasks[targetIndex]) {
toSortOrder = typeof targetGroup.tasks[targetIndex].sort_order === 'number' ? targetGroup.tasks[targetIndex].sort_order! : -1;
toLastIndex = false;
} else if (targetGroup.tasks.length > 0) {
toSortOrder = targetGroup.tasks[targetGroup.tasks.length - 1].sort_order;
const lastSortOrder = targetGroup.tasks[targetGroup.tasks.length - 1].sort_order;
toSortOrder = typeof lastSortOrder === 'number' ? lastSortOrder! : -1;
toLastIndex = false;
}
const body = {
project_id: projectId,
from_index: fromSortOrder,
to_index: toSortOrder,
to_last_index: !toSortOrder,
to_last_index: toLastIndex,
from_group: sourceGroup.id,
to_group: targetGroup.id,
group_by: groupBy || 'status',