WIP on drag n drop

This commit is contained in:
nate smith 2024-03-16 15:54:38 -07:00
parent 4cd614b6fb
commit ab72a72f84

View File

@ -197,6 +197,22 @@ class PoemLine extends HTMLDivElement {
if (this.connected) { if (this.connected) {
return; return;
} }
const lid = Math.floor(Math.random()*100);
this.setAttribute("id", `line-${lid}`);
this.setAttribute("draggable", true);
this.addEventListener("dragstart", (e) => {
e.dataTransfer.dropEffect = "move";
e.dataTransfer.setData("text/plain", e.target.id);
});
this.addEventListener("dragover", (e) => {
e.preventDefault();
e.dataTransfer.dropEffect = "move";
});
this.addEventListener("drop", (e) => {
e.preventDefault();
const lid = e.dataTransfer.getData("text/plain");
this.closest(".line").before(document.getElementById(lid));
});
this.appendChild(this.ltp.content.cloneNode(true)); this.appendChild(this.ltp.content.cloneNode(true));
this.connected = true; this.connected = true;
} }