Модуль UIManager позволяет сохранять и восстанавливать только внешние параметры компонента (ширину, высоту и другие). За внутренние параметры (выбор элемента, положение скролла и другие) отвечает модуль DataState.
Этот модуль позволяет сохранять и восстанавливать состояние внутренних параметров (скролл, сортировка, фильтрация и другие) для следующих компонентов данных:
Компонент Datatable позволяет сохранять (а также извлекать) состояние в Local Storage, Session Storage или Cookie.
Объект состояния будет содержать текущие параметры таблицы:
{
"ids":["title","year","votes"],
"size":[-1,80,100],
"select":[{ "row":5,"column":"title","id":5}],
"scroll":{"x":0,"y":77},
"order":["rank","title","year","votes"],
"sort":{"id":"votes","dir":"asc"},
"filter":{"title":"o","year":"19"},
"hidden":["rank"]
}
Получаем состояние и сохраняем его в Local Storage
var state = grid.getState();
//сохраняем состояние в Local Storage
webix.storage.local.put("state", state);
Восстанавливаем состояние, сохраненное в Local Storage
var state = webix.storage.local.get("state");
if (state)
grid.setState(state);
Related sample: DataTable State Object: Session
Компонент Treetable позволяет сохранять (а также извлекать) состояние в Local Storage, Session Storage или Cookie.
Объект состояния будет содержать текущие параметры компонента:
{
"ids":["value","type"],
"size":[-1,80],
"select":[{"row":"v_0_1","column":"value","id":"v_0_1"}],
"scroll":{"x":0,"y":51},
"order":["id","value","type"],
"sort":{"id":"value","dir":"desc"},
"filter":{"value":"e","type":"f"},
"hidden":["id"],
"open":["3","m_3","v_0"]
}
Получаем состояние и сохраняем его в Local Storage
var state = grid.getState();
webix.storage.local.put("treetable_state", state);
Восстанавливаем состояние, сохраненное в Local Storage
var state = webix.storage.local.get("treetable_state");
if (state)
grid.setState(state);
Related sample: Treetable: Saving and Restoring State
Компонент Tree позволяет сохранять (а также извлекать) состояние в Local Storage, Session Storage или Cookie.
Объект состояния будет содержать текущие данные о развернутых и выбранных элементах дерева:
{
open:['1', '2', 'root'],
select:['1.3']
}
где '1', '2', 'root' и '1.3' - это id соответствующих элементов.
Получаем состояние и сохраняем его в Local Storage
var state = $$("tree").getState();
webix.storage.local.put("state", state);
Восстанавливаем состояние, сохраненное в Local Storage
var state = webix.storage.local.get("state");
if (state)
$$("tree").setState(state);
Related sample: Tree: Saving State
Наверх