tree-data
tree data structure for javascript.
install for node
npm install node-tree-data
install for component
component install brighthas/tree-data
API
new Tree(id)
var tree = ; // if no id , auto create a id.var two_tree = "id-002";
tree.json / tree.reborn(json) / Tree.json2obj(json)
var treeData = tree; treeDataidtreeDatarootIds // top node's id, Array.treeDatanodes // all nodes , look [about node object] var tree2 = ;tree2; // clone tree1 data to -> tree2 var tree3 = Tree; // json data to tree obj.
tree.createNode(label,parentId)
var root1 = tree; // create root node .var root2 = tree;var node1 = tree; // create child node for root2.var node2 = tree;
tree.getNode(nodeId)
var node = tree;
about node object
var node = tree;nodeparent // is parent node's id.nodeidnodelist // is child's ids , Array.nodelabel // label name , see tree.createNode(label).
tree.getChildIds(parentId)
var root_ids = tree; // null argumets , get root node ids.var childs_ids = tree // get root2's child node ids.
tree.getChilds(parentId)
var roots = tree; // null argumets , get root nodes.var childs = tree // get root2's child nodes.
tree.move(target,nodeId)
move nodeId's node to targetId's node.
tree; // move node2 to root1.
tree.remove(nodeId)
tree // remove node2 from tree.
tree.isSameRoot(nodeId1,nodeId2)
tree.isRoot(nodeId)
tree.getJoinId(nodeId1,nodeId2)
tree.id
tree.up(nodeId)
move up a node.
tree.down(nodeId)
move down a node.
tree.top(nodeId)
top a node.
tree.changeNodeLabel(label,nodeId)
change node's label.
tree.setNodeData(data,nodeId)
var tree = ;var node = tree;console // {}nodedata = htmlclass:".root" // error! because this node onlyread.tree; // ok!
Event
'create' event.
var tree = ;treetree;// print 'create a new node.'
'change' event.
var tree = ;var node = tree;treetree;// print 'a node changed'
'remove' event.
var tree = ;var node = tree;treetree;// print 'a node removed'