From: Art Cancro Date: Tue, 27 Dec 2022 17:53:35 +0000 (-0500) Subject: Detect "delete" key press X-Git-Tag: v973~58 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=cbca7a3fad66dd8da8950f28ea5bcbde0a048524;p=citadel.git Detect "delete" key press Also built a framework in view_mail.js to handle arbitrary keypresses. This can be copied to other modules. --- diff --git a/webcit-ng/static/js/view_mail.js b/webcit-ng/static/js/view_mail.js index cd74cc73f..5312fe09b 100644 --- a/webcit-ng/static/js/view_mail.js +++ b/webcit-ng/static/js/view_mail.js @@ -15,6 +15,27 @@ var newmail_notify = { }; +// Handler function for keypresses detected while the mail view is displayed. Mainly for deleting messages. +function mail_keypress(event) { + + // If the "ctdl-mailbox-pane" no longer exists, the user has navigated to a different part of the site, + // so cancel the event listener. + try { + document.getElementById("ctdl-mailbox-pane").innerHTML; + } + catch { + document.removeEventListener("keydown", mail_keypress); + return; + } + + const key = event.key.toLowerCase(); + if (key == "delete") { + console.log("delete key was pressed (FIXME do something with this)"); + } + +} + + // Render reply address for a message (FIXME figure out how to deal with "reply-to:") function reply_addr(msg) { //if (msg.locl) { @@ -296,6 +317,7 @@ function render_mailbox_display(notify) { box += ""; document.getElementById("ctdl-mailbox-pane").innerHTML = box; + document.addEventListener("keydown", mail_keypress); } } fetch_mailbox();