]>
Commit | Line | Data |
---|---|---|
a740f4b5 AD |
1 | dojo.provide("fox.PrefFilterTree"); |
2 | ||
3 | dojo.require("lib.CheckBoxTree"); | |
a86ba0a6 AD |
4 | dojo.require("dojo.data.ItemFileWriteStore"); |
5 | ||
6 | dojo.declare("fox.PrefFilterStore", dojo.data.ItemFileWriteStore, { | |
7 | ||
8 | _saveEverything: function(saveCompleteCallback, saveFailedCallback, | |
9 | newFileContentString) { | |
10 | ||
11 | dojo.xhrPost({ | |
12 | url: "backend.php", | |
13 | content: {op: "pref-filters", method: "savefilterorder", | |
14 | payload: newFileContentString}, | |
15 | error: saveFailedCallback, | |
16 | load: saveCompleteCallback}); | |
17 | }, | |
18 | ||
19 | }); | |
a740f4b5 AD |
20 | |
21 | dojo.declare("fox.PrefFilterTree", lib.CheckBoxTree, { | |
22 | _createTreeNode: function(args) { | |
23 | var tnode = this.inherited(arguments); | |
24 | ||
25 | var enabled = this.model.store.getValue(args.item, 'enabled'); | |
26 | var param = this.model.store.getValue(args.item, 'param'); | |
27 | ||
28 | if (param) { | |
29 | param = dojo.doc.createElement('span'); | |
30 | param.className = (enabled != false) ? 'labelParam' : 'labelParam Disabled'; | |
31 | param.innerHTML = args.item.param[0]; | |
32 | dojo.place(param, tnode.labelNode, 'after'); | |
33 | } | |
34 | ||
35 | return tnode; | |
36 | }, | |
37 | ||
38 | getLabel: function(item) { | |
39 | var label = item.name; | |
40 | ||
41 | var feed = this.model.store.getValue(item, 'feed'); | |
42 | var inverse = this.model.store.getValue(item, 'inverse'); | |
43 | ||
44 | if (feed) | |
ba975b2e | 45 | label += " (" + __("in") + " " + feed + ")"; |
a740f4b5 AD |
46 | |
47 | if (inverse) | |
48 | label += " (" + __("Inverse") + ")"; | |
49 | ||
50 | /* if (item.param) | |
ba975b2e | 51 | label = "<span class=\"labelFixedLength\">" + label + |
a740f4b5 AD |
52 | "</span>" + item.param[0]; */ |
53 | ||
54 | return label; | |
55 | }, | |
38e6aa77 AD |
56 | getIconClass: function (item, opened) { |
57 | return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible"; | |
58 | }, | |
a740f4b5 AD |
59 | getLabelClass: function (item, opened) { |
60 | var enabled = this.model.store.getValue(item, 'enabled'); | |
61 | return (enabled != false) ? "dijitTreeLabel labelFixedLength" : "dijitTreeLabel labelFixedLength Disabled"; | |
62 | }, | |
63 | getRowClass: function (item, opened) { | |
ba975b2e | 64 | return (!item.error || item.error == '') ? "dijitTreeRow" : |
a740f4b5 AD |
65 | "dijitTreeRow Error"; |
66 | }, | |
a86ba0a6 AD |
67 | checkItemAcceptance: function(target, source, position) { |
68 | var item = dijit.getEnclosingWidget(target).item; | |
69 | ||
70 | // disable copying items | |
71 | source.copyState = function() { return false; }; | |
72 | ||
73 | return position != 'over'; | |
74 | }, | |
75 | onDndDrop: function() { | |
76 | this.inherited(arguments); | |
77 | this.tree.model.store.save(); | |
78 | }, | |
a740f4b5 AD |
79 | }); |
80 |