Guest User

Untitled

a guest
Oct 24th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. const childrenLookup = {
  2. ProjectA: [
  3. {"name":"FOO"},
  4. {"name":"BAR"},
  5. {"name":"CAT"},
  6. {"name":"ProjectB"}
  7. ],
  8. ProjectB: [
  9. {"name":"FOO"},
  10. {"name":"BAR"},
  11. {"name":"CAT"},
  12. {"name":"ProjectA"}
  13. ]
  14. }
  15.  
  16. const lazyLoadChildren = d => {
  17. const dynamicChildren = childrenLookup[d.name]
  18. if (isNotPresent(d.children) && isNotPresent(d._children) && isPresent(dynamicChildren)) {
  19. d.children = deepCopy(dynamicChildren)
  20. }
  21. }
  22.  
  23. function expand(d, recurseFlag) {
  24. if (d._children) {
  25. d.children = d._children;
  26. // lazy load all children (collapsed)
  27. d.children.forEach(x => {
  28. lazyLoadChildren(x)
  29. collapse(x)
  30. })
  31. if (recurseFlag === true) {
  32. d._children.forEach(x => expand(x, recurseFlag));
  33. }
  34. d._children = null;
  35. }
  36. }
Add Comment
Please, Sign In to add comment