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

Dependencies (0)

    Dev Dependencies (4)

    Package Sidebar

    Install

    npm i lp-tree-node

    Weekly Downloads

    2

    Version

    0.1.0

    License

    ISC

    Last publish

    Collaborators

    • pegasusknight