diff options
Diffstat (limited to 'js/PrefFilterTree.js')
-rw-r--r-- | js/PrefFilterTree.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/PrefFilterTree.js b/js/PrefFilterTree.js index afa2f445a..3546e30fb 100644 --- a/js/PrefFilterTree.js +++ b/js/PrefFilterTree.js @@ -1,6 +1,22 @@ dojo.provide("fox.PrefFilterTree"); dojo.require("lib.CheckBoxTree"); +dojo.require("dojo.data.ItemFileWriteStore"); + +dojo.declare("fox.PrefFilterStore", dojo.data.ItemFileWriteStore, { + + _saveEverything: function(saveCompleteCallback, saveFailedCallback, + newFileContentString) { + + dojo.xhrPost({ + url: "backend.php", + content: {op: "pref-filters", method: "savefilterorder", + payload: newFileContentString}, + error: saveFailedCallback, + load: saveCompleteCallback}); + }, + +}); dojo.declare("fox.PrefFilterTree", lib.CheckBoxTree, { _createTreeNode: function(args) { @@ -48,5 +64,17 @@ dojo.declare("fox.PrefFilterTree", lib.CheckBoxTree, { return (!item.error || item.error == '') ? "dijitTreeRow" : "dijitTreeRow Error"; }, + checkItemAcceptance: function(target, source, position) { + var item = dijit.getEnclosingWidget(target).item; + + // disable copying items + source.copyState = function() { return false; }; + + return position != 'over'; + }, + onDndDrop: function() { + this.inherited(arguments); + this.tree.model.store.save(); + }, }); |