event.Manager

Расширяет IEventManager.

Менеджер событий. При помощи менеджера событий можно подписываться на события и отписываться от них, а также инициировать сами события. Менеджер реализует возможность построения иерархии распространения событий с помощью метода event.Manager.setParent.

Распространение события происходит в три фазы:
  • 1. Событие получают непосредственные подписчики;
  • 2. Событие получают вышестоящие в иерархии объекты посредством перебрасывания события на родительском менеджере событий;
  • 3. Событие получают обработчики действия по умолчанию посредством служебного события type + 'defaultaction'; действие по умолчанию выполняется, только если поле target события совпадает с контекстом менеджера событий.

Также менеджер позволяет добавлять обработчики событий с указанием приоритета. При бросании событий обработчики будут вызваны в порядке убывания приоритета.

Подписки с одинаковыми параметрами callback, context, но с разными приоритетами считаются разными. При удалении подписки необходимо указывать тот же приоритет, что и при добавлении.

Конструктор | Методы

Конструктор

event.Manager([params])

Параметры:

Параметр Значение по умолчанию Описание
params

Тип: Object

Параметры менеджера событий.

params.context

Тип: Object

Контекстный объект менеджера событий.

params.controllers

Тип: IEventWorkflowController[]

Контроллер или контроллеры менеджера событий.

params.parent

Тип: IEventManager

Родительский менеджер событий.

Методы

Имя Возвращает Описание
add(types, callback[, context[, priority]])

IEventManager

Добавляет новую подписку.

Унаследован от IEventManager.

createEventObject(type, event, target)

Event

Функция, которая создает объект-событие. Вызывается в методе fire, когда переданный объект не является экземпляром класса Event или его наследником.

fire(type[, event])

event.Manager

Бросает событие.

getParent()

IEventManager|null

Возвращает ссылку на родительский менеджер событий.

Унаследован от IEventManager.

group()

IEventGroup

Возвращает группу слушателей событий, ассоциированную с данным менеджером событий.

Унаследован от IEventManager.

once(types, callback[, context[, priority]])

IEventManager

Добавляет слушателя, который вызовет функцию-обработчик только 1 раз.

Унаследован от IEventManager.

remove(types, callback[, context[, priority]])

IEventManager

Удаляет существующую подписку.

Унаследован от IEventManager.

setParent(parent)

event.Manager

Устанавливает родительский менеджер событий.

Описание методов

createEventObject

{Event} createEventObject(type, event, target)

Функция, которая создает объект-событие. Вызывается в методе fire, когда переданный объект не является экземпляром класса Event или его наследником.

Возвращает объект-событие.

Параметры:

Параметр Значение по умолчанию Описание
type *

Тип: String

Тип события.

event *

Тип: Object

Объект, описывающий событие.

target *

Тип: Object

Объект, на котором произошло событие.

* Обязательный параметр/опция.

fire

Бросает событие.

Возвращает ссылку на себя.

Параметры:

Параметр Значение по умолчанию Описание
type *

Тип: String

Тип события.

event

Тип: Object|Event

Событие. Если передан хэш с данными, то для него будет вызван метод createEventObject, и дальнейшие действия будут производиться с новым созданным событием.

* Обязательный параметр/опция.

setParent

{event.Manager} setParent(parent)

Устанавливает родительский менеджер событий.

Возвращает ссылку на себя.

Параметры:

Параметр Значение по умолчанию Описание
parent *

Тип: IEventManager|null

Родительский менеджер событий.

* Обязательный параметр/опция.