X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fstatic%2Fsummaryview.js;h=f3964c053d423a1e0b8495531b68d422eacd254b;hb=97d5ea6672c5f1a92a0790d120f57eb43d6a82dd;hp=80ff3414df8fba6e12683b3ff2bf13ba1dffdf6b;hpb=613ba9f35a16f38ddfd2820a3fadf8939cf36b9c;p=citadel.git diff --git a/webcit/static/summaryview.js b/webcit/static/summaryview.js index 80ff3414d..f3964c053 100644 --- a/webcit/static/summaryview.js +++ b/webcit/static/summaryview.js @@ -35,6 +35,9 @@ var currentlyHasRowsSelected = false; var mouseDownEvent = null; var exitedMouseDown = false; +var is_shift_pressed = false; +var is_ctrl_pressed = false; + var originalMarkedRow = null; var previousFinish = 0; var markedFrom = 0; @@ -79,13 +82,19 @@ function createMessageView() { mlh_date.observe('click',ApplySort); mlh_subject.observe('click',ApplySort); mlh_from.observe('click',ApplySort); + $(document).observe('keydown',CtdlMessageListKeyDown,false); $(document).observe('keyup',CtdlMessageListKeyUp,false); $('resize_msglist').observe('mousedown', CtdlResizeMouseDown); $('m_refresh').observe('click', getMessages); document.getElementById('m_refresh').setAttribute("href","#"); Event.observe(document.onresize ? document : window, "resize", normalizeHeaderTable); Event.observe(document.onresize ? document : window, "resize", sizePreviewPane); - $('summpage').observe('change', getPage); + if ( $('summpage') ) { + $('summpage').observe('change', getPage); + } + else { + alert('error: summpage does not exist'); + } takeOverSearchOMatic(); setupDragDrop(); // here for now } @@ -188,7 +197,7 @@ function resortAndDisplay(sortMode) { var start = new Date(); var length = msgs.length; var compiled = new Array(length+2); - compiled[0] = ""; + compiled[0] = ""; for(var x=0; x 800) { + 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); } + }); + msgIds = ""; + } + } + + 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(); +} + + +function arrgggh() { + s = '.'; + if (is_shift_pressed) { + s = s + 'S'; + } + s = s + '.'; + if (is_ctrl_pressed) { + s = s + 'C'; + } + s = s + '.'; + $('ib_summary').innerHTML = s; + +} + +function CtdlMessageListKeyDown(event) { + var key = event.which || event.keyCode; + + if (key == 16) { /* SHIFT */ + is_shift_pressed = true; + } + else if ( (key == 17) || (key == 18) ) { /* CTRL or ALT */ + is_ctrl_pressed = true; } - document.getElementById("preview_pane").innerHTML = ""; - deleteAllMarkedRows(); + arrgggh(); } function CtdlMessageListKeyUp(event) { - var key = event.which; - if (key == 46) { // DELETE + var key = event.which || event.keyCode; + + if (key == 16) { /* SHIFT */ + is_shift_pressed = false; + } + else if ( (key == 17) || (key == 18) ) { /* CTRL or ALT */ + is_ctrl_pressed = false; + } + else if (key == 46) { /* DELETE */ deleteAllSelectedMessages(); } + arrgggh(); } function clearMessage(msgId) { @@ -471,7 +542,7 @@ function sizePreviewPane() { var heightOfViewPort = document.viewport.getHeight() // prototypejs method var bannerHeight = banner.offsetHeight; var contentViewPortHeight = heightOfViewPort-banner.offsetHeight-message_list_hdr.offsetHeight; - contentViewPortHeight = 0.98 * contentViewPortHeight; // leave some error + contentViewPortHeight = 0.95 * contentViewPortHeight; // leave some error (especially for FF3!!) // Set summary_view to 20%; var summary_height = ctdlLocalPrefs.readPref("svheight"); if (summary_height == null) { @@ -519,7 +590,8 @@ function ApplySorterToggle() { } currentSorterToggle.className = className; } -/** Hack to make the header table line up with the data */ + +/* Hack to make the header table line up with the data */ function normalizeHeaderTable() { var message_list_hdr = document.getElementById("message_list_hdr"); var summary_view = document.getElementById("summary_view"); @@ -552,6 +624,7 @@ function setupPageSelector() { summpage.appendChild(opt); } } + function getPage(event) { var target = event.target; startmsg = target.options.item(target.selectedIndex).value; @@ -559,6 +632,7 @@ function getPage(event) { //query = ""; // We are getting a page from the _entire_ msg list, don't query getMessages(); } + function takeOverSearchOMatic() { var searchForm = document.getElementById("searchomatic").getElementsByTagName("form")[0]; // First disable the form post