jstree с плагином поиска и массовой загрузки ajax
Я пытаюсь заставить плагин massload работать с моей конфигурацией jstree. Узлы построены как Country->City->Site->Product->License
, Когда дерево загружается изначально, загружаются только узлы верхнего уровня (в моем случае Страны). Когда пользователь расширяет узел, дочерние элементы загружаются с использованием ajax. У меня есть окно поиска, которое ищет в дереве, это работает, но оно совпадает только на узлах, которые уже загружены. Я хотел бы, чтобы это работало на всех узлах уровня сайта, загруженных или нет.
Поисковый вызов ajax возвращает список идентификаторов сайтов, который передается плагину massload. Это вызывает LazyLoad
метод с правильными идентификаторами. Чего я не могу понять, так это что ответить в ответ на вызов массовой загрузки. В соответствии с этим, он должен принять форму
{
"id1" : { "id" : node_id_of_child1, "text" : "child2", "id" : node_id_of_child2, "text" : "child2" },
"id2" : { ... node data ...}
}
Где id1 и id2 соответствуют идентификаторам узлов из поиска.
Но когда я это делаю, узлы не добавляются в дерево, и поисковый термин совпадает только с уже загруженными узлами.
Это моя jstree конфигурация
$('#tree').jstree({
core: {
data: {
url: '@Url.Action("Nodes", "Home")',
data: function (node) {
if (node.id === '#')
return {
nodeType: 'root'
};
else
return {
nodeType: node.data.type,
nodeValue: node.data.value
};
},
type: 'POST'
}
},
plugins: ["massload", "search"],
search: {
"show_only_matches": true,
ajax: {
url: '@Url.Action("Search", "Sites")',
type: 'POST'
}
},
massload: {
url: '@Url.Action("LazyLoader", "Home")',
data: function (nodes) {
return { "ids": nodes.join(",") };
},
type: 'POST'
},
themes: {
"theme": "default",
"dots": false,
icons: true
}
});
Вопросы: - Правильный ли формат ответа на вызов ajax массовой загрузки? - Каково действие плагина массовой загрузки на основе этого ответа? Должен ли он пытаться загрузить узлы в ответе таким же образом (то есть, используя тот же самый ajax-вызов), узлы загружаются, когда пользователь запрашивает их?