Better drop effect handling
This commit is contained in:
parent
a94b95bf57
commit
8711862c4c
@ -20,6 +20,7 @@ export default class Sortable extends Controller {
|
|||||||
|
|
||||||
setupHoleListeners(hole: HTMLDivElement) {
|
setupHoleListeners(hole: HTMLDivElement) {
|
||||||
hole.addEventListener("dragenter", (event) => {
|
hole.addEventListener("dragenter", (event) => {
|
||||||
|
e.dataTransfer.dropEffect = "move";
|
||||||
if (!this.dragged_element) {
|
if (!this.dragged_element) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -28,6 +29,7 @@ export default class Sortable extends Controller {
|
|||||||
});
|
});
|
||||||
|
|
||||||
hole.addEventListener("dragover", (event) => {
|
hole.addEventListener("dragover", (event) => {
|
||||||
|
e.dataTransfer.dropEffect = "move";
|
||||||
if (!this.dragged_element) {
|
if (!this.dragged_element) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -77,7 +79,7 @@ export default class Sortable extends Controller {
|
|||||||
connect() {
|
connect() {
|
||||||
this.element.querySelectorAll(".sortable__element").forEach((element) => {
|
this.element.querySelectorAll(".sortable__element").forEach((element) => {
|
||||||
element.addEventListener("dragstart", (e: DragEvent) => {
|
element.addEventListener("dragstart", (e: DragEvent) => {
|
||||||
e.dataTransfer.dropEffect = "move";
|
event.dataTransfer.effectAllowed = "move";
|
||||||
const target = e.target as HTMLDivElement;
|
const target = e.target as HTMLDivElement;
|
||||||
this.dragged_element = target;
|
this.dragged_element = target;
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user