UNPKG

zombiebox

Version:

ZombieBox is a JavaScript framework for development of Smart TV and STB applications

53 lines (40 loc) 3.68 kB
Layer management === Управлением слоями занимается менеджер слоев (layer manager). Регистрирует слои, которые соответствующим образом обрабатываются. Так, например, при инициализации в нем регистрируются сцены, с помощью метода *addScene.* Глобальный объект приложения предоставляет следующие методы, которые делегируют действия к менеджеру слоев: - _**addScene**_ - регистрирует сцену по указанному имени; - _**show**_ - открывает зарегистрированную сцену по указанному имени, также принимает на вход объект данных, с которым будет вызван метод *preload*; - _**home**_ – открывает домашнюю сцену. Включение слоя в DOM осуществляется при регистрации сцены или вручную, с помощью метода *app.showChildLayer* или *app.showChildLayerInstance,* принимающие конструктор или инстанс слоя соответственно.  В процессе обработки менеджером слоев (layer manager) выполняются методы, дополнением которых можно проконтролировать процесс обработки слоя: - _**preload**_ - принимает объект данных и возвращает promise. Вызывается перед показом слоя. Показ сцены осуществится только когда promise разрешится. Используется, когда слою требуются внешние данные, нередко подгружаемые асинхронным запросом. <!-- --> - _**update**_ (надо проверить) - принимает снэпшот (snapshot) и объект данных из истории переходов, возвращает promise. Вызывается при перемещении назад по истории переходов. Показ сцены осуществится только когда promise разрешится. Используется, когда нужно обновить данные, хранящиеся в истории переходов.  - _**beforeDOMShow**_ - принимает снэпшот и объект данных.  Вызывается после preload, но перед тем, как показать слой. Вызывает *beforeDOMShow* для всех своих виджетов; - _**afterDOMShow**_ - принимает снэпшот и объект данных. Вызывается после показа слоя. Вызывает *afterDOMShow* для всех своих виджетов. При наличии снэпшота загружает его, в противном случае активирует виджет по умолчанию (если такой установлен); - _**beforeDOMHide**_ - вызывается перед скрытием слоя. Вызывает *beforeDOMHide *для всех своих виджетов; - _**afterDOMHide**_ - вызывается после скрытия слоя. Вызывает *afterDOMHide *для всех своих виджетов;