mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-06-07 19:39:43 +00:00
Monotone-Parent: 150dfc7aab21ae2733a4b789463f361e2a53ad97
Monotone-Revision: 144891fa296b6c974c0d29524a0c1c6609d48279 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2007-10-24T15:52:08 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -16,6 +16,8 @@ var usersRightsWindowWidth = 400;
|
||||
|
||||
var pageContent;
|
||||
|
||||
var deleteMessageRequestCount = 0;
|
||||
|
||||
/* mail list */
|
||||
|
||||
function openMessageWindow(msguid, url) {
|
||||
@@ -203,49 +205,47 @@ function ml_lowlight(sender) {
|
||||
|
||||
/* bulk delete of messages */
|
||||
|
||||
function uixDeleteSelectedMessages(sender) {
|
||||
var failCount = 0;
|
||||
|
||||
function deleteSelectedMessages(sender) {
|
||||
var messageList = $("messageList");
|
||||
var rowIds = messageList.getSelectedRowsId();
|
||||
|
||||
for (var i = 0; i < rowIds.length; i++) {
|
||||
var url, http;
|
||||
var rowId = rowIds[i].substr(4);
|
||||
/* send AJAX request (synchronously) */
|
||||
|
||||
var messageId = currentMailbox + "/" + rowId;
|
||||
url = ApplicationBaseURL + messageId + "/trash";
|
||||
http = createHTTPClient();
|
||||
http.open("POST", url, false /* not async */);
|
||||
http.url = url;
|
||||
http.send("");
|
||||
if (!isHttpStatus204(http.status)) { /* request failed */
|
||||
failCount++;
|
||||
http = null;
|
||||
continue;
|
||||
} else {
|
||||
deleteCachedMessage(messageId);
|
||||
if (currentMessages[currentMailbox] == rowId) {
|
||||
var div = $('messageContent');
|
||||
div.update();
|
||||
currentMessages[currentMailbox] = null;
|
||||
}
|
||||
}
|
||||
http = null;
|
||||
|
||||
/* remove from page */
|
||||
/* line-through would be nicer, but hiding is OK too */
|
||||
var row = $(rowIds[i]);
|
||||
row.parentNode.removeChild(row);
|
||||
deleteMessageRequestCount++;
|
||||
var data = { "id": rowId, "mailbox": currentMailbox, "messageId": messageId };
|
||||
triggerAjaxRequest(url, deleteSelectedMessagesCallback, data);
|
||||
}
|
||||
|
||||
if (failCount > 0)
|
||||
alert("Could not delete " + failCount + " messages!");
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function deleteSelectedMessagesCallback(http) {
|
||||
if (http.readyState == 4) {
|
||||
if (isHttpStatus204(http.status)) {
|
||||
var data = http.callbackData;
|
||||
deleteCachedMessage(data["messageId"]);
|
||||
if (currentMailbox == data["mailbox"]) {
|
||||
|
||||
var div = $('messageContent');
|
||||
if (currentMessages[currentMailbox] == data["id"]) {
|
||||
div.update();
|
||||
currentMessages[currentMailbox] = null;
|
||||
}
|
||||
|
||||
var row = $("row_" + data["id"]);
|
||||
row.parentNode.removeChild(row);
|
||||
|
||||
deleteMessageRequestCount--;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
log ("deleteSelectedMessagesCallback: problem during ajax request " + http.status);
|
||||
}
|
||||
|
||||
function moveMessages(rowIds, folder) {
|
||||
var failCount = 0;
|
||||
|
||||
@@ -285,7 +285,7 @@ function moveMessages(rowIds, folder) {
|
||||
}
|
||||
|
||||
function onMenuDeleteMessage(event) {
|
||||
uixDeleteSelectedMessages();
|
||||
deleteSelectedMessages();
|
||||
preventDefault(event);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user