自定义 Kendo UI Treeview 构造

Custom Kendo UI Treeview construction

我想构建一个显示整个系统全局视图的混合树。 该系统是一个内容管理系统,但它还有其他功能,可以在构成我的全局 API.

的 "collection of OData contexts" 中进行管理

所以我想弄清楚如何制作一种分层数据源,该数据源可以根据节点类型和少量动态模型元数据与不同的 URL 一起使用。

例如...

我的框架中有 API 个函数,可以让我做...

my.api.get("Context/Type", function(odataCollectionResult) {
     ...
});

我也知道 Kendo UI 支持做类似...

var viewModel = new kendo.data.HierarchicalDataSource({ 
   type:'odata-v4',
   ...
});

$("#tree").kendoTreeview({ dataSource: viewModel ... });

...但我的问题是...

如何设置 kendo 树视图,以便绑定到调用我的自定义展开和折叠函数的自定义数据源,以便我可以根据我所知道的关于我的节点代表什么的更复杂的事情做出决策?

我需要这样做,因为根据节点类型,它的子节点将来自不同的端点,所以我不能只使用 OData 数据源。

我正在尝试做类似的事情,但我似乎无法让它工作...

var viewModel = {
     data: [],
     expand: function(node) {
          var myParams = { endpoint: "Context/Type", childNodeType: "Foo/Bar" };
          my.api.get(myParams.endpoint, function(data) {
              node.data.children = buildNodes(myParams.childNodetype, data);
          });
     },
     collapse: function(node) {
         ...
     }
   }
}

$("#myTree").kendoTreeview({ 
    dataSource: viewModel, 
    events: { onExpand: viewModel.expand, onCollapse: viewModel.collapse } 
});

有没有人做过这个或者对我如何让它工作有一些建议?

好吧,我现在意识到这个问题的愚蠢,因为我不知何故设法找不到这个...

http://demos.telerik.com/kendo-ui/treeview/events

...我想我现在已经具备了执行此操作所需的所有组件。