This is a sample I made for a recent project. The tree is based on Moro script with a few changes and a major improvement: a tools menu that enables add and remove actions directly on node.
Beside the tools menu its now possible to:
- prevent a node from being dragged: drag:false
- prevent a node from being a drop target: drop:false
- prevent a node from being modified(keep structure intact): lock:true
The tools menu is render based in those flags:
- if the node.parent is locked(lock:true) then the node is not electable for drag or for remove and the tools menu is empty
- if the node is locked(lock:true) then isn't possible to add more nodes(either folder or file)
Remember this is just a concept proof, not a final release, but even so i believe it could be usefull.