Available only in PRO Edition

Работа с состоянием приложения

Модуль UIManager позволяет сохранять и восстанавливать текущее состояние компонента (его общую структуру) с помощью следующих методов:

  • getState() - возвращает текущее состояние приложения
  • setState() - восстанавливает состояние приложения.

Данные о состоянии приложения могут храниться в базе данных, Local Storage или Session Storage. Для работы с хранилищами предусмотрен специальный интерфейс.

Состояние каждого компонента приложения включено в объект состояния всего приложения, и содержит следующие данные:

{
    id:"main", 
    width:500, 
    height:400, 
    gravity:1 
}

Состояние компонента, у которого есть вкладки, панели или ячейки, должно содержать дополнительные свойства:

{
    collapsed:"tab1", //развернутая панель
    activeCell:"tab2" //активная вкладка
}

Как получить и сохранить состояние

Метод getState() у модуля UIManager возвращает общую структуру приложения (ID, width, height, gravity и другие настройки). Метод принимает два параметра:

  • id (string, number) - ID компонента (как правило, ID самого верхнего компонента или лейаута)
  • children (boolean) - определяет вложенность состояния. Если true, то будут учитываться состояния потомков. По умолчанию false.

Вы можете сохранить текущее состояние (например в Local Storage) под определенным именем (ключом).

webix.attachEvent("unload", function(){
    webix.storage.local.put("stateApp", webix.UIManager.getState("main", true));
});

Как восстановить состояние

Для того чтобы восстановить состояние приложения, нужно:

  • извлечь состояние из хранилища (например Local Storage), в котором оно хранится под определенным названием (ключом).
var stateApp = webix.storage.local.get("stateApp");
  • вызвать метод setState() у модуля UIManager, передав состояние в качестве параметра.
if(stateApp)
   webix.UIManager.setState(stateApp);

Related sample:  Application State: Session

Наверх