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
Наверх