Следующее дерево будет создано с использованием https://www.jstree.com/,, а узлы , выделенные полужирным шрифтом , представляют собой узлы, когда щелчок инициирует запрос ajax и будет заполнен дочерними элементами.
Запросы ajaxоднако конечные точки будут отличаться в зависимости от типа выбранного узла (например, parentNode, arrayList или subNode).Как можно использовать разные конечные точки url для разных узлов jsTree?
- parentNode1
- parentNode2
- parentNode3
- property3.1
- property3.2
- property3.3
- arrayList3
- subNodeProperty3.3.1
- subNodeProperty3.3.2
- subNodeProperty3.3.3
- subNode3.3
- subSubNodeProperty3.3.1
- subSubNodeProperty3.3.2
- subSubNodeProperty3.3.3
Я думаю о чем-то вроде следующего,но прежде чем продолжить, хотел бы знать, иду ли я по правильному пути или нет.
$('#object-browser').jstree({
'core' : {
'data' : function (node, cb) {
switch(node.parents.length) {
case 0:
var url='/nodes/parentNodes';
break;
case 1:
var url='/nodes/arrayList';
break;
case 2:
var url='/nodes/subNodes';
break;
default:
throw 'Node depth of '+node.parents.length+' is not supported';
}
$.ajax({
type: "GET",
url: url,
dataType: 'json',
success: function(response){
cb(response)
},
error: function(jqXHR, status, err) {
console.log(jqXHR, status, err)
}
});
}
}
});