From cbca7a3fad66dd8da8950f28ea5bcbde0a048524 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Tue, 27 Dec 2022 12:53:35 -0500 Subject: [PATCH] Detect "delete" key press Also built a framework in view_mail.js to handle arbitrary keypresses. This can be copied to other modules. --- webcit-ng/static/js/view_mail.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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(); -- 2.39.2