Monotone-Parent: f6c6e91570c47d1f21a72f6e6379690131692fff
Monotone-Revision: b4f7cd6dfc31765ed9331020a8d070d54d8d0549 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-08-23T15:32:52 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
parent
f52e7111c6
commit
8a1e805657
15
ChangeLog
15
ChangeLog
|
@ -1,3 +1,18 @@
|
||||||
|
2010-08-23 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
|
|
||||||
|
* UI/WebServerResources/MailerUI.js: (mailListToggleMessagesRead):
|
||||||
|
new method, spun from "mailListMarkMessage", which is basically
|
||||||
|
replaces in a more generic way by acting on all selected messages
|
||||||
|
in the msg list.
|
||||||
|
(mailListToggleMessagesFlagged): same as above for
|
||||||
|
"mailListFlagMessageToggle".
|
||||||
|
(onMenuToggleMessageRead, onMenuToggleMessageFlag): new menu
|
||||||
|
callback methods.
|
||||||
|
(onMarkMenuPrepareVisibility): new visibility method for the
|
||||||
|
"mark-menu".
|
||||||
|
(getMenus): activated the "mark as read" and "toggle flag" menu
|
||||||
|
options of the "mark menu".
|
||||||
|
|
||||||
2010-08-20 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
2010-08-20 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
|
|
||||||
* SoObjects/SOGo/SOGoDAVAuthenticator.m (-checkLogin:password:):
|
* SoObjects/SOGo/SOGoDAVAuthenticator.m (-checkLogin:password:):
|
||||||
|
|
|
@ -175,17 +175,13 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="menu" id="mark-menu">
|
<div class="menu" id="mark-menu">
|
||||||
<ul id="">
|
<ul id="" class="choiceMenu">
|
||||||
<li><var:string label:value="As Read" /></li>
|
<li><var:string label:value="As Read" /></li>
|
||||||
<li><var:string label:value="Thread As Read" /></li>
|
<li><var:string label:value="Thread As Read" /></li>
|
||||||
<li><var:string label:value="As Read By Date..." /></li>
|
<li><var:string label:value="As Read By Date..." /></li>
|
||||||
<li><var:string label:value="All Read" /></li>
|
<li><var:string label:value="All Read" /></li>
|
||||||
<li><!-- separator --></li>
|
<li><!-- separator --></li>
|
||||||
<li><var:string label:value="Flag" /></li>
|
<li><var:string label:value="Flag" /></li>
|
||||||
<li><!-- separator --></li>
|
|
||||||
<li><var:string label:value="As Junk" /></li>
|
|
||||||
<li><var:string label:value="As Not Junk" /></li>
|
|
||||||
<li><var:string label:value="Run Junk Mail Controls" /></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -203,29 +203,43 @@ function openMessageWindowsForSelection(action, firstOnly) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Triggered when clicking on the read/unread dot of a message row */
|
/* Triggered when clicking on the read/unread dot of a message row */
|
||||||
|
function mailListToggleMessagesRead() {
|
||||||
|
var messageList = $("messageListBody");
|
||||||
|
if (messageList) {
|
||||||
|
var selectedRows = messageList.getSelectedRows();
|
||||||
|
if (selectedRows.length > 0) {
|
||||||
|
var row = selectedRows[0];
|
||||||
|
var action;
|
||||||
|
var markread;
|
||||||
|
if (row.hasClassName("mailer_unreadmail")) {
|
||||||
|
action = 'markMessageRead';
|
||||||
|
markread = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
action = 'markMessageUnread';
|
||||||
|
markread = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < selectedRows.length; i++) {
|
||||||
|
row = selectedRows[i];
|
||||||
|
var msguid = row.id.split('_')[1];
|
||||||
|
markMailInWindow(window, msguid, markread);
|
||||||
|
|
||||||
|
var url = ApplicationBaseURL + encodeURI(Mailer.currentMailbox) + "/"
|
||||||
|
+ msguid + "/" + action;
|
||||||
|
|
||||||
|
var data = { "msguid": msguid };
|
||||||
|
triggerAjaxRequest(url, mailListMarkMessageCallback, data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function mailListMarkMessage(event) {
|
function mailListMarkMessage(event) {
|
||||||
var msguid = this.id.split('_')[1];
|
mailListToggleMessagesRead();
|
||||||
var row = $(this).up('TR');
|
|
||||||
var action;
|
|
||||||
var markread;
|
|
||||||
if (row.hasClassName("mailer_unreadmail")) {
|
|
||||||
action = 'markMessageRead';
|
|
||||||
markread = true;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
action = 'markMessageUnread';
|
|
||||||
markread = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
markMailInWindow(window, msguid, markread);
|
|
||||||
|
|
||||||
var url = ApplicationBaseURL + encodeURI(Mailer.currentMailbox) + "/"
|
|
||||||
+ msguid + "/" + action;
|
|
||||||
|
|
||||||
var data = { "msguid": msguid };
|
|
||||||
triggerAjaxRequest(url, mailListMarkMessageCallback, data);
|
|
||||||
|
|
||||||
preventDefault(event);
|
preventDefault(event);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -242,28 +256,42 @@ function mailListMarkMessageCallback(http) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mailListFlagMessageToggle(e) {
|
||||||
function mailListFlagMessageToggle (e) {
|
mailListToggleMessagesFlagged();
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
flagMailInWindow(window, msguid, flagged);
|
|
||||||
|
|
||||||
var url = ApplicationBaseURL + encodeURI(Mailer.currentMailbox) + "/"
|
|
||||||
+ msguid + "/" + action;
|
|
||||||
var data = { "msguid": msguid };
|
|
||||||
|
|
||||||
triggerAjaxRequest(url, mailListFlagMessageToggleCallback, data);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function mailListFlagMessageToggleCallback (http) {
|
function mailListToggleMessagesFlagged() {
|
||||||
|
var messageList = $("messageListBody");
|
||||||
|
if (messageList) {
|
||||||
|
var selectedRows = messageList.getSelectedRows();
|
||||||
|
if (selectedRows.length > 0) {
|
||||||
|
var row = selectedRows[0];
|
||||||
|
var firstTd = row.childElements().first();
|
||||||
|
var img = firstTd.childElements().first();
|
||||||
|
|
||||||
|
var action = "markMessageFlagged";
|
||||||
|
var flagged = true;
|
||||||
|
if (img.hasClassName("messageIsFlagged")) {
|
||||||
|
action = "markMessageUnflagged";
|
||||||
|
flagged = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < selectedRows.length; i++) {
|
||||||
|
row = selectedRows[i];
|
||||||
|
var msguid = row.id.split("_")[1];
|
||||||
|
flagMailInWindow(window, msguid, flagged);
|
||||||
|
|
||||||
|
var url = ApplicationBaseURL + encodeURI(Mailer.currentMailbox) + "/"
|
||||||
|
+ msguid + "/" + action;
|
||||||
|
var data = { "msguid": msguid };
|
||||||
|
|
||||||
|
triggerAjaxRequest(url, mailListToggleMessageFlaggedCallback, data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mailListToggleMessageFlaggedCallback(http) {
|
||||||
if (isHttpStatus204(http.status)) {
|
if (isHttpStatus204(http.status)) {
|
||||||
var data = http.callbackData;
|
var data = http.callbackData;
|
||||||
Mailer.dataTable.invalidate(data["msguid"], true);
|
Mailer.dataTable.invalidate(data["msguid"], true);
|
||||||
|
@ -2104,6 +2132,10 @@ function onMenuChangeToTrashFolder(event) {
|
||||||
return _onMenuChangeToXXXFolder(event, "Trash");
|
return _onMenuChangeToXXXFolder(event, "Trash");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onMenuToggleMessageRead(event) {
|
||||||
|
mailListToggleMessagesRead();
|
||||||
|
}
|
||||||
|
|
||||||
function onMenuLabelNone() {
|
function onMenuLabelNone() {
|
||||||
var messages = new Array();
|
var messages = new Array();
|
||||||
|
|
||||||
|
@ -2180,6 +2212,10 @@ function onMenuLabelFlag5() {
|
||||||
_onMenuLabelFlagX(5);
|
_onMenuLabelFlagX(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onMenuToggleMessageFlag(event) {
|
||||||
|
mailListToggleMessagesFlagged();
|
||||||
|
}
|
||||||
|
|
||||||
function folderOperationCallback(http) {
|
function folderOperationCallback(http) {
|
||||||
if (http.readyState == 4
|
if (http.readyState == 4
|
||||||
&& isHttpStatus204(http.status))
|
&& isHttpStatus204(http.status))
|
||||||
|
@ -2322,6 +2358,40 @@ function onLabelMenuPrepareVisibility() {
|
||||||
lis[0].addClassName("_chosen");
|
lis[0].addClassName("_chosen");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onMarkMenuPrepareVisibility() {
|
||||||
|
var messageList = $("messageListBody");
|
||||||
|
if (messageList) {
|
||||||
|
var nodes = messageList.down("TBODY").getSelectedNodes();
|
||||||
|
|
||||||
|
var isRead = false;
|
||||||
|
var isFlagged = false;
|
||||||
|
|
||||||
|
if (nodes.length > 0) {
|
||||||
|
var row = nodes[0];
|
||||||
|
var firstTd = row.childElements().first();
|
||||||
|
var img = firstTd.childElements().first();
|
||||||
|
isFlagged = img.hasClassName ("messageIsFlagged");
|
||||||
|
isRead = !row.hasClassName("mailer_unreadmail");
|
||||||
|
}
|
||||||
|
|
||||||
|
var menuUL = this.childElements()[0];
|
||||||
|
var menuLIS = menuUL.childElements();
|
||||||
|
|
||||||
|
if (isRead) {
|
||||||
|
menuLIS[0].addClassName("_chosen");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
menuLIS[0].removeClassName("_chosen");
|
||||||
|
}
|
||||||
|
if (isFlagged) {
|
||||||
|
menuLIS[5].addClassName("_chosen");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
menuLIS[5].removeClassName("_chosen");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function saveAs(event) {
|
function saveAs(event) {
|
||||||
var messageList = $("messageListBody").down("TBODY");
|
var messageList = $("messageListBody").down("TBODY");
|
||||||
var rows = messageList.getSelectedNodes();
|
var rows = messageList.getSelectedNodes();
|
||||||
|
@ -2408,8 +2478,9 @@ function getMenus() {
|
||||||
"label-menu": [ onMenuLabelNone, "-", onMenuLabelFlag1,
|
"label-menu": [ onMenuLabelNone, "-", onMenuLabelFlag1,
|
||||||
onMenuLabelFlag2, onMenuLabelFlag3,
|
onMenuLabelFlag2, onMenuLabelFlag3,
|
||||||
onMenuLabelFlag4, onMenuLabelFlag5 ],
|
onMenuLabelFlag4, onMenuLabelFlag5 ],
|
||||||
"mark-menu": [ null, null, null, null, "-", null, "-",
|
"mark-menu": [ onMenuToggleMessageRead, null, null, null, "-", onMenuToggleMessageFlag ],
|
||||||
null, null, null ],
|
// , "-",
|
||||||
|
// null, null, null ],
|
||||||
|
|
||||||
searchMenu: [ setSearchCriteria, setSearchCriteria,
|
searchMenu: [ setSearchCriteria, setSearchCriteria,
|
||||||
setSearchCriteria, setSearchCriteria,
|
setSearchCriteria, setSearchCriteria,
|
||||||
|
@ -2421,6 +2492,11 @@ function getMenus() {
|
||||||
labelMenu.prepareVisibility = onLabelMenuPrepareVisibility;
|
labelMenu.prepareVisibility = onLabelMenuPrepareVisibility;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var markMenu = $("mark-menu");
|
||||||
|
if (markMenu) {
|
||||||
|
markMenu.prepareVisibility = onMarkMenuPrepareVisibility;
|
||||||
|
}
|
||||||
|
|
||||||
var listMenus = [ "messageListMenu", "messagesListMenu", "messageContentMenu" ];
|
var listMenus = [ "messageListMenu", "messagesListMenu", "messageContentMenu" ];
|
||||||
for (var i = 0; i < listMenus.length; i++) {
|
for (var i = 0; i < listMenus.length; i++) {
|
||||||
var menu = $(listMenus[i]);
|
var menu = $(listMenus[i]);
|
||||||
|
|
Loading…
Reference in a new issue