event.Manager
Расширяет IEventManager.
Менеджер событий. При помощи менеджера событий можно подписываться на события и отписываться от них, а также инициировать сами события. Менеджер реализует возможность построения иерархии распространения событий с помощью метода event.Manager.setParent.
Распространение события происходит в три фазы:
- \1. Событие получают непосредственные подписчики;
- \2. Событие получают вышестоящие в иерархии объекты посредством перебрасывания события на родительском менеджере событий;
- \3. Событие получают обработчики действия по умолчанию посредством служебного события type + 'defaultaction'; действие по умолчанию выполняется, только если поле target события совпадает с контекстом менеджера событий.
Также менеджер позволяет добавлять обработчики событий с указанием приоритета. При бросании событий обработчики будут вызваны в порядке убывания приоритета.
Подписки с одинаковыми параметрами callback, context, но с разными приоритетами считаются разными. При удалении подписки необходимо указывать тот же приоритет, что и при добавлении.
Конструктор
event.Manager([params])
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Object Параметры менеджера событий. |
|
— |
Тип: Object Контекстный объект менеджера событий. |
|
— |
Тип: IEventWorkflowController[] Контроллер или контроллеры менеджера событий. |
|
— |
Тип: IEventManager Родительский менеджер событий. |
Методы
Имя |
Возвращает |
Описание |
Добавляет новую подписку. Унаследован от IEventManager. |
||
Функция, которая создает объект-событие. Вызывается в методе fire, когда переданный объект не является экземпляром класса Event или его наследником. |
||
Бросает событие. |
||
IEventManager|null |
Возвращает ссылку на родительский менеджер событий. Унаследован от IEventManager. |
|
group() |
Возвращает группу слушателей событий, ассоциированную с данным менеджером событий. Унаследован от IEventManager. |
|
Добавляет слушателя, который вызовет функцию-обработчик только 1 раз. Унаследован от IEventManager. |
||
Удаляет существующую подписку. Унаследован от IEventManager. |
||
Устанавливает родительский менеджер событий. |
Описание методов
createEventObject
{Event} createEventObject(type, event, target)
Функция, которая создает объект-событие. Вызывается в методе fire, когда переданный объект не является экземпляром класса Event или его наследником.
Возвращает объект-событие.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: String Тип события. |
— |
Тип: Object Объект, описывающий событие. |
|
— |
Тип: Object Объект, на котором произошло событие. |
* Обязательный параметр/опция.
fire
{event.Manager} fire(type[, event])
Бросает событие.
Возвращает ссылку на себя.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: String Тип события. |
— |
Тип: Object|Event Событие. Если передан хэш с данными, то для него будет вызван метод createEventObject, и дальнейшие действия будут производиться с новым созданным событием. |
* Обязательный параметр/опция.
setParent
{event.Manager} setParent(parent)
Устанавливает родительский менеджер событий.
Возвращает ссылку на себя.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: IEventManager|null Родительский менеджер событий. |
* Обязательный параметр/опция.
Обязательный параметр.