diff --git a/apps/susimail/src/js/compose.js b/apps/susimail/src/js/compose.js index 77b101bb2..6c7b09ffb 100644 --- a/apps/susimail/src/js/compose.js +++ b/apps/susimail/src/js/compose.js @@ -1,2 +1,22 @@ let beforePopup = true; window.addEventListener('beforeunload', (e)=>{if (beforePopup) e.returnValue=true;} ); + +function initPopup() { + var buttons = document.getElementsByClassName("beforePopup"); + for(index = 0; index < buttons.length; index++) + { + var button = buttons[index]; + addClickHandler5(button); + } +} + +function addClickHandler5(elem) +{ + elem.addEventListener("click", function() { + beforePopup = false; + }); +} + +document.addEventListener("DOMContentLoaded", function() { + initPopup(); +}, true); diff --git a/apps/susimail/src/js/folder.js b/apps/susimail/src/js/folder.js index 6b01b7c77..ee473da54 100644 --- a/apps/susimail/src/js/folder.js +++ b/apps/susimail/src/js/folder.js @@ -1,3 +1,66 @@ +function initButtons() { + var buttons = document.getElementsByClassName("delete1"); + for(index = 0; index < buttons.length; index++) + { + var button = buttons[index]; + addClickHandler1(button); + } + buttons = document.getElementsByClassName("markall"); + for(index = 0; index < buttons.length; index++) + { + var button = buttons[index]; + addClickHandler2(button); + } + buttons = document.getElementsByClassName("clearselection"); + for(index = 0; index < buttons.length; index++) + { + var button = buttons[index]; + addClickHandler3(button); + } + // TODO delete button, to show really-delete section or popup +} + +function addClickHandler1(elem) +{ + elem.addEventListener("click", function() { + deleteboxclicked(); + }); +} + +function addClickHandler2(elem) +{ + elem.addEventListener("click", function() { + var form = document.forms[0]; + form.delete.disabled = false; + form.markall.disabled = true; + form.clearselection.disabled = true; + var buttons = document.getElementsByClassName("delete1"); + for(index = 0; index < buttons.length; index++) + { + var button = buttons[index]; + button.checked = true; + } + event.preventDefault(); + }); +} + +function addClickHandler3(elem) +{ + elem.addEventListener("click", function() { + var form = document.forms[0]; + form.delete.disabled = true; + form.markall.disabled = false; + form.clearselection.disabled = false; + var buttons = document.getElementsByClassName("delete1"); + for(index = 0; index < buttons.length; index++) + { + var button = buttons[index]; + button.checked = false; + } + event.preventDefault(); + }); +} + function deleteboxclicked() { var hasOne = false; var hasAll = true; @@ -18,3 +81,8 @@ function deleteboxclicked() { form.markall.disabled = hasAll; form.clearselection.disabled = hasNone; } + +document.addEventListener("DOMContentLoaded", function() { + initButtons(); + deleteboxclicked(); +}, true); diff --git a/apps/susimail/src/js/notifications.js b/apps/susimail/src/js/notifications.js new file mode 100644 index 000000000..90167d146 --- /dev/null +++ b/apps/susimail/src/js/notifications.js @@ -0,0 +1,19 @@ +function initNotifications() { + var buttons = document.getElementsByClassName("notifications"); + for(index = 0; index < buttons.length; index++) + { + var button = buttons[index]; + addClickHandler6(button); + } +} + +function addClickHandler6(elem) +{ + elem.addEventListener("click", function() { + elem.remove(); + }); +} + +document.addEventListener("DOMContentLoaded", function() { + initNotifications(); +}, true); diff --git a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java index d3f182dd7..ae4c52e21 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java +++ b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java @@ -391,12 +391,15 @@ public class WebMail extends HttpServlet private static String button( String name, String label ) { StringBuilder buf = new StringBuilder(128); - buf.append(""); // TODO we don't need the form below } - out.print("\n" : ">")); + out.println(""); + out.print("\n"); String nonce = state == State.AUTH ? LOGIN_NONCE : Long.toString(ctx.random().nextLong()); sessionObject.addNonce(nonce); @@ -2414,7 +2418,7 @@ public class WebMail extends HttpServlet } } if (showRefresh || sessionObject.error.length() > 0 || sessionObject.info.length() > 0) { - out.println("
"); + out.println("
"); if (sessionObject.error.length() > 0) out.println("

" + quoteHTML(sessionObject.error).replace("\n", "
") + "

"); if (sessionObject.info.length() > 0 || showRefresh) { @@ -3221,8 +3225,7 @@ public class WebMail extends HttpServlet if (subj.length() <= 0) subj = "" + _t("no subject") + ""; out.println( "" + - "" + "" + (mail.isNew() ? "\"\"" : " ") + ""); // mail.shortSender and mail.shortSubject already html encoded @@ -3271,6 +3274,7 @@ public class WebMail extends HttpServlet } out.println(""); if (i > 0) { + // TODO do this in js if( sessionObject.reallyDelete ) { // TODO ngettext out.println("

" + _t("Really delete the marked messages?") +