An array to tree generator utility.
Install
$ npm install treeish
Usage
Building the tree
; const collection = id: '3' name: 'C' x: '1' selected: true type: 'campaign' id: '6' name: 'F' x: '3' selected: true type: 'adset' id: '1' name: 'A' selected: true type: 'mediaplan' id: '2' name: 'B' selected: true type: 'mediaplan' id: '7' name: 'G' x: '4' selected: true type: 'adset' id: '4' name: 'D' x: '1' selected: true type: 'campaign' id: '5' name: 'E' x: '2' selected: true type: 'campaign' id: '8' name: 'G' x: '6' selected: true type: 'ad' id: '9' name: 'H' x: '6' selected: true type: 'ad' id: '10' name: 'I' x: '7' selected: true type: 'ad' id: '11' name: 'J' x: '7' selected: true type: 'ad' ;const treeUtil = collection parentId: 'x' ; //parentId key is 'x'
Tree utility functions
const node = treeUtil // returns the node with ID 2const nodes = treeUtil/* nodes will contain * [* { id: '3', name: 'C', x: '1', selected: true, type: 'campaign' },* { id: '4', name: 'D', x: '1', selected: true, type: 'campaign' },* { id: '5', name: 'E', x: '2', selected: true, type: 'campaign' }* ]*/ const nestedNodes = treeUtil;/* nestedNodes will contain * [* { id: '5', name: 'E', x: '2', selected: true, type: 'campaign' }* ]*/ const depth = treeUtil; //depth is 4 treeUtil//will update all children of the second child of the root (node id: 2)
TODOs
- Add node creation and removal functionalities