Better drop effect handling

This commit is contained in:
Kuba Orlik 2024-08-31 13:25:42 +02:00
parent a94b95bf57
commit 8711862c4c

View File

@ -20,6 +20,7 @@ export default class Sortable extends Controller {
setupHoleListeners(hole: HTMLDivElement) {
hole.addEventListener("dragenter", (event) => {
e.dataTransfer.dropEffect = "move";
if (!this.dragged_element) {
return;
}
@ -28,6 +29,7 @@ export default class Sortable extends Controller {
});
hole.addEventListener("dragover", (event) => {
e.dataTransfer.dropEffect = "move";
if (!this.dragged_element) {
return;
}
@ -77,7 +79,7 @@ export default class Sortable extends Controller {
connect() {
this.element.querySelectorAll(".sortable__element").forEach((element) => {
element.addEventListener("dragstart", (e: DragEvent) => {
e.dataTransfer.dropEffect = "move";
event.dataTransfer.effectAllowed = "move";
const target = e.target as HTMLDivElement;
this.dragged_element = target;
setTimeout(() => {