позволяет определить момент, когда операции над данными были сохранены на сервер
handler | function | одна или несколько операций с данными |
promise | результат успешного сохранения всех операций |
webix.ui({
view:"datatable",
save:"/some/path",
// ... другие настройки
});
$$("grid").waitSave(function(){
this.add({
rank:99,
title:"",
year:"2012",
votes:"100"
});
}).then(function(obj){
$$("grid").select(obj.id);
});
this внутри обработчика указывает на компонент данных.
waitSave сработает только если у компонента есть DataProcessor, т.е. если был задан путь к скрипту для сохранения данных на сервер.
Если обработчик содержит одну операцию с данными, промис вернет объект. Например, для операции добавления объект может содержать новый серверный ID для новой записи.
Если обработчик содержит несколько операций с данными, промис возвращает массив объектов для каждой операции над данными:
$$("grid").waitSave(function(){
for (var i = 0; i < 3; i++){
this.add({ rank:99, title:"", year:"2012", votes:"100" });
}
}).then(function(arr){
for (var i = 0; i < arr.length; i++){
$$("grid").select(arr[i].id, i);
}
});
waitSave стабильно работает, если DataProcessor задан для компонента и его настройка autoupdate не изменена.