This commit is contained in:
2025-07-07 21:48:40 +02:00
parent f7de5f8f9c
commit 4a97dad74f
5 changed files with 159 additions and 38 deletions

View File

@ -417,26 +417,15 @@
},
update: function (event, ui) {
// ❗ Se déclenche même pour tri dans la même colonne
if (!event.originalEvent) return; // ← ignorer les appels indirects
console.log("UPDATE");
if (!event.originalEvent) return;
const $targetContainer = $(this);
const sourceId = $sourceContainer.data('id');
const targetId = $targetContainer.data('id');
// Ne pas dupliquer l'appel si cest un vrai "receive"
if (ui.sender) return;
sendUpdate(sourceId, targetId, $sourceContainer, $targetContainer, $movedItem, originalIndex);
},
receive: function (event, ui) {
const $targetContainer = $(this);
const sourceId = $sourceContainer.data('id');
const targetId = $targetContainer.data('id');
sendUpdate(sourceId, targetId, $sourceContainer, $targetContainer, $movedItem, originalIndex);
}
},
});
function sendUpdate(sourceId, targetId, $sourceContainer, $targetContainer, $movedItem, originalIndex) {
@ -455,17 +444,14 @@
url: url,
method: 'POST',
data: {
source: sourceId,
target: targetId,
sourceIssues: sourceIssues,
targetIssues: targetIssues
},
success: function (response) {
console.log('Déplacement réussi', response);
},
error: function (xhr) {
console.error('Erreur AJAX', xhr);
console.log(xhr);
// Annuler le déplacement
if ($movedItem && $sourceContainer) {
const items = $sourceContainer.children();
@ -475,6 +461,14 @@
$movedItem.insertBefore(items.eq(originalIndex));
}
}
const message = xhr.responseJSON?.message || 'Une erreur est survenue lors de la requête.';
$('#ajaxErrorMessage').text(message);
const toast = new bootstrap.Toast(document.getElementById('ajaxErrorToast'), {
delay: 5000
});
toast.show();
}
});
}