sogo/UI/WebServerResources/MailerUIdTree.js
Wolfgang Sourdeau ba2b9aad81 Monotone-Parent: c2a5e3fb9246462545f9ecf1c552400ae0d6a9e9
Monotone-Revision: b8ad0061e865a522c79c6a19bc8d7841469af81a

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2010-06-02T19:11:15
Monotone-Branch: ca.inverse.sogo
2010-06-02 19:11:15 +00:00

67 lines
2.2 KiB
JavaScript

/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
var MailerUIdTreeExtension = {
elementCounter: 1,
folderIcons: { account: "tbtv_account_17x17.png",
inbox: "tbtv_inbox_17x17.png",
sent: "tbtv_sent_17x17.png",
draft: "tbtv_drafts_17x17.png",
trash: "tbtv_trash_17x17.png" },
folderNames: { inbox: _("InboxFolderName"),
sent: _("SentFolderName"),
draft: _("DraftsFolderName"),
trash: _("TrashFolderName") },
_addFolderNode: function (parent, name, fullName, type, unseen) {
var icon = this.folderIcons[type];
if (icon)
icon = ResourcesURL + "/" + icon;
else
icon = "";
var displayName = this.folderNames[type];
var hasUnseen = false;
if (!displayName)
displayName = name;
if (typeof unseen != "undefined") {
hasUnseen = true;
displayName += "<span id=\"unseenCount\"> (<span>" + parseInt(unseen) + "</span>)</span>";
}
this.add(this.elementCounter, parent, displayName, 1, '#', fullName,
type, '', '', icon, icon, hasUnseen);
this.elementCounter++;
},
_addFolder: function (parent, folder) {
var thisCounter = this.elementCounter;
this._addFolderNode(parent, folder.displayName, folder.fullName(), folder.type, folder.unseen);
for (var i = 0; i < folder.children.length; i++)
this._addFolder(thisCounter, folder.children[i]);
},
addMailAccount: function (mailAccount) {
this._addFolder(0, mailAccount);
},
setCookie: function(cookieName, cookieValue, expires, path, domain, secure) {
},
getCookie: function(cookieName) {
return ("");
},
updateCookie: function () {
if (Mailer.foldersStateTimer)
clearTimeout(Mailer.foldersStateTimer);
Mailer.foldersStateTimer = setTimeout('saveFoldersState()', 3000); // 3 seconds
},
getFoldersState: function () {
var expandedFolders = new Array();
for (var n = 0; n < this.aNodes.length; n++) {
if (this.aNodes[n]._io && this.aNodes[n].pid != this.root.id) {
expandedFolders.push(this.aNodes[n].dataname);
}
}
return expandedFolders.toJSON();
},
autoSync: function() {
this.config.useCookies = true;
}
};
Object.extend(dTree.prototype, MailerUIdTreeExtension);