]> git.wh0rd.org - tt-rss.git/blobdiff - js/PrefLabelTree.js
overall directory tree cleanup
[tt-rss.git] / js / PrefLabelTree.js
diff --git a/js/PrefLabelTree.js b/js/PrefLabelTree.js
new file mode 100644 (file)
index 0000000..05a0c15
--- /dev/null
@@ -0,0 +1,43 @@
+dojo.provide("fox.PrefLabelTree");
+
+dojo.require("lib.CheckBoxTree");
+dojo.require("dijit.form.DropDownButton");
+
+dojo.declare("fox.PrefLabelTree", lib.CheckBoxTree, {
+       setNameById: function (id, name) {
+               var item = this.model.store._itemsByIdentity['LABEL:' + id];
+
+               if (item)
+                       this.model.store.setValue(item, 'name', name);
+
+       },
+       _createTreeNode: function(args) {
+               var tnode = this.inherited(arguments);
+
+               var fg_color = this.model.store.getValue(args.item, 'fg_color');
+               var bg_color = this.model.store.getValue(args.item, 'bg_color');
+               var type = this.model.store.getValue(args.item, 'type');
+               var bare_id = this.model.store.getValue(args.item, 'bare_id');
+
+               if (type == 'label') {
+                       var span = dojo.doc.createElement('span');
+                       span.innerHTML = 'α';
+                       span.className = 'labelColorIndicator2';
+                       span.id = 'LICID-' + bare_id;
+
+                       span.setStyle({
+                               color: fg_color,
+                               backgroundColor: bg_color});
+
+                       tnode._labelIconNode = span;
+
+                       dojo.place(tnode._labelIconNode, tnode.labelNode, 'before');
+               }
+
+               return tnode;
+       },
+       getIconClass: function (item, opened) {
+               return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible";
+       }, 
+});
+