Skip to main content
registerEventListener(
 event: string,
 registerType: number,
 penUpListener: PluginEventListener
): PluginEventSubscription;
Parameters
ParameterTypeDescription
eventstringEvent type (currently only event_pen_up is supported)
registerTypenumberRegistration priority: 0 always first, 1 normal order, 2 always last. When multiple plugins register the same event, plugins are ordered by registration, and the priority affects placement (0 first, 2 last).
penUpListenerPluginEventListenerEvent callback object that implements onMsg(msg).
The msg structure depends on the event type.
When event is event_pen_up, msg is an array of Element.
Returns
  • PluginEventSubscription: subscription object. Calling remove() unregisters the event and removes the local subscription.

Example

import { PluginManager, type Element } from 'sn-plugin-lib';

/**
 * Example: register a pen-up event listener.
 * The `msg` of `event_pen_up` is `Element[]`.
 */
export async function exampleRegisterEventListener() {
 const sub = PluginManager.registerEventListener('event_pen_up', 1, {
 onMsg(msg) {
 const elements = msg as Element[];
 console.log('pen_up elements length:', elements.length);
 console.log('first element uuid:', elements[0]?.uuid);
 },
 });
 return sub;
}