registerEventListener(
event: string,
registerType: number,
penUpListener: PluginEventListener
): PluginEventSubscription;
| Parameter | Type | Description |
|---|---|---|
event | string | Event type (currently only event_pen_up is supported) |
registerType | number | Registration 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). |
penUpListener | PluginEventListener | Event 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. |
PluginEventSubscription: subscription object. Callingremove()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;
}