sogo/UI/WebServerResources/MailerUI+dTree.js
Wolfgang Sourdeau a66d823e76 Monotone-Parent: 6e98c1d612fcf5ba72a09cf9a2722a77ce287f05
Monotone-Revision: be2302dd882ba3fed4477d650f3f6d39f0eccad7

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-07-30T15:55:28
Monotone-Branch: ca.inverse.sogo
2007-07-30 15:55:28 +00:00

44 lines
1.5 KiB
JavaScript

var MailerUIdTreeExtension = {
elementCounter: 1,
folderIcons: { account: "tbtv_account_17x17.gif",
inbox: "tbtv_inbox_17x17.gif",
sent: "tbtv_sent_17x17.gif",
draft: "tbtv_drafts_17x17.gif",
trash: "tbtv_trash_17x17.gif" },
folderNames: { inbox: labels["InboxFolderName"],
sent: labels["SentFolderName"],
draft: labels["DraftsFolderName"],
trash: labels["TrashFolderName"] },
_addFolderNode: function (parent, name, fullName, type) {
var icon = this.folderIcons[type];
if (icon)
icon = ResourcesURL + "/" + icon;
else
icon = "";
var displayName = this.folderNames[type];
if (!displayName)
displayName = name;
this.add(this.elementCounter, parent, displayName, 1, '#', fullName,
type, '', '', icon, icon);
this.elementCounter++;
},
_addFolder: function (parent, folder) {
var thisCounter = this.elementCounter;
var fullName = "";
var currentFolder = folder;
while (currentFolder.parentFolder) {
fullName = "/folder" + currentFolder.name + fullName;
currentFolder = currentFolder.parentFolder;
}
fullName = "/" + currentFolder.name + fullName;
this._addFolderNode(parent, folder.name, fullName, folder.type);
for (var i = 0; i < folder.children.length; i++)
this._addFolder(thisCounter, folder.children[i]);
},
addMailAccount: function (mailAccount) {
this._addFolder(0, mailAccount);
}
};
Object.extend(dTree.prototype, MailerUIdTreeExtension);