node-tree-data

tree data structure

tree-data

tree data structure for javascript.

install for node

 npm install node-tree-data

install for component

 component install brighthas/tree-data
var tree = new Tree();  // if no id , auto create a id. 
var two_tree = new Tree("id-002");
var treeData = tree.json();
 
treeData.id
treeData.rootIds // top node's id, Array. 
treeData.nodes   // all nodes , look [about node object] 
 
var tree2 = new Tree();
tree2.reborm(treeData);  // clone tree1 data to -> tree2 
 
var tree3 = Tree.json2obj(treeData); // json data to tree obj. 
 
var root1 = tree.createNode("Index 1"); // create root node . 
var root2 = tree.createNode("Index 2");
var node1 = tree.createNode("Child 1",root2.id); // create child node for root2. 
var node2 = tree.createNode("Child 2",root2.id);
var node = tree.getNode(node2.id);
var node = tree.getNode(nodeId);
node.parent  // is parent node's id. 
node.id
node.list  // is child's ids , Array. 
node.label // label name , see tree.createNode(label). 
 
var root_ids = tree.getChildIds();  // null argumets , get root node ids. 
var childs_ids = tree.getChildIds(root2.id) // get root2's child node ids. 
var roots = tree.getChilds();  // null argumets , get root nodes. 
var childs = tree.getChilds(root2.id) // get root2's child nodes. 
move nodeId's node to targetId's node.
tree.move(root1.id,node2.id); // move node2 to root1. 
tree.remove(node2.id) // remove node2 from tree. 
move up a node.
move down a node.
top a node.
change node's label.
var tree = new Tree();
var node = tree.createNode("index page");
console.log(node.data) // {} 
node.data = {htmlclass:".root"}  // error! because this node onlyread. 
tree.setNodeData({htmlclass:".root"},node.id);  // ok! 
var tree = new Tree();
tree.on("create",function(newID){
    console.log("create a new node.");
})
tree.createNode("about page");
// print 'create a new node.' 
var tree = new Tree();
var node = tree.createNode("my page");
tree.on('change',function(id){
   console.log("a node changed");
})
tree.setNodeData({author:"leo"},node.id);
// print 'a node changed' 
var tree = new Tree();
var node = tree.createNode("my page");
tree.on('remove',function(id){
   console.log("a node removed");
})
tree.remove(node.id);
// print 'a node removed'