UNPKG

@deephaven/golden-layout

Version:

A multi-screen javascript Layout manager

55 lines 1.67 kB
import type LayoutManager from '../LayoutManager'; import EventEmitter from './EventEmitter'; /** * An EventEmitter singleton that propagates events * across multiple windows. This is a little bit trickier since * windows are allowed to open childWindows in their own right * * This means that we deal with a tree of windows. Hence the rules for event propagation are: * * - Propagate events from this layout to both parents and children * - Propagate events from parent to this and children * - Propagate events from children to the other children (but not the emitting one) and the parent */ declare class EventHub extends EventEmitter { private _layoutManager; private _dontPropagateToParent; private _childEventSource; private _boundOnEventFromChild; constructor(layoutManager: LayoutManager); /** * Called on every event emitted on this eventHub, regardles of origin. */ private _onEventFromThis; /** * Called by the parent layout. * * @param args Event name + arguments */ private _$onEventFromParent; /** * Callback for child events raised on the window * * @param event */ private _onEventFromChild; /** * Propagates the event to the parent by emitting * it on the parent's DOM window * * @param args Event name + arguments */ private _propagateToParent; /** * Propagate events to children * * @param args Event name + arguments */ private _propagateToChildren; /** * Destroys the EventHub */ destroy(): void; } export default EventHub; //# sourceMappingURL=EventHub.d.ts.map