lp-tree-node

0.1.0 • Public • Published

lp-tree-node

A node structure extends from d3-node

APIs

append (node: Node) => this: Node

Append a new Node or SubTree to this

var Node = require('lp-tree-node');
var data1 = [
  {"name": "Eve"},
  {"name": "Cain",  "parent": "Eve"},
  {"name": "Seth",  "parent": "Eve"},
  {"name": "Enos",  "parent": "Seth"},
  {"name": "Noam",  "parent": "Seth"},
  {"name": "Abel",  "parent": "Eve"},
  {"name": "Awan",  "parent": "Eve"},
  {"name": "Enoch", "parent": "Awan"},
  {"name": "Azura", "parent": "Eve"}
];
var data2 = [
  {"id": "Evan"},
  {"id": "Yoo", "parentId": "Evan"},
  {"id": "Yuka", "parentId": "Evan"}
];
var rootTree = Node.createTree()
    .id(d => d.name) // define how to get [id] from data (default data.id)
    .parentId(d => d.parent) // define how to get [parentId] from data (default data.parentId)
    .create(data1); // bind data
 
var subTree = Node.createTree()
    .create(data2);
 
var targetNode = rootTree.findBefore(d => d.id === 'Azura'); // get the parent node
targetNode.append(subTree); // append the [subTree] to [targetNode]

Notice:

  • After the operation, all nodes in the root tree will update. (renew height, depth, value fields)

remove () => this: Node

Remove a Node from its parent

findBefore (exp: (node: Node) => boolean): Node

Get the first Node which make exp to be true in pre-order traversal

findAfter (exp: (node: Node) => boolean): Node

Get the first Node which make exp to be true in post-order traversal

Readme

Keywords

Package Sidebar

Install

npm i lp-tree-node

Weekly Downloads

6

Version

0.1.0

License

ISC

Last publish

Collaborators

  • pegasusknight