Отмена действий в компонентах

Вы можете добавить возможность отменить какое-либо действие, что позволит вернутся к предыдущим изменениям, если сервер вернёт ошибку.

Операцию "undo" (отмена последнего действия) можно применить к любому компоненту на основе DataStore.

Чтобы разрешить отмену действия, укажите параметр true свойству undo в конфигурации компонента. Вы можете установить лимит количества операций отмены с помощью undoLimit:

webix.ui({
    view:"list",
    id:"mylist",
    template:"#title#", 
    data:dataset,
    undo:true,
    undoLimit:40
});

API операции включает в себя три метода:

  • undo - возвращает прежние изменения компонента.
$$("mylist").undo();

Related sample:  Undo

Допустим, если вы добавили элемент в компонент, затем изменили его и решили удалить, вызовите метод undo() и он отменит только результат операции по удалению.

Если вы хотите отменить все действия, связанные с элементом и вернуть его в изначальное состояние, передайте ID этого элемента в метод undo().

  • removeUndo - очищает историю всех операций над элементом.
$$("mylist").removeUndo(id);

Метод принимает ID элемента в качестве параметра.

  • ignoreUndo - вызывает функцию, которая не будет добавлена в историю изменений. Метод полезен, если вы не хотите, чтобы какие-либо изменения в дальнейшем отменялись методом undo().
$$("mylist").ignoreUndo(function(){
    $$("mylist").addItem({...});
});

Метод ignoreUndo() принимает функцию, действия которой нельзя будет отменить.

Наверх