diff --git a/apps/susimail/src/js/compose.js b/apps/susimail/src/js/compose.js new file mode 100644 index 0000000000000000000000000000000000000000..1f897526d80e34db91235b3f6397a7ea996b4eac --- /dev/null +++ b/apps/susimail/src/js/compose.js @@ -0,0 +1,5 @@ +// onbeforeunload() is in the servlet because it has a translated string + +function cancelPopup() { + window.onbeforeunload = null; +} diff --git a/apps/susimail/src/js/folder.js b/apps/susimail/src/js/folder.js new file mode 100644 index 0000000000000000000000000000000000000000..6b01b7c77d7778fd507ea871b0acfc27a0a3d8ad --- /dev/null +++ b/apps/susimail/src/js/folder.js @@ -0,0 +1,20 @@ +function deleteboxclicked() { + var hasOne = false; + var hasAll = true; + var hasNone = true; + var form = document.forms[0]; + for(i = 0; i < form.elements.length; i++) { + var elem = form.elements[i]; + if (elem.type == 'checkbox') { + if (elem.checked) { + hasOne = true; + hasNone = false; + } else { + hasAll = false; + } + } + } + form.delete.disabled = !hasOne; + form.markall.disabled = hasAll; + form.clearselection.disabled = hasNone; +} diff --git a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java index f562cb6cb523c7a2fc70c079aa8878d99858df67..5e8454aa67ef7bb69e64743ff9c1bb23decb4089 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java +++ b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java @@ -1692,17 +1692,18 @@ public class WebMail extends HttpServlet if (sessionObject.state == STATE_NEW) { // TODO cancel if to and body are empty out.println( - "<script type = \"text/javascript\">\n" + + "<script type=\"text/javascript\">\n" + "window.onbeforeunload = function () {" + "return \"" + _("Message has not been sent. Do you want to discard it?") + "\";" + "};\n" + - "function cancelPopup() {" + - "window.onbeforeunload = null;" + - "};\n" + "</script>" ); + out.println("<script src=\"/susimail/js/compose.js\" type=\"text/javascript\"></script>"); + } else if (sessionObject.state == STATE_LIST) { + out.println("<script src=\"/susimail/js/folder.js\" type=\"text/javascript\"></script>"); } - out.println( "</head>\n<body>\n" + + out.print("</head>\n<body" + (sessionObject.state == STATE_LIST ? " onload=\"deleteboxclicked()\">" : ">")); + out.println( "<div class=\"page\"><div class=\"header\"><img class=\"header\" src=\"" + sessionObject.imgPath + "susimail.png\" alt=\"Susimail\"></div>\n" + "<form method=\"POST\" enctype=\"multipart/form-data\" action=\"" + myself + "\" accept-charset=\"UTF-8\">" ); @@ -2154,6 +2155,7 @@ public class WebMail extends HttpServlet // ", clear=" + sessionObject.clear ); out.println( "<tr class=\"list" + bg + "\">" + "<td><input type=\"checkbox\" class=\"optbox\" name=\"check" + i + "\" value=\"1\"" + + " onclick=\"deleteboxclicked();\" " + ( idChecked ? "checked" : "" ) + ">" + "</td><td " + jslink + ">" + (mail.isNew() ? "<img src=\"/susimail/icons/flag_green.png\" alt=\"\" title=\"" + _("Message is new") + "\">" : " ") + "</td><td " + jslink + ">" + link + mail.shortSender + "</a></td><td " + jslink + ">" + @@ -2183,7 +2185,6 @@ public class WebMail extends HttpServlet "</p>" + button( REALLYDELETE, _("Yes, really delete them!") ) + "<br>" + button( CLEAR, _("Cancel"))); } else { - // TODO js out.println(button( DELETE, _("Delete Selected") ) + "<br>"); out.print( button( MARKALL, _("Mark All") ) +