From ab72a72f84ec8eb627e962c58328738c384a89fb Mon Sep 17 00:00:00 2001 From: nate smith Date: Sat, 16 Mar 2024 15:54:38 -0700 Subject: [PATCH] WIP on drag n drop --- assets/main.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/assets/main.js b/assets/main.js index 4a24c92..1150920 100644 --- a/assets/main.js +++ b/assets/main.js @@ -197,6 +197,22 @@ class PoemLine extends HTMLDivElement { if (this.connected) { 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.connected = true; }