jQuery(targetid).jstree({
"core" : {
"animation" : false,
"check_callback" : function(operation, node, node_parent, node_position){
return true;
},
"multiple" : false,
"themes" : {
"dots" : true,
"responsive" : false
},
"data" : function (obj, cb) { //-- performs the retrieval of tree data
//-- function loads the libraries (top level) for the tree
parentobject.LoadLibraries(cb);
}else if(obj.data && obj.data.NodeType && obj.data.NodeType == "library"){
parentobject.LoadChildFolders(obj, cb); //-- loads sub folders beneath the selected library
}else if(obj.data && obj.data.NodeType && obj.data.NodeType == "folder"){
parentobject.LoadChildFolders(obj, cb); //-- loads just the selected node sub folders
}
}
},
"sort" : function (a, b) { //-- sort nodes alphabetically except for recycle bin which goes to the end
var anode = this.get_node(a);
var bnode = this.get_node(b);
var aisrc = (anode.data && anode.data.FolderID && anode.data.FolderID.indexOf("RCBIN") == 0);
var bisrc = (bnode.data && bnode.data.FolderID && bnode.data.FolderID.indexOf("RCBIN") == 0);
sortorder = (aisrc ? 1 : (bisrc ? -1 : (anode.text.toLowerCase() > bnode.text.toLowerCase() ? 1 : -1)));
return sortorder;
},
"conditionalselect" : function (node) { //-- to stop selection of a node put code here
return true;
},
"contextmenu" : {
"select_node" : false,
"items" : function(node){return parentobject.BuildContextMenu(node)}
},
"plugins" : ["contextmenu", "sort", "conditionalselect", (parentobject.ShowCheckBoxes)? "checkbox" : ""]
})
.on('ready.jstree', function (e, data){ //-- respond to tree completed loading
parentobject.IsLoading = false;
})
.on('load_node.jstree', function (e, data) { //-- respond to node load data event
})
.on('select_node.jstree', function (e, data) {
if(parentobject.ignoreevent == true){
parentobjectignoreevent = false;
}else{
parentobject.ClickFolder(); //-- respond to select node event
}
})
.on('rename_node.jstree', function (e, data){
parentobject.NewFolderName = data.text;
if(! data.node.data){ //-- newly created node, need to post to server
if(data.old != data.text){ //-- newly created folder name was changed
parentobject.FinishCreateFolder(data);
}else{ //-- newly created folder was not renamed so remove the node
parentobject.jstree.delete_node(data.node);
}
}else{ //-- a rename of an existing folder
if(data.old != data.text){ //-- folder name was changed
parentobject.FinishRenameFolder(data);
}
};
parentobject.NewFolderName = "";
parentojbect.NewNodeID = "";
parentobject.StoreSelectedNode();
});