X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=UI%2FWebServerResources%2FMailerUI.js;h=d2861de977c168ee616f5a37188ad6272974726d;hb=e828f8e5f080a3684684094d724a1dc688aa33c9;hp=831cef806119addce5a4570c3c74847ef0e250d4;hpb=6d4fe349f4a49ec782b7610d2cd64482c4b5f59f;p=scalable-opengroupware.org diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js index 831cef80..d2861de9 100644 --- a/UI/WebServerResources/MailerUI.js +++ b/UI/WebServerResources/MailerUI.js @@ -193,14 +193,14 @@ function openMessageWindowsForSelection(action) { win = openMessageWindow(window.messageId, window.messageURL + "/" + action /* url */); else { - var messageList = $("messageList"); - var rows = messageList.getSelectedRowsId(); - var idset = ""; - for (var i = 0; i < rows.length; i++) - win = openMessageWindow(rows[i].substr(4) /* msguid */, - ApplicationBaseURL + currentMailbox - + "/" + rows[i].substr(4) - + "/" + action /* url */); + var messageList = $("messageList"); + var rows = messageList.getSelectedRowsId(); + var idset = ""; + for (var i = 0; i < rows.length; i++) + win = openMessageWindow(rows[i].substr(4) /* msguid */, + ApplicationBaseURL + currentMailbox + + "/" + rows[i].substr(4) + + "/" + action /* url */); } return false; @@ -372,14 +372,21 @@ function onMailboxTreeItemClick(event) { this.select(); topNode.selectedEntry = this; - openMailbox(mailbox); + if (this.parentNode.getAttribute("datatype") != "account") + openMailbox(mailbox); event.preventDefault(); } -function refreshMailbox() { - openMailbox(currentMailbox, true); +function _refreshWindowMailbox() { + openMailbox(currentMailbox, true); +} - return false; +function refreshMailbox() { + var topWindow = getTopWindow(); + if (topWindow) + topWindow._refreshWindowMailbox(); + + return false; } function openMailbox(mailbox, reload) { @@ -600,13 +607,13 @@ function onMessageSelectionChange() { } function loadMessage(idx) { - var cachedMessage = getCachedMessage(idx); - if (document.messageAjaxRequest) { document.messageAjaxRequest.aborted = true; document.messageAjaxRequest.abort(); } + var cachedMessage = getCachedMessage(idx); + if (cachedMessage == null) { var url = (ApplicationBaseURL + currentMailbox + "/" + idx + "/view?noframe=1"); @@ -618,9 +625,21 @@ function loadMessage(idx) { div.innerHTML = cachedMessage['text']; cachedMessage['time'] = (new Date()).getTime(); document.messageAjaxRequest = null; + configureLinksInMessageDIV(div); } } +function configureLinksInMessageDIV(div) { + var anchors = div.getElementsByTagName('a'); + for (var i = 0; i < anchors.length; i++) + anchors[i].addEventListener("click", onMessageAnchorClick, false); +} + +function onMessageAnchorClick (event) { + window.open(this.href); + event.preventDefault(); +} + function messageCallback(http) { var div = $('messageContent'); @@ -628,7 +647,8 @@ function messageCallback(http) { && http.status == 200) { document.messageAjaxRequest = null; div.innerHTML = http.responseText; - + configureLinksInMessageDIV(div); + if (http.callbackData) { var cachedMessage = new Array(); cachedMessage['idx'] = currentMailbox + '/' + http.callbackData; @@ -699,12 +719,19 @@ function deleteSelectedMails() { /* message menu entries */ function onMenuOpenMessage(event) { - var node = getParentMenu(event.target).menuTarget.parentNode; - var msgId = node.getAttribute('id').substr(4); + return openMessageWindowsForSelection('popupview'); +} + +function onMenuReplyToSender(event) { + return openMessageWindowsForSelection('reply'); +} + +function onMenuReplyToAll(event) { + return openMessageWindowsForSelection('replyall'); +} - return openMessageWindow(msgId, - ApplicationBaseURL + currentMailbox - + "/" + msgId + "/view"); +function onMenuForwardMessage(event) { + return openMessageWindowsForSelection('forward'); } /* contacts */ @@ -760,7 +787,7 @@ function expandUpperTree(node) { function initMailboxSelection(mailboxName) { currentMailbox = mailboxName; - log("initMailboxSelection: " + mailboxName); +// log("initMailboxSelection: " + mailboxName); var tree = $("d"); var treeNodes = document.getElementsByClassName("dTreeNode", tree); var i = 0; @@ -768,7 +795,7 @@ function initMailboxSelection(mailboxName) { && treeNodes[i].getAttribute("dataname") != currentMailbox) i++; if (i < treeNodes.length) { - log ("found mailbox"); +// log ("found mailbox"); var links = document.getElementsByClassName("node", treeNodes[i]); if (tree.selectedEntry) tree.selectedEntry.deselect(); @@ -944,7 +971,7 @@ function initDnd() { document.DNDManager.registerDestination(images[i]); } } - var nodes = document.getElementsByClassName("leaf", tree); + var nodes = document.getElementsByClassName("nodeName", tree); for (var i = 0; i < nodes.length; i++) { nodes[i].dndAcceptType = mailboxSpanAcceptType; nodes[i].dndEnter = mailboxSpanEnter;