Monotone-Parent: 193a5a57ea7d1546117692d503f3ce03fe33c2bc
Monotone-Revision: b3b9ea929f0cb02f9d9bb56d19e9b402d520e39e Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-08-06T15:45:25 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
parent
5899c2d41b
commit
397e3ed3a2
22
ChangeLog
22
ChangeLog
|
@ -1,5 +1,27 @@
|
||||||
2010-08-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
2010-08-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
|
|
||||||
|
* UI/WebServerResources/MailerUI.js: (dropAction): ensure that the
|
||||||
|
destination mailbox is in the same mail account as the message
|
||||||
|
being dragged.
|
||||||
|
(getMenus): arranged menu descriptions as as single statement.
|
||||||
|
Added "prepareVisibility" callbacks for the "messageListMenu",
|
||||||
|
"messagesListMenu" and "messageContentMenu" (move/copy ops) and
|
||||||
|
"inboxIconMenu", "trashIconMenu", "mailboxIconMenu" menus (folder
|
||||||
|
sharing).
|
||||||
|
(onMessageListMenuPrepareVisibility): new vis. callback designed
|
||||||
|
to attach the right folder submenu to the copy and move ops.
|
||||||
|
(onFolderMenuPrepareVisibility): new vis. cb for disabling the
|
||||||
|
share of folders for auxiliary accounts.
|
||||||
|
(updateMailboxMenus): simplified method by removing the first
|
||||||
|
level of submenus, where the account names used to be.
|
||||||
|
(openInbox): "openMailbox" only takes 3 parameters. Using "null"
|
||||||
|
instead of "false" was also pretty lame.
|
||||||
|
(updateStatusFolders): take the mailbox name as parameter and
|
||||||
|
arranged for multiple mail accounts. In particular, "unseenCount"
|
||||||
|
is now a class identifier rather than an element id.
|
||||||
|
(markMailInWindow): make use of
|
||||||
|
MailerUIdTreeExtension.getMailboxNode.
|
||||||
|
|
||||||
* UI/WebServerResources/ContactsUI.js
|
* UI/WebServerResources/ContactsUI.js
|
||||||
(onToolbarDeleteSelectedContacts): use translated labels.
|
(onToolbarDeleteSelectedContacts): use translated labels.
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ var Mailer = {
|
||||||
var usersRightsWindowHeight = 320;
|
var usersRightsWindowHeight = 320;
|
||||||
var usersRightsWindowWidth = 400;
|
var usersRightsWindowWidth = 400;
|
||||||
|
|
||||||
var pageContent;
|
var pageContent = $("pageContent");
|
||||||
|
|
||||||
var deleteMessageRequestCount = 0;
|
var deleteMessageRequestCount = 0;
|
||||||
|
|
||||||
|
@ -164,11 +164,12 @@ function markMailInWindow(win, msguid, markread) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unseenCount != 0) {
|
if (unseenCount != 0) {
|
||||||
// Update unseen count only if it's the inbox
|
if (Mailer.currentMailboxType == "inbox") {
|
||||||
for (var i = 0; i < mailboxTree.aNodes.length; i++)
|
var node = mailboxTree.getMailboxNode(Mailer.currentMailbox);
|
||||||
if (mailboxTree.aNodes[i].datatype == "inbox") break;
|
if (node) {
|
||||||
if (i != mailboxTree.aNodes.length && Mailer.currentMailbox == mailboxTree.aNodes[i].dataname)
|
updateStatusFolders(node, unseenCount, true);
|
||||||
updateStatusFolders(unseenCount, true);
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -361,11 +362,12 @@ function deleteSelectedMessages(sender) {
|
||||||
messageList.deselectAll();
|
messageList.deselectAll();
|
||||||
updateMessageListCounter(0 - rows.length, true);
|
updateMessageListCounter(0 - rows.length, true);
|
||||||
if (unseenCount < 0) {
|
if (unseenCount < 0) {
|
||||||
// Update unseen count only if it's the inbox
|
if (Mailer.currentMailboxType == "inbox") {
|
||||||
for (var i = 0; i < mailboxTree.aNodes.length; i++)
|
var node = mailboxTree.getMailboxNode(Mailer.currentMailbox);
|
||||||
if (mailboxTree.aNodes[i].datatype == "inbox") break;
|
if (node) {
|
||||||
if (i != mailboxTree.aNodes.length && Mailer.currentMailbox == mailboxTree.aNodes[i].dataname)
|
updateStatusFolders(node, unseenCount, true);
|
||||||
updateStatusFolders(unseenCount, true);
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var url = ApplicationBaseURL + encodeURI(Mailer.currentMailbox) + "/batchDelete";
|
var url = ApplicationBaseURL + encodeURI(Mailer.currentMailbox) + "/batchDelete";
|
||||||
var parameters = "uid=" + uids.join(",");
|
var parameters = "uid=" + uids.join(",");
|
||||||
|
@ -749,7 +751,9 @@ function getStatusFolders() {
|
||||||
document.statusFoldersAjaxRequest.aborted = true;
|
document.statusFoldersAjaxRequest.aborted = true;
|
||||||
document.statusFoldersAjaxRequest.abort();
|
document.statusFoldersAjaxRequest.abort();
|
||||||
}
|
}
|
||||||
document.statusFoldersAjaxRequest = triggerAjaxRequest(url, statusFoldersCallback);
|
document.statusFoldersAjaxRequest = triggerAjaxRequest(url,
|
||||||
|
statusFoldersCallback,
|
||||||
|
Mailer.currentMailbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
function statusFoldersCallback(http) {
|
function statusFoldersCallback(http) {
|
||||||
|
@ -759,30 +763,48 @@ function statusFoldersCallback(http) {
|
||||||
if (http.status == 200) {
|
if (http.status == 200) {
|
||||||
document.statusFoldersAjaxRequest = null;
|
document.statusFoldersAjaxRequest = null;
|
||||||
var data = http.responseText.evalJSON(true);
|
var data = http.responseText.evalJSON(true);
|
||||||
updateStatusFolders(data.unseen, false);
|
var node = mailboxTree.getMailboxNode(http.callbackData);
|
||||||
|
if (node) {
|
||||||
|
updateStatusFolders(node, data.unseen, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateStatusFolders(count, isDelta) {
|
function updateStatusFolders(node, count, isDelta) {
|
||||||
var span = $("unseenCount");
|
var unseenSpan = null;
|
||||||
var counter = null;
|
var counterSpan = null;
|
||||||
|
|
||||||
if (span)
|
var spans = node.select("SPAN.unseenCount");
|
||||||
counter = span.select("SPAN").first();
|
if (spans.length > 0) {
|
||||||
|
counterSpan = spans[0];
|
||||||
|
unseenSpan = counterSpan.parentNode;
|
||||||
|
}
|
||||||
|
|
||||||
if (counter && span) {
|
if (counterSpan) {
|
||||||
if (typeof count == "undefined")
|
if (typeof(count) == "undefined" || isDelta) {
|
||||||
count = parseInt(counter.innerHTML);
|
if (typeof(count) == "undefined") {
|
||||||
else if (isDelta)
|
count = 0;
|
||||||
count += parseInt(counter.innerHTML);
|
}
|
||||||
counter.update(count);
|
var content = "";
|
||||||
|
for (var i = 0; i < counterSpan.childNodes.length; i++) {
|
||||||
|
var cNode = counterSpan.childNodes[i];
|
||||||
|
if (cNode.nodeType == 3) {
|
||||||
|
content += cNode.nodeValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
count += parseInt(content.replace(/[()]/, "", "g"));
|
||||||
|
}
|
||||||
|
while (counterSpan.firstChild) {
|
||||||
|
counterSpan.removeChild(counterSpan.firstChild);
|
||||||
|
}
|
||||||
|
counterSpan.appendChild(document.createTextNode(" (" + count + ")"));
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
span.setStyle({ display: "inline" });
|
counterSpan.setStyle({ display: "inline" });
|
||||||
span.up("SPAN").addClassName("unseen");
|
unseenSpan.addClassName("unseen");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
span.setStyle({ display: "none" });
|
counterSpan.setStyle({ display: "none" });
|
||||||
span.up("SPAN").removeClassName("unseen");
|
unseenSpan.removeClassName("unseen");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1406,14 +1428,9 @@ function processMailboxMenuAction(mailbox) {
|
||||||
&& !currentNode.hasAttribute('mailboxaction'))
|
&& !currentNode.hasAttribute('mailboxaction'))
|
||||||
currentNode = currentNode.parentNode.parentNode.parentMenuItem;
|
currentNode = currentNode.parentNode.parentNode.parentMenuItem;
|
||||||
|
|
||||||
if (currentNode)
|
if (currentNode) {
|
||||||
{
|
action = currentNode.getAttribute('mailboxaction');
|
||||||
action = currentNode.getAttribute('mailboxaction');
|
}
|
||||||
// var rows = collectSelectedRows();
|
|
||||||
// var rString = rows.join(', ');
|
|
||||||
// alert("performing '" + action + "' on " + rString
|
|
||||||
// + " to " + mailboxName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var rowSelectionCount = 0;
|
var rowSelectionCount = 0;
|
||||||
|
@ -1655,7 +1672,7 @@ function refreshContacts() {
|
||||||
|
|
||||||
function openInbox(node) {
|
function openInbox(node) {
|
||||||
var done = false;
|
var done = false;
|
||||||
openMailbox(node.parentNode.getAttribute("dataname"), null, null, false);
|
openMailbox(node.parentNode.getAttribute("dataname"), false, false);
|
||||||
var tree = $("mailboxTree");
|
var tree = $("mailboxTree");
|
||||||
tree.selectedEntry = node;
|
tree.selectedEntry = node;
|
||||||
node.selectElement();
|
node.selectElement();
|
||||||
|
@ -1886,8 +1903,7 @@ function generateMenuForMailbox(mailbox, prefix, callback) {
|
||||||
var newNode;
|
var newNode;
|
||||||
for (var i = 0; i < mailbox.children.length; i++) {
|
for (var i = 0; i < mailbox.children.length; i++) {
|
||||||
if (menu.offsetHeight > windowHeight-offset) {
|
if (menu.offsetHeight > windowHeight-offset) {
|
||||||
var menuWidth = parseInt(menu.offsetWidth) + 15
|
var menuWidth = (parseInt(menu.offsetWidth) + 15) + "px";
|
||||||
menuWidth = menuWidth + "px";
|
|
||||||
menu.style.width = menuWidth;
|
menu.style.width = menuWidth;
|
||||||
menu = document.createElement("ul");
|
menu = document.createElement("ul");
|
||||||
menu.style.cssFloat="left";
|
menu.style.cssFloat="left";
|
||||||
|
@ -1920,32 +1936,12 @@ function updateMailboxMenus() {
|
||||||
var mailboxActions = { move: onMailboxMenuMove,
|
var mailboxActions = { move: onMailboxMenuMove,
|
||||||
copy: onMailboxMenuCopy };
|
copy: onMailboxMenuCopy };
|
||||||
|
|
||||||
for (key in mailboxActions) {
|
for (var key in mailboxActions) {
|
||||||
var menuId = key + "MailboxMenu";
|
|
||||||
var menuDIV = $(menuId);
|
|
||||||
if (menuDIV)
|
|
||||||
menuDIV.parentNode.removeChild(menuDIV);
|
|
||||||
|
|
||||||
menuDIV = document.createElement("div");
|
|
||||||
pageContent = $("pageContent");
|
|
||||||
pageContent.appendChild(menuDIV);
|
|
||||||
|
|
||||||
var menu = document.createElement("ul");
|
|
||||||
menuDIV.appendChild(menu);
|
|
||||||
|
|
||||||
$(menuDIV).addClassName("menu");
|
|
||||||
menuDIV.setAttribute("id", menuId);
|
|
||||||
|
|
||||||
var submenuIds = new Array();
|
|
||||||
for (var i = 0; i < mailAccounts.length; i++) {
|
for (var i = 0; i < mailAccounts.length; i++) {
|
||||||
var menuEntry = mailboxMenuNode("account", mailAccounts[i]);
|
|
||||||
menu.appendChild(menuEntry);
|
|
||||||
var mailbox = accounts[i];
|
var mailbox = accounts[i];
|
||||||
var newSubmenuId = generateMenuForMailbox(mailbox,
|
generateMenuForMailbox(mailbox, key + "-" + i,
|
||||||
key, mailboxActions[key]);
|
mailboxActions[key]);
|
||||||
submenuIds.push(newSubmenuId);
|
|
||||||
}
|
}
|
||||||
initMenu(menuDIV, submenuIds);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1962,31 +1958,15 @@ function onLoadMailboxesCallback(http) {
|
||||||
if (!mailboxTree.pendingRequests) {
|
if (!mailboxTree.pendingRequests) {
|
||||||
updateMailboxTreeInPage();
|
updateMailboxTreeInPage();
|
||||||
updateMailboxMenus();
|
updateMailboxMenus();
|
||||||
|
getStatusFolders();
|
||||||
checkAjaxRequestsState();
|
checkAjaxRequestsState();
|
||||||
getFoldersState();
|
getFoldersState();
|
||||||
updateStatusFolders();
|
|
||||||
configureDroppables();
|
configureDroppables();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
log ("onLoadMailboxesCallback " + http.status);
|
log ("onLoadMailboxesCallback " + http.status);
|
||||||
}
|
}
|
||||||
|
|
||||||
// var tree = $("mailboxTree");
|
|
||||||
// var treeNodes = document.getElementsByClassName("dTreeNode", tree);
|
|
||||||
// var i = 0;
|
|
||||||
// while (i < treeNodes.length
|
|
||||||
// && treeNodes[i].getAttribute("dataname") != Mailer.currentMailbox)
|
|
||||||
// i++;
|
|
||||||
// if (i < treeNodes.length) {
|
|
||||||
// // log("found mailbox");
|
|
||||||
// var links = document.getElementsByClassName("node", treeNodes[i]);
|
|
||||||
// if (tree.selectedEntry)
|
|
||||||
// tree.selectedEntry.deselect();
|
|
||||||
// links[0].selectElement();
|
|
||||||
// tree.selectedEntry = links[0];
|
|
||||||
// expandUpperTree(links[0]);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildMailboxes(accountIdx, encoded) {
|
function buildMailboxes(accountIdx, encoded) {
|
||||||
|
@ -2293,6 +2273,49 @@ function messageFlagCallback(http) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onMessageListMenuPrepareVisibility() {
|
||||||
|
/* This method attaches the right mailbox-menu to the generic message list
|
||||||
|
menu. */
|
||||||
|
var indexes = { "messageListMenu": 7,
|
||||||
|
"messagesListMenu": 2,
|
||||||
|
"messageContentMenu": 4 };
|
||||||
|
if (document.menuTarget) {
|
||||||
|
var mbx = document.menuTarget.getAttribute("dataname");
|
||||||
|
if (mbx) {
|
||||||
|
var lis = this.getElementsByTagName("li");
|
||||||
|
var idx = indexes[this.id];
|
||||||
|
var parts = mbx.split("/");
|
||||||
|
var acctNbr = parseInt(parts[1]);
|
||||||
|
lis[idx].submenu = "move-" + acctNbr + "Submenu";
|
||||||
|
lis[idx+1].submenu = "copy-" + acctNbr + "Submenu";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function onFolderMenuPrepareVisibility() {
|
||||||
|
/* This methods disables or enables the "Sharing" menu option on
|
||||||
|
mailboxes. */
|
||||||
|
if (document.menuTarget) {
|
||||||
|
var mbx = document.menuTarget.getAttribute("dataname");
|
||||||
|
if (mbx) {
|
||||||
|
var lis = this.getElementsByTagName("li");
|
||||||
|
var li = lis[lis.length - 1];
|
||||||
|
var parts = mbx.split("/");
|
||||||
|
var acctNbr = parseInt(parts[1]);
|
||||||
|
if (acctNbr > 0) {
|
||||||
|
li.addClassName("disabled");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
li.removeClassName("disabled");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
function onLabelMenuPrepareVisibility() {
|
function onLabelMenuPrepareVisibility() {
|
||||||
var messageList = $("messageListBody");
|
var messageList = $("messageListBody");
|
||||||
var flags = {};
|
var flags = {};
|
||||||
|
@ -2353,70 +2376,89 @@ function onMenuArchiveFolder(event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function getMenus() {
|
function getMenus() {
|
||||||
var menus = {}
|
var menus = {
|
||||||
menus["accountIconMenu"] = new Array(null, null, onMenuCreateFolder, null,
|
accountIconMenu: [ null, null, onMenuCreateFolder, null, null, null ],
|
||||||
null, null);
|
inboxIconMenu: [ null, null, null, "-", null,
|
||||||
menus["inboxIconMenu"] = new Array(null, null, null, "-", null,
|
onMenuCreateFolder, onMenuExpungeFolder,
|
||||||
onMenuCreateFolder, onMenuExpungeFolder,
|
onMenuArchiveFolder, "-", null,
|
||||||
onMenuArchiveFolder, "-", null,
|
onMenuSharing ],
|
||||||
onMenuSharing);
|
trashIconMenu: [ null, null, null, "-", null,
|
||||||
menus["trashIconMenu"] = new Array(null, null, null, "-", null,
|
onMenuCreateFolder, onMenuExpungeFolder,
|
||||||
onMenuCreateFolder, onMenuExpungeFolder,
|
onMenuArchiveFolder, onMenuEmptyTrash,
|
||||||
onMenuArchiveFolder, onMenuEmptyTrash,
|
"-", null,
|
||||||
"-", null,
|
onMenuSharing ],
|
||||||
onMenuSharing);
|
mailboxIconMenu: [ null, null, null, "-", null,
|
||||||
menus["mailboxIconMenu"] = new Array(null, null, null, "-", null,
|
onMenuCreateFolder,
|
||||||
onMenuCreateFolder,
|
onMenuRenameFolder,
|
||||||
onMenuRenameFolder,
|
onMenuExpungeFolder,
|
||||||
onMenuExpungeFolder,
|
onMenuArchiveFolder,
|
||||||
onMenuArchiveFolder,
|
onMenuDeleteFolder,
|
||||||
onMenuDeleteFolder,
|
"folderTypeMenu",
|
||||||
"folderTypeMenu",
|
"-", null,
|
||||||
"-", null,
|
onMenuSharing ],
|
||||||
onMenuSharing);
|
addressMenu: [ newContactFromEmail, newEmailTo, null ],
|
||||||
menus["addressMenu"] = new Array(newContactFromEmail, newEmailTo, null);
|
messageListMenu: [ onMenuOpenMessage, "-",
|
||||||
menus["messageListMenu"] = new Array(onMenuOpenMessage, "-",
|
onMenuReplyToSender,
|
||||||
onMenuReplyToSender,
|
onMenuReplyToAll,
|
||||||
onMenuReplyToAll,
|
onMenuForwardMessage, null,
|
||||||
onMenuForwardMessage, null,
|
"-", "moveMailboxMenu",
|
||||||
"-", "moveMailboxMenu",
|
"copyMailboxMenu", "label-menu",
|
||||||
"copyMailboxMenu", "label-menu",
|
"mark-menu", "-", saveAs,
|
||||||
"mark-menu", "-", saveAs,
|
onMenuViewMessageSource, null,
|
||||||
onMenuViewMessageSource, null,
|
null, onMenuDeleteMessage ],
|
||||||
null, onMenuDeleteMessage);
|
messagesListMenu: [ onMenuForwardMessage,
|
||||||
menus["messagesListMenu"] = new Array(onMenuForwardMessage,
|
"-", "moveMailboxMenu",
|
||||||
"-", "moveMailboxMenu",
|
"copyMailboxMenu", "label-menu",
|
||||||
"copyMailboxMenu", "label-menu",
|
"mark-menu", "-",
|
||||||
"mark-menu", "-",
|
saveAs, null,
|
||||||
saveAs, null,
|
onMenuDeleteMessage ],
|
||||||
onMenuDeleteMessage);
|
imageMenu: [ saveImage ],
|
||||||
menus["imageMenu"] = new Array(saveImage);
|
attachmentMenu: [ saveAttachment ],
|
||||||
menus["attachmentMenu"] = new Array (saveAttachment);
|
messageContentMenu: [ onMenuReplyToSender,
|
||||||
menus["messageContentMenu"] = new Array(onMenuReplyToSender,
|
onMenuReplyToAll,
|
||||||
onMenuReplyToAll,
|
onMenuForwardMessage,
|
||||||
onMenuForwardMessage,
|
null, "moveMailboxMenu",
|
||||||
null, "moveMailboxMenu",
|
"copyMailboxMenu",
|
||||||
"copyMailboxMenu",
|
"-", "label-menu", "mark-menu",
|
||||||
"-", "label-menu", "mark-menu",
|
"-",
|
||||||
"-",
|
saveAs, onMenuViewMessageSource,
|
||||||
saveAs, onMenuViewMessageSource,
|
null, onPrintCurrentMessage,
|
||||||
null, onPrintCurrentMessage,
|
onMenuDeleteMessage ],
|
||||||
onMenuDeleteMessage);
|
folderTypeMenu: [ onMenuChangeToSentFolder,
|
||||||
menus["folderTypeMenu"] = new Array(onMenuChangeToSentFolder,
|
onMenuChangeToDraftsFolder,
|
||||||
onMenuChangeToDraftsFolder,
|
onMenuChangeToTrashFolder ],
|
||||||
onMenuChangeToTrashFolder);
|
|
||||||
|
"label-menu": [ onMenuLabelNone, "-", onMenuLabelFlag1,
|
||||||
|
onMenuLabelFlag2, onMenuLabelFlag3,
|
||||||
|
onMenuLabelFlag4, onMenuLabelFlag5 ],
|
||||||
|
"mark-menu": [ null, null, null, null, "-", null, "-",
|
||||||
|
null, null, null ],
|
||||||
|
|
||||||
|
searchMenu: [ setSearchCriteria, setSearchCriteria,
|
||||||
|
setSearchCriteria, setSearchCriteria,
|
||||||
|
setSearchCriteria ]
|
||||||
|
};
|
||||||
|
|
||||||
menus["label-menu"] = new Array(onMenuLabelNone, "-", onMenuLabelFlag1,
|
|
||||||
onMenuLabelFlag2, onMenuLabelFlag3,
|
|
||||||
onMenuLabelFlag4, onMenuLabelFlag5);
|
|
||||||
menus["mark-menu"] = new Array(null, null, null, null, "-", null, "-",
|
|
||||||
null, null, null);
|
|
||||||
menus["searchMenu"] = new Array(setSearchCriteria, setSearchCriteria,
|
|
||||||
setSearchCriteria, setSearchCriteria,
|
|
||||||
setSearchCriteria);
|
|
||||||
var labelMenu = $("label-menu");
|
var labelMenu = $("label-menu");
|
||||||
if (labelMenu)
|
if (labelMenu) {
|
||||||
labelMenu.prepareVisibility = onLabelMenuPrepareVisibility;
|
labelMenu.prepareVisibility = onLabelMenuPrepareVisibility;
|
||||||
|
}
|
||||||
|
|
||||||
|
var listMenus = [ "messageListMenu", "messagesListMenu", "messageContentMenu" ];
|
||||||
|
for (var i = 0; i < listMenus.length; i++) {
|
||||||
|
var menu = $(listMenus[i]);
|
||||||
|
if (menu) {
|
||||||
|
menu.prepareVisibility = onMessageListMenuPrepareVisibility;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var folderMenus = [ "inboxIconMenu", "trashIconMenu", "mailboxIconMenu" ];
|
||||||
|
for (var i = 0; i < folderMenus.length; i++) {
|
||||||
|
var menu = $(folderMenus[i]);
|
||||||
|
if (menu) {
|
||||||
|
menu.prepareVisibility = onFolderMenuPrepareVisibility;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return menus;
|
return menus;
|
||||||
}
|
}
|
||||||
|
@ -2502,12 +2544,12 @@ function configureDroppables () {
|
||||||
var drops = $$("div#dmailboxTree1 div.dTreeNode a.node span.nodeName");
|
var drops = $$("div#dmailboxTree1 div.dTreeNode a.node span.nodeName");
|
||||||
|
|
||||||
Droppables.empty ();
|
Droppables.empty ();
|
||||||
drops.each (function (drop) {
|
drops.each(function (drop) {
|
||||||
drop.identify ()
|
drop.identify();
|
||||||
Droppables.add (drop.id,
|
Droppables.add(drop.id,
|
||||||
{ hoverclass: "genericHoverClass",
|
{ hoverclass: "genericHoverClass",
|
||||||
onDrop: dropAction });
|
onDrop: dropAction });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function startDragging (itm, e) {
|
function startDragging (itm, e) {
|
||||||
|
@ -2519,8 +2561,9 @@ function startDragging (itm, e) {
|
||||||
var count = $("messageListBody").getSelectedRowsId().length;
|
var count = $("messageListBody").getSelectedRowsId().length;
|
||||||
|
|
||||||
handle.update (count);
|
handle.update (count);
|
||||||
if (e.shiftKey)
|
if (e.shiftKey) {
|
||||||
handle.addClassName ("copy");
|
handle.addClassName("copy");
|
||||||
|
}
|
||||||
handle.show();
|
handle.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2528,31 +2571,35 @@ function whileDragging (itm, e) {
|
||||||
if (e) {
|
if (e) {
|
||||||
var handle = $("dragDropVisual");
|
var handle = $("dragDropVisual");
|
||||||
if (e.shiftKey)
|
if (e.shiftKey)
|
||||||
handle.addClassName ("copy");
|
handle.addClassName("copy");
|
||||||
else if (handle.hasClassName ("copy"))
|
else if (handle.hasClassName("copy"))
|
||||||
handle.removeClassName ("copy");
|
handle.removeClassName("copy");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function stopDragging () {
|
function stopDragging () {
|
||||||
var handle = $("dragDropVisual");
|
var handle = $("dragDropVisual");
|
||||||
handle.hide();
|
handle.hide();
|
||||||
if (handle.hasClassName ("copy"))
|
if (handle.hasClassName("copy"))
|
||||||
handle.removeClassName ("copy");
|
handle.removeClassName("copy");
|
||||||
}
|
}
|
||||||
|
|
||||||
function dropAction (dropped, zone, e) {
|
function dropAction (dropped, zone, e) {
|
||||||
var destination = zone.up("div.dTreeNode");
|
var destination = zone.up("div.dTreeNode");
|
||||||
var f;
|
|
||||||
|
|
||||||
if ($("dragDropVisual").hasClassName("copy")) {
|
var sourceAct = Mailer.currentMailbox.split("/")[1];
|
||||||
// Message(s) copied
|
var destAct = destination.getAttribute("dataname").split("/")[1];
|
||||||
f = onMailboxMenuCopy.bind(destination);
|
if (sourceAct == destAct) {
|
||||||
}
|
var f;
|
||||||
else {
|
if ($("dragDropVisual").hasClassName("copy")) {
|
||||||
// Message(s) moved
|
// Message(s) copied
|
||||||
f = onMailboxMenuMove.bind(destination);
|
f = onMailboxMenuCopy.bind(destination);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
// Message(s) moved
|
||||||
|
f = onMailboxMenuMove.bind(destination);
|
||||||
|
}
|
||||||
|
|
||||||
f();
|
f();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue