view_mail.js: set custom drag element
authorArt Cancro <ajc@citadel.org>
Thu, 29 Jun 2023 21:24:53 +0000 (17:24 -0400)
committerArt Cancro <ajc@citadel.org>
Thu, 29 Jun 2023 21:24:53 +0000 (17:24 -0400)
webcit-ng/static/index.html
webcit-ng/static/js/view_mail.js

index 801ad90037cc4cf754bd7335ef05de63a7e50333..acff2e5d859f29123de26a464283c8e932ff7e22 100644 (file)
@@ -17,6 +17,9 @@
 <!-- When we need a modal dialog, we can attach it to this element -->
 <div class="ctdl-modal" id="ctdl_big_modal"></div>
 
+<!-- When we need a custom ghost image for drag-and-drop, we can attach it to this element -->
+<div id="ctdl_draggo" style="position:absolute; left:0px; top:0px; z-index:-9">DRAGGO</div>
+
 <div class="ctdl-main-grid-container">
 
        <div class="ctdl-grid-banner-item" id="banner">
@@ -24,7 +27,7 @@
                        <div id="ctdl-banner-left" class="ctdl-banner-left">
                                <!-- <li id="ctdl-sidebar-open" onClick="sidebar_open();"><i class="fa fa-bars"></i>Menu</li> -->
                                <li id="ctdl-logo" onclick=window.open("https://www.citadel.org");>
-                                       <img class="ctdl-logo-img" src="/ctdl/s/images/citadel-logo.gif" alt="CITADEL">
+                                       <img class="ctdl-logo-img" id="ctdl-logo-img" src="/ctdl/s/images/citadel-logo.gif" alt="CITADEL">
                                </li>
                                <li><button id="ctdl_banner_title">---</button></li>
                        </div>
index fedb20dce67b8320287a3a5275ad5ef33d8e1029..6014972ba141671b3c5b1ef3ea1b1d25039d575c 100644 (file)
@@ -80,6 +80,14 @@ function mail_keypress(event) {
 }
 
 
+// Handler function for dragging email messages to other folders
+function mail_dragstart(event) {
+       d = document.getElementById("ctdl_draggo");
+       d.innerHTML = "DRAGERIFEROUS";
+       event.dataTransfer.setDragImage(d, 0, 0);
+}
+
+
 // Render reply address for a message (FIXME figure out how to deal with "reply-to:")
 function reply_addr(msg) {
        //if (msg.locl) {
@@ -210,14 +218,13 @@ function mail_display_message(msgnum, target_div, include_controls) {
 // after a message is selected or deselected, we call this to set or clear the drag handler.
 function enable_or_disable_draggable(row) {
        if (row.classList.contains("ctdl-mail-selected")) {
-               console.log(row.id + " selected");
                row.draggable = "true"
+               row.addEventListener("dragstart", mail_dragstart);
        }
        else {
-               console.log(row.id + " deselected");
                row.draggable = "false"
+               row.removeEventListener("dragstart", mail_dragstart);
        }
-       console.log(row.dragstart);
 }