---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/dev/jsapi-v2-1/doc/en/llms.txt

# event.Manager

Extends [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md).

Event manager. Using an event manager, you can subscribe to and unsubscribe from events, as well as initiate the events themselves. The manager implements the possibility of building a hierarchy of event propagation using the method event.Manager.setParent.

Event propagation has three phases: 
- 1\. Direct subscribers get events.
- 2\. Objects that are higher up in the hierarchy get events when they are relayed on the parent event manager.
- 3\. Default action handlers get events via a type + 'defaultaction' service event; the default action is performed only if the event's "target" field matches the context for the event manager.

The manager also allows you to specify the priority when adding event handlers. When throwing events, the handlers will be called in order of decreasing priority.

Subscriptions with the same callback and context parameters but different priority settings are considered to be different. When removing subscriptions, you must specify the same priority as was set when it was added.

[Constructor](#constructor-summary) | [Methods](#methods-summary)

## Constructor {#constructor-summary}

```javascript
event.Manager([params])
```

**Parameters:**

#|
|| **Parameter** | **Default value** | **Description**  ||
|| [`params`](#param-params) | — | Type: Object

Parameters of the event manager. ||
|| [`params.context`](#param-params.context) | — | Type: Object

The context object of the event manager. ||
|| [`params.controllers`](#param-params.controllers) | — | Type: [IEventWorkflowController](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventWorkflowController.md)[]

Controller or controllers for the event manager. ||
|| [`params.parent`](#param-params.parent) | — | Type: [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md)

Parent event manager. ||
|#

## Methods {#methods-summary}

#|
|| **Name** | **Returns** | **Description** ||
|| [add](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#add)([types](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#add-param-types), [callback](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#add-param-callback)[, [context](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#add-param-context)[, [priority](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#add-param-priority)]]) | [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md)
| Adds a new subscription.

Inherited from [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#add). ||
|| [createEventObject](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md#createEventObject)([type](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md#createEventObject-param-type), [event](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md#createEventObject-param-event), [target](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md#createEventObject-param-target)) | [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/Event.md)
| Function that creates the event object. Called in the "fire" method when the passed object is not an instance of the Event class or its descendant. ||
|| [fire](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md#fire)([type](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md#fire-param-type)[, [event](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md#fire-param-event)]) | [event.Manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md)
| Fires an event. ||
|| [getParent](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#getParent)() | [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md)\|null
| Returns reference to the parent event manager.

Inherited from [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#getParent). ||
|| [group](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#group)() | [IEventGroup](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventGroup.md)
| Returns the group of event listeners associated with the given event manager.

Inherited from [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#group). ||
|| [once](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#once)([types](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#once-param-types), [callback](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#once-param-callback)[, [context](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#once-param-context)[, [priority](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#once-param-priority)]]) | [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md)
| Adds a listener, which calls the handler function only one time.

Inherited from [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#once). ||
|| [remove](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#remove)([types](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#remove-param-types), [callback](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#remove-param-callback)[, [context](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#remove-param-context)[, [priority](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#remove-param-priority)]]) | [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md)
| Removes an existing subscription.

Inherited from [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md#remove). ||
|| [setParent](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md#setParent)([parent](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md#setParent-param-parent)) | [event.Manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md)
| Sets the parent event manager. ||
|#

## Methods details {#method_detail}

### createEventObject {#createEventObject}

```javascript
{Event} createEventObject(type, event, target)
```

Function that creates the event object. Called in the "fire" method when the passed object is not an instance of the Event class or its descendant.

**Returns** Event object.

**Parameters:**

#|
|| **Parameter** | **Default value** | **Description**  ||
|| [`type`](#createEventObject-param-type)[*](*star) | — | Type: String

Type of event. ||
|| [`event`](#createEventObject-param-event)[*](*star) | — | Type: Object

Object that describes the event. ||
|| [`target`](#createEventObject-param-target)[*](*star) | — | Type: Object

Object that the event occurred on. ||
|#

\* Mandatory parameter/option.

### fire {#fire}

```javascript
{event.Manager} fire(type[, event])
```

Fires an event.

**Returns** self-reference.

**Parameters:**

#|
|| **Parameter** | **Default value** | **Description**  ||
|| [`type`](#fire-param-type)[*](*star) | — | Type: String

Type of event. ||
|| [`event`](#fire-param-event) | — | Type: Object\|[Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/Event.md)

Event. If a hash with data is passed, the createEventObject method will be called for it and further actions will be performed with the newly created event. ||
|#

\* Mandatory parameter/option.

### setParent  {#setParent}

```javascript
{event.Manager} setParent(parent)
```

Sets the parent event manager.

**Returns** self-reference.

**Parameters:**

#|
|| **Parameter** | **Default value** | **Description**  ||
|| [`parent`](#setParent-param-parent)[*](*star) | — | Type: [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md)\|null

Parent event manager. ||
|#

\* Mandatory parameter/option.

[*star]: Mandatory parameter/option.