Inspire Tree

Demo: Dynamic Children

When data is a function the tree invokes it when any node with children: true is expanded.

var tree = new InspireTree({
  target: '.tree',
  data: function(node, resolve, reject) {
    var id = node ? : 'root';
    return $.getJSON('a/url?id=' + id));

You can either return a promise (jQuery/$http/Promise/etc) or manually pass results into the resolve function.

Results are cached to avoid redundant calls.