# engine/view/observer/bubblingemittermixin

module

<a id="interfaces">

## Interfaces

<a id="interface-BubblingCallbackOptions">

### `BubblingCallbackOptions`

<a id="type-definitions">

## Type Definitions

<a id="typedef-BubblingEmitter">

### `BubblingEmitter`

<a id="typedef-BubblingEmitterMixinConstructor">

### `BubblingEmitterMixinConstructor`

<a id="typedef-BubblingEvent">

### `BubblingEvent`

<a id="typedef-BubblingEventContextFunction">

### `BubblingEventContextFunction`

<a id="functions">

## Functions

<a id="function-BubblingEmitterMixin">

### `BubblingEmitterMixin( base ) → BubblingEmitterMixinConstructor<Base>`

Bubbling emitter mixin for the view document as described in the [`BubblingEmitter`](module_engine_view_observer_bubblingemittermixin-BubblingEmitter.md) interface.

This function creates a class that inherits from the provided `base` and implements `Emitter` interface. The base class must implement [`Emitter`](module_utils_emittermixin-Emitter.md) interface.

```typescript
class BaseClass extends EmitterMixin() {
	// ...
}

class MyClass extends BubblingEmitterMixin( BaseClass ) {
	// This class derives from `BaseClass` and implements the `BubblingEmitter` interface.
}
```

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-engine/src/view/observer/bubblingemittermixin.ts#L63)

#### Type parameters

* `Base: extends Constructor<Emitter>`

#### Parameters

* `base: Base`

#### Returns

* `BubblingEmitterMixinConstructor<Base>`

---

Full index of the CKEditor 5 API reference: [llms.txt](llms.txt)
