onDataRequest

срабатывает при запросе динамически загружаемых данных

void onDataRequest(id id, [function callback,string url] );
ididid родительского элемента, чьи элементы должны быть загружены
callbackfunctionфункция-колбэк
urlstringпуть к серверному скрипту, с которого пришел ответ

Example

tree.attachEvent("onDataRequest", function (id, callback, url) {
    // код
});

Related samples

Details

Динамическая загрузка для деревьев запускается для элементов со свойством 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;
});

Для корректной обработки запроса обработчик должен вернуть объект со следующими свойствами:

  • parent - id ветки дерева
  • data - массив записей данных
See also
Наверх
If you have not checked yet, be sure to visit site of our main product Webix web development library and page of javascript tree data structure product.