]> err.no Git - scalable-opengroupware.org/blob - UI/WebServerResources/MailerUI+dTree.js
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1150 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / WebServerResources / MailerUI+dTree.js
1 var MailerUIdTreeExtension = {
2    elementCounter: 1,
3    folderIcons: { account: "tbtv_account_17x17.gif",
4                   inbox: "tbtv_inbox_17x17.gif",
5                   sent: "tbtv_sent_17x17.gif",
6                   draft: "tbtv_drafts_17x17.gif",
7                   trash: "tbtv_trash_17x17.gif" },
8    folderNames: { inbox: labels["InboxFolderName"],
9                   sent: labels["SentFolderName"],
10                   draft: labels["DraftsFolderName"],
11                   trash: labels["TrashFolderName"] },
12    _addFolderNode: function (parent, name, fullName, type) {
13       var icon = this.folderIcons[type];
14       if (icon)
15         icon = ResourcesURL + "/"  + icon;
16       else
17         icon = "";
18       var displayName = this.folderNames[type];
19       if (!displayName)
20         displayName = name;
21       this.add(this.elementCounter, parent, displayName, 1, '#', fullName,
22                type, '', '', icon, icon);
23       this.elementCounter++;
24    },
25    _addFolder: function (parent, folder) {
26       var thisCounter = this.elementCounter;
27       var fullName = "";
28       var currentFolder = folder;
29       while (currentFolder.parentFolder) {
30          fullName = "/folder" + currentFolder.name + fullName;
31          currentFolder = currentFolder.parentFolder;
32       }
33       fullName = "/" + currentFolder.name + fullName;
34       this._addFolderNode(parent, folder.name, fullName, folder.type);
35       for (var i = 0; i < folder.children.length; i++)
36       this._addFolder(thisCounter, folder.children[i]);
37    },
38    addMailAccount: function (mailAccount) {
39       this._addFolder(0, mailAccount);
40    }
41 };
42
43 Object.extend(dTree.prototype, MailerUIdTreeExtension);