Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const childrenLookup = {
- ProjectA: [
- {"name":"FOO"},
- {"name":"BAR"},
- {"name":"CAT"},
- {"name":"ProjectB"}
- ],
- ProjectB: [
- {"name":"FOO"},
- {"name":"BAR"},
- {"name":"CAT"},
- {"name":"ProjectA"}
- ]
- }
- const lazyLoadChildren = d => {
- const dynamicChildren = childrenLookup[d.name]
- if (isNotPresent(d.children) && isNotPresent(d._children) && isPresent(dynamicChildren)) {
- d.children = deepCopy(dynamicChildren)
- }
- }
- function expand(d, recurseFlag) {
- if (d._children) {
- d.children = d._children;
- // lazy load all children (collapsed)
- d.children.forEach(x => {
- lazyLoadChildren(x)
- collapse(x)
- })
- if (recurseFlag === true) {
- d._children.forEach(x => expand(x, recurseFlag));
- }
- d._children = null;
- }
- }
Add Comment
Please, Sign In to add comment