mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-10-17 09:18:13 +00:00
Monotone-Parent: 87900b7c90887e5048e78bcaa1e722ea0e1ebfe5
Monotone-Revision: 1720cf251b5e03b7d77aadbba2e8a9b52b80ce5a Monotone-Author: crobert@inverse.ca Monotone-Date: 2009-08-19T19:47:31 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
1 parent
239ddd0893
commit
bcc6384c79
7 files changed
+112
-13
No files matched your search
@@ -110,6 +110,23 @@ function onMenuSharing(event) {
|
||||
|
||||
/* mail list DOM changes */
|
||||
|
||||
function flagMailInWindow (win, msguid, flagged) {
|
||||
var row = win.$("row_" + msguid);
|
||||
|
||||
if (row) {
|
||||
var col = $$("TR#row_"+msguid+" TD.messageFlag").first ();
|
||||
var img = col.childElements ().first ();
|
||||
if (flagged) {
|
||||
img.src = img.src.replace (/-col/, "");
|
||||
img.addClassName ("messageIsFlagged");
|
||||
}
|
||||
else {
|
||||
img.src = img.src.replace (/.png/, "-col.png");
|
||||
img.removeClassName ("messageIsFlagged");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function markMailInWindow(win, msguid, markread) {
|
||||
var row = win.$("row_" + msguid);
|
||||
var subjectCell = win.$("div_" + msguid);
|
||||
@@ -209,7 +226,8 @@ function mailListMarkMessage(event) {
|
||||
action = 'markMessageUnread';
|
||||
markread = false;
|
||||
}
|
||||
var url = ApplicationBaseURL + encodeURI(Mailer.currentMailbox) + "/" + msguid + "/" + action;
|
||||
var url = ApplicationBaseURL + encodeURI(Mailer.currentMailbox) + "/"
|
||||
+ msguid + "/" + action;
|
||||
|
||||
var data = { "window": window, "msguid": msguid, "markread": markread };
|
||||
triggerAjaxRequest(url, mailListMarkMessageCallback, data);
|
||||
@@ -229,6 +247,35 @@ function mailListMarkMessageCallback(http) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function mailListFlagMessageToggle (e) {
|
||||
var msguid = this.ancestors ().first ().id.split ("_")[1];
|
||||
var img = this.childElements ().first ();
|
||||
|
||||
var action = "markMessageFlagged";
|
||||
var flagged = true;
|
||||
if (img.hasClassName ("messageIsFlagged")) {
|
||||
action = "markMessageUnflagged";
|
||||
flagged = false;
|
||||
}
|
||||
|
||||
var url = ApplicationBaseURL + encodeURI(Mailer.currentMailbox) + "/"
|
||||
+ msguid + "/" + action;
|
||||
var data = { "window": window, "msguid": msguid, "flagged": flagged };
|
||||
|
||||
triggerAjaxRequest(url, mailListFlagMessageToggleCallback, data);
|
||||
}
|
||||
function mailListFlagMessageToggleCallback (http) {
|
||||
if (isHttpStatus204(http.status)) {
|
||||
var data = http.callbackData;
|
||||
flagMailInWindow(data["window"], data["msguid"], data["flagged"]);
|
||||
}
|
||||
else {
|
||||
alert("Message Mark Failed (" + http.status + "): " + http.statusText);
|
||||
window.location.reload();
|
||||
}
|
||||
}
|
||||
|
||||
/* maillist row highlight */
|
||||
|
||||
var oldMaillistHighlight = null; // to remember deleted/selected style
|
||||
@@ -674,6 +721,7 @@ function messageListCallback(http) {
|
||||
var msg = data.replace(/^(.*\n)*.*<p>((.*\n)*.*)<\/p>(.*\n)*.*$/, "$2");
|
||||
log("messageListCallback: problem during ajax request (readyState = " + http.readyState + ", status = " + http.status + ", response = " + msg + ")");
|
||||
}
|
||||
initFlagIcons ();
|
||||
}
|
||||
|
||||
function getStatusFolders() {
|
||||
@@ -1406,6 +1454,12 @@ function openInbox(node) {
|
||||
mailboxTree.o(1);
|
||||
}
|
||||
|
||||
function initFlagIcons () {
|
||||
var icons = $$("TABLE#messageList TBODY TR.mailer_listcell_regular TD.messageFlag");
|
||||
for (var i = 0; i < icons.length; i++)
|
||||
icons[i].onclick = mailListFlagMessageToggle;
|
||||
}
|
||||
|
||||
function initMailer(event) {
|
||||
if (!$(document.body).hasClassName("popup")) {
|
||||
//initDnd();
|
||||
|
||||
Reference in new issue
Block a user