срабатывает при запросе динамически загружаемых данных
id | id | id родительского элемента, чьи элементы должны быть загружены |
callback | function | функция-колбэк |
url | string | путь к серверному скрипту, с которого пришел ответ |
tree.attachEvent("onDataRequest", function (id, callback, url) {
// код
});
Динамическая загрузка для деревьев запускается для элементов со свойством webix_kids. Когда эти элементы раскрываются, автоматически вызывается метод loadBranch. Компонент будет использовать источник данных,
указанный в свойстве url, либо в
параметре url
, переданном в метод load.
Обратите внимание, что во время начальной загрузки данные возвращаются с набором свойств webix_kids (см. сниппеты по ссылкам):
{ id: 1, value: "Branch 1", webix_kids: true }
Чтобы изменить логику загрузки данных по умолчанию, добавьте обработчик событию onDataRequest:
tree.attachEvent("onDataRequest", function (id, callback, url) {
this.parse(
webix.ajax().get("data/data_dyn_json.php?parent=" + id).then(function (data) {
//{ parent: id, data:[ ... ]}
return data.json();
})
);
// отменяет поведение по умолчанию
return false;
});
Для корректной обработки запроса обработчик должен вернуть объект со следующими свойствами: