From d1a05ac86c81368d2d098368a1866dbdc78a1985 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Mon, 10 Dec 2007 15:56:13 +0000 Subject: [PATCH] Monotone-Parent: 68e43f2315bf24800d73ddb9f73af051eca9aba4 Monotone-Revision: 73611f6bef70fd39e1aa66a4aae311b19f594980 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2007-12-10T15:56:13 Monotone-Branch: ca.inverse.sogo --- UI/WebServerResources/MailerUI.js | 60 ++++++++++++++--------- UI/WebServerResources/UIxMailPopupView.js | 17 +++++++ 2 files changed, 54 insertions(+), 23 deletions(-) diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js index 894df77c5..5fe784fa8 100644 --- a/UI/WebServerResources/MailerUI.js +++ b/UI/WebServerResources/MailerUI.js @@ -213,24 +213,24 @@ function ml_lowlight(sender) { /* bulk delete of messages */ function deleteSelectedMessages(sender) { - var messageList = $("messageList"); - var rowIds = messageList.getSelectedRowsId(); - - if (rowIds.length > 0) { - for (var i = 0; i < rowIds.length; i++) { - var url; - var rowId = rowIds[i].substr(4); - var messageId = Mailer.currentMailbox + "/" + rowId; - url = ApplicationBaseURL + messageId + "/trash"; - deleteMessageRequestCount++; - var data = { "id": rowId, "mailbox": Mailer.currentMailbox, "messageId": messageId }; - triggerAjaxRequest(url, deleteSelectedMessagesCallback, data); - } - } else { - window.alert(labels["Please select a message."]); - } - - return false; + var messageList = $("messageList"); + var rowIds = messageList.getSelectedRowsId(); + + if (rowIds.length > 0) { + for (var i = 0; i < rowIds.length; i++) { + var url; + var rowId = rowIds[i].substr(4); + var messageId = Mailer.currentMailbox + "/" + rowId; + url = ApplicationBaseURL + messageId + "/trash"; + deleteMessageRequestCount++; + var data = { "id": rowId, "mailbox": Mailer.currentMailbox, "messageId": messageId }; + triggerAjaxRequest(url, deleteSelectedMessagesCallback, data); + } + } + else + window.alert(labels["Please select a message."]); + + return false; } function deleteSelectedMessagesCallback(http) { @@ -240,7 +240,6 @@ function deleteSelectedMessagesCallback(http) { deleteCachedMessage(data["messageId"]); deleteMessageRequestCount--; if (Mailer.currentMailbox == data["mailbox"]) { - var div = $('messageContent'); if (Mailer.currentMessages[Mailer.currentMailbox] == data["id"]) { div.update(); @@ -273,8 +272,7 @@ function deleteDraft(url) { new Ajax.Request(url, { method: 'post', onFailure: function(transport) { - if (!isHttpStatus204) - log("draftDeleteCallback: problem during ajax request: " + transport.status); + log("draftDeleteCallback: problem during ajax request: " + transport.status); } }); } @@ -318,8 +316,24 @@ function moveMessages(rowIds, folder) { } function onMenuDeleteMessage(event) { - deleteSelectedMessages(); - preventDefault(event); + deleteSelectedMessages(); + preventDefault(event); +} + +function deleteMessage(url, id, mailbox, messageId) { + var data = { "id": id, "mailbox": mailbox, "messageId": messageId }; + deleteMessageRequestCount++; + triggerAjaxRequest(url, deleteSelectedMessagesCallback, data); +} + +function deleteMessageWithDelay(url, id, mailbox, messageId) { + /* this is called by UIxMailPopupView with window.opener */ + setTimeout("deleteMessage('" + + url + "', '" + + id + "', '" + + mailbox + "', '" + + messageId + "')", + 50); } function onPrintCurrentMessage(event) { diff --git a/UI/WebServerResources/UIxMailPopupView.js b/UI/WebServerResources/UIxMailPopupView.js index dd1974867..9c4064964 100644 --- a/UI/WebServerResources/UIxMailPopupView.js +++ b/UI/WebServerResources/UIxMailPopupView.js @@ -9,4 +9,21 @@ function initPopupMailer(event) { resizeMailContent(); } +function onMenuDeleteMessage(event) { + + if (window.opener && window.opener.open && !window.opener.closed) { + var rowId = window.name.substr(9); + var messageId = window.opener.Mailer.currentMailbox + "/" + rowId; + var url = ApplicationBaseURL + messageId + "/trash"; + + window.opener.deleteMessageWithDelay(url, + rowId, + window.opener.Mailer.currentMailbox, + messageId); + } + + window.close(); + return false; +} + FastInit.addOnLoad(initPopupMailer);