Web SDKv1.0.0

EventEmitter.on()

Subscribe to a typed event. on() returns the unsubscribe; Kernstra.events.on takes the same options as viewer.on.
methodSubscribingsince 1.0.0

Signature

on<K extends keyof T>(event: K, handler: EventHandler<T[K]>, options?: SubscribeOptions): () => void

Parameters

ParameterTypeDescription
eventKAn event name of this emitter's map: GlobalEventMap on Kernstra.events, ViewerEventMap on a viewer.
handlerEventHandler<T[K]>Receives the typed payload. One that throws is logged and does not stop the others.
options?SubscribeOptions{ once?: boolean; signal?: AbortSignal }. once hears the next emit only; signal unsubscribes when the AbortSignal aborts, so one AbortController can end every subscription a component made (a signal already aborted subscribes nothing).

Returns

() => void The unsubscribe.

Example

TypeScript
const stop = viewer.on('pageChanged', ({ pageIndex }) => setCurrentPage(pageIndex));
stop();

const controller = new AbortController();
viewer.on('zoomChanged', ({ scale }) => setZoom(scale), { signal: controller.signal });
viewer.on('documentChanged', () => markDirty(), { signal: controller.signal });
controller.abort(); // both gone

Kernstra.events.on('initialized', ({ version }) => console.log(version), { once: true });

More in EventEmitter