]>
git.wh0rd.org - tt-rss.git/blob - PrefFeedTree.js
1 dojo
.provide("fox.PrefFeedTree");
2 dojo
.provide("fox.PrefFeedStore");
4 dojo
.require("lib.CheckBoxTree");
6 dojo
.declare("fox.PrefFeedStore", dojo
.data
.ItemFileWriteStore
, {
8 _saveEverything: function(saveCompleteCallback
, saveFailedCallback
,
9 newFileContentString
) {
13 content
: {op
: "pref-feeds", subop
: "savefeedorder",
14 payload
: newFileContentString
},
15 error
: saveFailedCallback
,
16 load
: saveCompleteCallback
});
21 dojo
.declare("fox.PrefFeedTree", lib
.CheckBoxTree
, {
22 _createTreeNode: function(args
) {
23 var tnode
= this.inherited(arguments
);
26 tnode
.iconNode
.src
= args
.item
.icon
[0];
30 onDndDrop: function() {
31 this.inherited(arguments
);
32 this.tree
.model
.store
.save();
34 getRowClass: function (item
, opened
) {
35 return (!item
.error
|| item
.error
== '') ? "dijitTreeRow" :
38 getIconClass: function (item
, opened
) {
39 return (!item
|| this.model
.store
.getValue(item
, 'type') == 'category') ? (opened
? "dijitFolderOpened" : "dijitFolderClosed") : "feedIcon";
41 checkItemAcceptance: function(target
, source
, position
) {
42 var item
= dijit
.getEnclosingWidget(target
).item
;
44 // disable copying items
45 source
.copyState = function() { return false; }
47 var source_item
= false;
49 source
.forInSelectedItems(function(node
) {
50 source_item
= node
.data
.item
;
53 if (!source_item
|| !item
) return false;
55 var id
= String(item
.id
);
56 var source_id
= String(source_item
.id
);
58 var id
= this.tree
.model
.store
.getValue(item
, 'id');
59 var source_id
= source
.tree
.model
.store
.getValue(source_item
, 'id');
61 //console.log(id + " " + position + " " + source_id);
63 if (source_id
.match("FEED:")) {
64 return ((id
.match("CAT:") && position
== "over") ||
65 (id
.match("FEED:") && position
!= "over"));
66 } else if (source_id
.match("CAT:")) {
67 return ((id
.match("CAT:") && position
!= "over") ||
68 (id
.match("root") && position
== "over"));