In my jstree I have a Root node which is the parent node of all. I have used dnd plugin. I want to allow drag and drop anywhere in the tree but only inside the root i.e. not before or after the Root.
- [Root]
- Node 1
- Node 1.1
- Node 1.2
+ Node 2
- Node 3
+ Node 3.1
After checking with forums I found that drag_check
event is for foreign nodes only and not for any node within the tree. To validate for same tree node we need to use crrm -> check_move
event. That is where I need help. I want to return false if the node is dropped before or after [Root]
.
Here is the fiddle to start - http://jsfiddle.net/juyMR/23/
In the current version of jstree (3.0.1) there is a more easy solution, everything you have to use is
"types" : {
"#" : {
"max_children" : 1
}
},
If you are using the type plugin there are two predefined types. One is the "#" used above. This is automatically used for the "real" root element of the tree, which means the one which is internally used. So if you are adding your own root as the first node without any extra config everything will work fine.
You are very close, you just need a else statement to return true
http://jsfiddle.net/blowsie/juyMR/59/
"crrm" : {
"move" : {
"check_move" : function (data) {
// alert(data.r.attr("id"));
if(data.r.attr("id") == "999") {
return false;
}
else {
return true;
}
}
}
},
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With