Wiki
Clone wikipf-frontend / App
Использование
App это точка входа в приложение. Инициализирующий класс. Он служит для мэнеджмента юнитов и как сервис локатор.
Инициализация
app = new App
Мэнеджмент юнитов
Загрузка и инициализация, функция loadUnits
app = new App
app.loadUnits(units) # -> $.Defered
Метод передаёт каждый из элементов переданного словаря юнитов в метод @addUnit
, инициализирующий юнит и возвращающий объект $.Defered
.
API предполагает наличие у юнита метода @load
возвращающего объект $.Defered
Схема загрузки и инициализации юнитов
При инициализации юнит получает свойство @app
хранящее фасад представляющий приложение.
unit: ("name") -> # Объект представляющий юнит
service: ("name") -> # Объект представляющий сервис
sid: -> # Идентификатор сессии
userStorage: (key, def) -> # Возвращает функцию текущего пользователя
userOptions: -> # Объект опций текущего пользователя
userTestOption: (option) -> # Проверка опций текущего пользователя
userACL: # Список ключей доступа для текущего пользователя
userTestAcess: (acessKey) -> # Проверка доступа текущего пользователя
userInfo: -> # Информация пользователя
userCompanies: -> # Компании пользователя
Активация
App использует api Manager для управления отображением и активностью юнитов.
Каждый юнит реализует интерфейс Manager.Item
- active Вызывает событие active или устанавливает его обработчик
- activate Определяет поведение активации юнита
- deactivate Определяет поведение деактивации юнита
## Пример активации юнита с параметрами
## Переданные параметры будут переданы в метод activate юнита
app.units.unitName.active options
## Или из юнита через Фасад
unitName.app.unit('unitName').active options
Сервис локатор
Сервис локатор добавлен для удобного доступа к "Сервисам" - сконфигурированным при добавлении расширениям функционала App
## Пример добавления нового сервиса
app.addServise Servise, 'serviseName', options
Updated