From 607880cfaee7b35a635328e443417c0d01b74922 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Tue, 6 Sep 2011 18:46:53 +0000 Subject: [PATCH] deleteAllSelectedMessages(): don't send one request per message, citadel can handle a list of them already. - this dramaticaly increases the performance of pressing the key when having several messages selected; less stress on the browser, webcit and citserver. --- webcit/static/summaryview.js | 39 +++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/webcit/static/summaryview.js b/webcit/static/summaryview.js index 6b2f0ee05..280fe7885 100644 --- a/webcit/static/summaryview.js +++ b/webcit/static/summaryview.js @@ -408,26 +408,29 @@ function deleteAllMarkedRows() { msgs = newMsgs; resortAndDisplay(null); } - function deleteAllSelectedMessages() { - var pa = ""; - for(msgId in currentlyMarkedRows) { - if (!room_is_trash) { - pa = encodeURI("g_cmd=MOVE " + msgId + "|_TRASH_|0"); - } - else { - pa = encodeURI("g_cmd=DELE " + msgId); - } - new Ajax.Request("ajax_servcmd", { - parameters: pa, - method: 'post', - onSuccess: function(transport) { - WCLog(transport.responseText); - } - }); + var mvCommand = ""; + var msgIds = ""; + for(msgId in currentlyMarkedRows) { + msgIds += ","+msgId; + } + + if (!room_is_trash) { + mvCommand = encodeURI("g_cmd=MOVE " + msgIds + "|_TRASH_|0"); + } + else { + mvCommand = encodeURI("g_cmd=DELE " + msgIds); + } + new Ajax.Request("ajax_servcmd", { + parameters: mvCommand, + method: 'post', + onSuccess: function(transport) { + WCLog(transport.responseText); } - document.getElementById("preview_pane").innerHTML = ""; - deleteAllMarkedRows(); + }); + + document.getElementById("preview_pane").innerHTML = ""; + deleteAllMarkedRows(); } function CtdlMessageListKeyUp(event) { -- 2.30.2