class MyWidget extends S.Widget {
constructor(w: S.WidgetInfo) {
super(w)
this.sendEvent("load")
}
}
To receive events the class must expose a public method onEvent:
class MyWidget extends S.Widget {
constructor(w: S.WidgetInfo) {
super(w)
}
onEvent(event: S.WidgetEvent) {
switch (event.name) {
case "load":
// do stuff
return;
}
}
}
The event object:
export interface WidgetEvent {
name: string
source: Widget
asrgs?: any
}
To make a widget listen to events in the declaration file:
"listeners": {
"urlChange": "onURLChange"
},