summaryrefslogtreecommitdiff
path: root/PrefFeedTree.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-18 10:15:14 +0300
committerAndrew Dolgov <[email protected]>2010-11-18 10:15:14 +0300
commit49c6c279ab7dd42fe972225c50622ed263f81e7b (patch)
tree80d2d7ac2547287de1c4e1251421160db7efa245 /PrefFeedTree.js
parent2148e0d5ccafe6eea1234b17d5eac99913ff2685 (diff)
assorted DnD and pref layout fixes
Diffstat (limited to 'PrefFeedTree.js')
-rw-r--r--PrefFeedTree.js29
1 files changed, 25 insertions, 4 deletions
diff --git a/PrefFeedTree.js b/PrefFeedTree.js
index f8d1e7b15..026e5d489 100644
--- a/PrefFeedTree.js
+++ b/PrefFeedTree.js
@@ -6,11 +6,32 @@ dojo.declare("fox.PrefFeedTree", lib.CheckBoxTree, {
checkItemAcceptance: function(target, source, position) {
var item = dijit.getEnclosingWidget(target).item;
- console.log(source.currentWidget);
-
+ // disable copying items
+ source.copyState = function() { return false; }
+
+ var source_item = false;
+
+ source.forInSelectedItems(function(node) {
+ source_item = node.data.item;
+ });
+
+ if (!source_item || !item) return false;
+
var id = String(item.id);
- return (id.match("CAT:") || position != "over");
- return true;
+ var source_id = String(source_item.id);
+
+ var id = this.tree.model.store.getValue(item, 'id');
+ var source_id = source.tree.model.store.getValue(source_item, 'id');
+
+ //console.log(id + " " + position + " " + source_id);
+
+ if (source_id.match("FEED:")) {
+ return ((id.match("CAT:") && position == "over") ||
+ (id.match("FEED:") && position != "over"));
+ } else if (source_id.match("CAT:")) {
+ return ((id.match("CAT:") && position != "over") ||
+ (id.match("root") && position == "over"));
+ }
},
});