See Changelog
Monotone-Parent: 683abf3e25aeca0b6ae95c6502fc05a5f1b2f537 Monotone-Revision: edd8c9a9983a41fcee93052c706158aedf35f7c3 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2010-12-03T22:09:18 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
parent
00863f5903
commit
ec6556cb4f
|
@ -1,3 +1,12 @@
|
|||
2010-12-03 Francis Lachapelle <flachapelle@inverse.ca>
|
||||
|
||||
* UI/WebServerResources/MailerUI.js
|
||||
(deleteSelectedMessagesCallback): must set the value of
|
||||
lastClickedRow and lastClickedRowId when selecting the next row.
|
||||
|
||||
* UI/WebServerResources/HTMLElement.js (refreshSelectionByIds):
|
||||
log invalid references to element IDs.
|
||||
|
||||
2010-12-01 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* OpenChange/MAPIStoreContext.m: prevent leaks by adding an
|
||||
|
|
|
@ -249,7 +249,7 @@ Element.addMethods({
|
|||
deselectAll: function(element) {
|
||||
element = $(element);
|
||||
if (element.tagName == 'TABLE') {
|
||||
var tbody = element.down('TBODY');
|
||||
var tbody = element.tBodies[0];
|
||||
if (tbody)
|
||||
element = tbody;
|
||||
}
|
||||
|
@ -265,8 +265,16 @@ Element.addMethods({
|
|||
if (element.selectedIds) {
|
||||
for (var i = 0; i < element.selectedIds.length; i++) {
|
||||
var e = element.down('#'+element.selectedIds[i]);
|
||||
if (e && !e.hasClassName('_selected'))
|
||||
e.addClassName('_selected');
|
||||
if (e) {
|
||||
if (!e.hasClassName('_selected'))
|
||||
e.addClassName('_selected');
|
||||
}
|
||||
else {
|
||||
log ("refreshSelectionByIds Error: " + element.tagName
|
||||
+ " select by ID " + element.selectedIds[i]
|
||||
+ " not found (" + element.childNodes.length + " children)");
|
||||
element.selectedIds.splice(i,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -395,6 +395,7 @@ function deleteSelectedMessages(sender) {
|
|||
var unseenCount = 0;
|
||||
|
||||
if (rowIds && rowIds.length > 0) {
|
||||
messageList.deselectAll();
|
||||
for (var i = 0; i < rowIds.length; i++) {
|
||||
if (unseenCount < 1) {
|
||||
var rows = messageList.select('#' + rowIds[i]);
|
||||
|
@ -408,13 +409,12 @@ function deleteSelectedMessages(sender) {
|
|||
unseenCount = 1;
|
||||
}
|
||||
}
|
||||
deleteMessageRequestCount++;
|
||||
var uid = rowIds[i].substr(4); // drop "row_"
|
||||
var path = Mailer.currentMailbox + "/" + uid;
|
||||
uids.push(uid);
|
||||
paths.push(path);
|
||||
deleteMessageRequestCount++;
|
||||
}
|
||||
messageList.deselectAll();
|
||||
updateMessageListCounter(0 - rowIds.length, true);
|
||||
if (unseenCount < 0) {
|
||||
var node = mailboxTree.getMailboxNode(Mailer.currentMailbox);
|
||||
|
@ -449,8 +449,9 @@ function deleteSelectedMessagesCallback(http) {
|
|||
if (deleteMessageRequestCount == 0) {
|
||||
// Select next message
|
||||
var row = $("row_" + data["id"][i]);
|
||||
var nextRow = false;
|
||||
if (row) {
|
||||
var nextRow = row.next("tr");
|
||||
nextRow = row.next("tr");
|
||||
if (!nextRow.id.startsWith('row_'))
|
||||
nextRow = row.previous("tr");
|
||||
// row.addClassName("deleted"); // when we'll offer "mark as deleted"
|
||||
|
@ -465,6 +466,11 @@ function deleteSelectedMessagesCallback(http) {
|
|||
div.innerHTML = '';
|
||||
}
|
||||
Mailer.dataTable.remove(data["id"][i]);
|
||||
if (nextRow) {
|
||||
// from generic.js
|
||||
lastClickedRow = nextRow.rowIndex;
|
||||
lastClickedRowId = nextRow.id;
|
||||
}
|
||||
Mailer.dataTable.refresh();
|
||||
deleteCachedMailboxByType("trash");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue