API reference
@searsuite/sear-render-event-engine
Hit testing and render-node event propagation.
8 exportsderived from source
- classEventEnginesource ↗
-
class EventEngine<NodeTypeProperties> extends EventListener<string>Coordinates render-context events, hit testing and plugin event dispatch.
constructorconstructor EventEngine<NodeTypeProperties>(scrollManager: ScrollManager, renderContext: RenderContext, stageNode: SceneGraph<NodeTypeProperties>, configEngine: ConfigEngine, eventRenderStrategy: EventRenderStrategy<NodeTypeProperties>, hitRenderStrategy: HitRenderStrategy<NodeTypeProperties>, eventRegistrar: EventRegistrar, coordinates: CoordinateTransformer): EventEngine<NodeTypeProperties>Creates the event engine and installs built-in event strategies.
scrollManager: ScrollManagerrenderContext: RenderContextstageNode: SceneGraph<NodeTypeProperties>configEngine: ConfigEngineeventRenderStrategy: EventRenderStrategy<NodeTypeProperties>hitRenderStrategy: HitRenderStrategy<NodeTypeProperties>eventRegistrar: EventRegistrarcoordinates: CoordinateTransformer
propertyconfigEngine readonly configEngine: ConfigEnginepropertyeventRegistrar readonly eventRegistrar: EventRegistrarpropertyeventRenderStrategy readonly eventRenderStrategy: EventRenderStrategy<NodeTypeProperties>propertyhitRenderStrategy readonly hitRenderStrategy: HitRenderStrategy<NodeTypeProperties>propertyrenderContext readonly renderContext: RenderContextpropertyscrollManager readonly scrollManager: ScrollManagerpropertystageNode readonly stageNode: SceneGraph<NodeTypeProperties>propertysymbolstatic readonly symbol: symbolDI token for resolving the event engine.
methodaddStrategy addStrategy(name: string | Symbol, strategy: RenderStrategy<NodeTypeProperties>): voidRegisters a named render strategy used by event handling.
name: string | Symbolstrategy: RenderStrategy<NodeTypeProperties>
methoddestroy destroy(ownerToken?: object): voidClears plugin handlers so a destroyed sheet cannot react to host events.
ownerToken: object
methodgetStrategy getStrategy(name: string | Symbol): RenderStrategy<NodeTypeProperties> | undefinedReturns a previously registered event render strategy.
name: string | Symbol
methodinitialize initialize(): voidRegisters built-in strategies and attaches render-context listeners.
methodregisterEvent registerEvent<Event>(eventKey: string, handler: (event: Event): void): (): voidRegisters a plugin event handler for a normalized event key.
eventKey: stringhandler: (event: Event): void
methodregisterEventListenersToRenderContext registerEventListenersToRenderContext(): voidAttaches platform event listeners to the underlying render context.
methodrender render(node: Node<NodeTypeProperties>): voidRebuilds the hit layer for the given scene graph.
node: Node<NodeTypeProperties>
methodrenderHitOnNextFrame renderHitOnNextFrame(node: Node<NodeTypeProperties>): voidCoalesces scroll-driven hit refreshes to at most one per animation frame.
node: Node<NodeTypeProperties>
methodrenderImmediate renderImmediate(node: Node<NodeTypeProperties>): voidRender the hit canvas immediately, bypassing the debounce timer.
See HitRenderStrategy.renderImmediate() for details.
node: Node<NodeTypeProperties>
- classEventRegistrarsource ↗
-
class EventRegistrarBase registry for event names supported by one host event adapter.
constructorconstructor EventRegistrar(): EventRegistrarpropertyregisteredEvents registeredEvents: string[]Normalized event names currently registered for dispatch.
propertysymbolstatic readonly symbol: symbolDI token for resolving the event registrar.
methodenforceCommandBoundary enforceCommandBoundary(assertWrite: (): void): voidPublishes a read-only event-name view after editor assembly.
assertWrite: (): void
methodregister register(eventKey: string): voidRegisters an event name after normalizing platform casing.
eventKey: stringEvent name requested by a plugin.
methodunregister unregister(eventKey: string): voidRemoves a registered event name.
eventKey: stringEvent name requested by a plugin.
- classHeadlessEventRegistrarsource ↗
-
class HeadlessEventRegistrar extends EventRegistrarEvent registrar for hosts without a native event source.
constructorconstructor HeadlessEventRegistrar(): HeadlessEventRegistrarpropertysymbolstatic readonly symbol: symbolDI token for resolving HeadlessEventRegistrar.
Inherited members 4
Inherited from EventRegistrar.
- classWebEventRegistrarsource ↗
-
class WebEventRegistrar extends EventRegistrarBrowser event registrar with the built-in mouse event surface enabled.
constructorconstructor WebEventRegistrar(): WebEventRegistrarpropertyregisteredEvents registeredEvents: string[]Normalized mouse events supported by the browser registrar.
Inherited members 4
Inherited from EventRegistrar.
- interfaceEventWithOffsetAndTargetsource ↗
-
interface EventWithOffsetAndTarget<NodeTypeProperties>Plugin event payload enriched with hit-tested scene target.
propertyclickCount clickCount?: numberConsecutive click count for this pointer activation, when known.
propertyorigin origin: EventWithOffsetOriginal host event emitted by the render context.
propertytarget target: Node<NodeTypeProperties> | nullTopmost scene node hit by the event, or null when empty.
- functiongetPluginHandlerNamesource ↗
-
getPluginHandlerName(eventKey: string): stringDerives the plugin handler method name for a given event key. e.g.
mousedown/mouseDown→onMouseDowneventKey: string
- functionnormalizeEventKeysource ↗
-
normalizeEventKey(eventKey: string): stringNormalizes an event key (whether lowercased like
mousedownor camelCased likemouseDown) to its canonical engine identifier (mouseDown).eventKey: string
- interfaceEventWithOffsetsource ↗
-
interface EventWithOffset extends RenderPointerEventHost pointer event carrying offsets in view coordinates.
Host adapters translate their native pointer event into the same offset contract and optionally provide a normalized click count.
propertyclickCount readonly clickCount?: numberConsecutive click count normalized by host adapters when available.
Inherited members 13
Inherited from RenderPointerEvent.
No public exports match that search.