]>
git.wh0rd.org - tt-rss.git/blob - js/PrefFilterTree.js
1 require(["dojo/_base/declare", "dojo/data/ItemFileWriteStore"], function (declare
) {
3 return declare("fox.PrefFilterStore", dojo
.data
.ItemFileWriteStore
, {
5 _saveEverything: function (saveCompleteCallback
, saveFailedCallback
,
6 newFileContentString
) {
11 op
: "pref-filters", method
: "savefilterorder",
12 payload
: newFileContentString
14 error
: saveFailedCallback
,
15 load
: saveCompleteCallback
22 require(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], function (declare
, domConstruct
) {
24 return declare("fox.PrefFilterTree", lib
.CheckBoxTree
, {
25 _createTreeNode: function(args
) {
26 var tnode
= this.inherited(arguments
);
28 var enabled
= this.model
.store
.getValue(args
.item
, 'enabled');
29 var param
= this.model
.store
.getValue(args
.item
, 'param');
30 var rules
= this.model
.store
.getValue(args
.item
, 'rules');
33 param
= dojo
.doc
.createElement('span');
34 param
.className
= (enabled
!= false) ? 'labelParam' : 'labelParam filterDisabled';
35 param
.innerHTML
= args
.item
.param
[0];
36 domConstruct
.place(param
, tnode
.rowNode
, 'first');
40 param
= dojo
.doc
.createElement('span');
41 param
.className
= 'filterRules';
42 param
.innerHTML
= rules
;
43 domConstruct
.place(param
, tnode
.rowNode
, 'next');
46 if (this.model
.store
.getValue(args
.item
, 'id') != 'root') {
47 var img
= dojo
.doc
.createElement('img');
48 img
.src
='images/filter.png';
49 img
.className
= 'markedPic';
50 tnode
._filterIconNode
= img
;
51 domConstruct
.place(tnode
._filterIconNode
, tnode
.labelNode
, 'before');
57 getLabel: function(item
) {
58 var label
= item
.name
;
60 var feed
= this.model
.store
.getValue(item
, 'feed');
61 var inverse
= this.model
.store
.getValue(item
, 'inverse');
64 label
+= " (" + __("in") + " " + feed
+ ")";
67 label
+= " (" + __("Inverse") + ")";
70 label = "<span class=\"labelFixedLength\">" + label +
71 "</span>" + item.param[0]; */
75 getIconClass: function (item, opened) {
76 return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible";
78 getLabelClass: function (item, opened) {
79 var enabled = this.model.store.getValue(item, 'enabled');
80 return (enabled != false) ? "dijitTreeLabel labelFixedLength" : "dijitTreeLabel labelFixedLength filterDisabled";
82 getRowClass: function (item, opened) {
83 return (!item.error || item.error == '') ? "dijitTreeRow" :
86 checkItemAcceptance: function(target, source, position) {
87 var item = dijit.getEnclosingWidget(target).item;
89 // disable copying items
90 source.copyState = function() { return false; };
92 return position != 'over';
94 onDndDrop: function() {
95 this.inherited(arguments);
96 this.tree.model.store.save();