From 49c6c279ab7dd42fe972225c50622ed263f81e7b Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 18 Nov 2010 10:15:14 +0300 Subject: assorted DnD and pref layout fixes --- PrefFeedTree.js | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'PrefFeedTree.js') 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")); + } }, }); -- cgit v1.2.3