summaryrefslogtreecommitdiff
path: root/PrefFilterTree.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-18 15:49:26 +0300
committerAndrew Dolgov <[email protected]>2010-11-18 15:49:32 +0300
commita740f4b51d4810ea10022915051284a812232c18 (patch)
tree2a126605a8f2490de379ad58c1637e8a130a898f /PrefFilterTree.js
parent82aea97816774e3410eb4137b80dd0497547eb96 (diff)
tweak feed-prefs; rework filter prefs to use dijit.Tree
Diffstat (limited to 'PrefFilterTree.js')
-rw-r--r--PrefFilterTree.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/PrefFilterTree.js b/PrefFilterTree.js
new file mode 100644
index 000000000..b938517d5
--- /dev/null
+++ b/PrefFilterTree.js
@@ -0,0 +1,57 @@
+dojo.provide("fox.PrefFilterTree");
+
+dojo.require("lib.CheckBoxTree");
+
+dojo.declare("fox.PrefFilterTree", lib.CheckBoxTree, {
+ _createTreeNode: function(args) {
+ var tnode = this.inherited(arguments);
+
+ var enabled = this.model.store.getValue(args.item, 'enabled');
+ var param = this.model.store.getValue(args.item, 'param');
+
+ if (param) {
+ param = dojo.doc.createElement('span');
+ param.className = (enabled != false) ? 'labelParam' : 'labelParam Disabled';
+ param.innerHTML = args.item.param[0];
+ dojo.place(param, tnode.labelNode, 'after');
+ }
+
+ return tnode;
+ },
+
+ getLabel: function(item) {
+ var label = item.name;
+
+ var feed = this.model.store.getValue(item, 'feed');
+ var inverse = this.model.store.getValue(item, 'inverse');
+
+ if (feed)
+ label += " (" + __("Feed:") + " " + feed + ")";
+
+ if (inverse)
+ label += " (" + __("Inverse") + ")";
+
+/* if (item.param)
+ label = "<span class=\"labelFixedLength\">" + label +
+ "</span>" + item.param[0]; */
+
+ return label;
+ },
+ getLabelClass: function (item, opened) {
+ var enabled = this.model.store.getValue(item, 'enabled');
+ return (enabled != false) ? "dijitTreeLabel labelFixedLength" : "dijitTreeLabel labelFixedLength Disabled";
+ },
+ getRowClass: function (item, opened) {
+ return (!item.error || item.error == '') ? "dijitTreeRow" :
+ "dijitTreeRow Error";
+ },
+ onClick: function (item) {
+ var id = String(item.id);
+ var bare_id = id.substr(id.indexOf(':')+1);
+
+ if (id.match('FILTER:')) {
+ editFilter(bare_id, event);
+ }
+ },
+});
+