view_mail.js: more improvements to mail forwarding
authorArt Cancro <ajc@citadel.org>
Wed, 13 Dec 2023 03:15:17 +0000 (22:15 -0500)
committerArt Cancro <ajc@citadel.org>
Wed, 13 Dec 2023 03:15:17 +0000 (22:15 -0500)
 * "Fwd:" instead of "Re:"
 * The "--- forwarded message ---" po string is carried over from webcit-classic
 * Make the editor aware that a message is being forwarded
 * TODO: load attachments from the message being forwarded

webcit-ng/static/js/view_mail.js

index d559544b2fbc774846072e16a5adac99ad018240..6d6fbcf45f1a8103f7c24b12e5a9546452f39139 100644 (file)
@@ -164,8 +164,8 @@ function mail_render_one(msgnum, msg, target_div, include_controls) {
                        + _("ReplyAll")
                        + "</a></span>"
                
-                       + "<span class=\"ctdl-msg-button\">"                    // Forward FIXME
-                       + `<a href="javascript:mail_compose(msg.wefw, ${msgnum}, [], [], 'Re: ${subject}');">`
+                       + "<span class=\"ctdl-msg-button\">"
+                       + `<a href="javascript:mail_compose(msg.wefw, ${msgnum}, [], [], 'Fwd: ${subject}');">`
                        + "<i class=\"fa fa-mail-forward\"></i> " 
                        + _("Forward")
                        + "</a></span>";
@@ -482,6 +482,7 @@ function mail_compose(references, quoted_msgnum, m_to, m_cc, m_subject) {
 
        let is_reply = 0;
        let is_quoted = (quoted_msgnum > 0) ? true : false ;
+       let is_fwd = (is_quoted && m_to.length==0 && m_cc.length==0) ;
 
        // m_to will be an array of zero or more recipients for the To: field.  Convert it to a string.
        m_to_str = recipient_array_to_string(m_to);
@@ -527,8 +528,11 @@ function mail_compose(references, quoted_msgnum, m_to, m_cc, m_subject) {
        ;
 
        // If this is a quoted reply, insert a div within which we will render the original message.
-       if (is_quoted) {
-               compose_screen += "<br><br><blockquote><div id=\"" + quoted_div_name + "\">QUOTED MESSAGE HERE</div></blockquote>";
+       if (is_quoted && is_fwd) {
+               compose_screen += "<br><br>" + _("--- forwarded message ---") + "<br><div id=\"" + quoted_div_name + "\">QUOTE</div>";
+       }
+       else if (is_quoted) {
+               compose_screen += "<br><br><blockquote><div id=\"" + quoted_div_name + "\">QUOTE</div></blockquote>";
        }
 
        // The button bar is a Grid element, and is also a Flexbox container.
@@ -556,9 +560,11 @@ function mail_compose(references, quoted_msgnum, m_to, m_cc, m_subject) {
 
        // If this is a quoted reply, render the original message into the div we set up earlier.
        if (is_quoted) {
-               document.getElementById(quoted_div_name).innerHTML = quoted_msgnum;
                mail_display_message(quoted_msgnum, document.getElementById(quoted_div_name), 0);
        }
+       if (is_fwd) {
+               console.log("FIXME we have to load the attachments from message " + quoted_msgnum);
+       }
 
        if (is_reply) {
                setTimeout(() => { document.getElementById("ctdl-editor-body").focus(); }, 0);