AboutSupportDeveloper GuideVersion

Namespace for OpenFin event types. Each entity that emits OpenFin events has its own sub-namespace. Event payloads themselves are documented as interfaces, while algebraic helper types and derived types are documented as type aliases.

Event emitters

The following entities emit OpenFin events, and have corresponding sub-namespaces:

These EventEmitter entities share a common set of methods for interacting with the OpenFin event bus, which can be seen on the individual documentation pages for each entity type.

Registering event handlers is an asynchronous operation. It is important to ensure that the returned Promises are awaited to reduce the risk of race conditions.

When the EventEmitter receives an event from the browser process and emits on the renderer, all of the functions attached to that specific event are called synchronously. Any values returned by the called listeners are ignored and will be discarded. If the window document is destroyed by page navigation or reload, its registered event listeners will be removed.

We recommend using Arrow Functions for event listeners to ensure the this scope is consistent with the original function context.

Events re-propagate from smaller/more-local scopes to larger/more-global scopes. For example, an event emitted on a specific view will propagate to the window in which the view is embedded, and then to the application in which the window is running, and finally to the OpenFin runtime itself at the "system" level. For details on propagation semantics, see the namespace for the propagating (or propagated-to) entity.

If you need the payload type for a specific type of event (especially propagated events), use the emitting topic's Payload generic (e.g. Payload) with the event's type string. For example, the payload of a CreatedEvent after it has propagated to its parent Window can be found with WindowEvents.Payload<'view-created'>.