Events
JSF form events can be split into two categories:
external - things that are emitted into JSF from outside world (app)
internal - things that are emitted from JSF to outside world (app)
You can listen on external events with schema.$events.listen
keyword.
For JSF to listen to itself there is in JsfBuilder
subject called onAnyEvent
. This subject emits all external and internal events, like onClick emit. You can also emit custom events for you own usage.
Example usage in layout:
rootBuilder.onAnyEvent.subscribe(x => {
if (x.type === 'internal') {
const data = x.internalEvent; // type of JsfFormEventInterface
}
})
You can also manually trigger any event call:
rootBuilder.onAnyEvent.next({ type: 'custom', customEvent: 123 });
Subject interface:
{
type: 'internal' | 'external' | any,
customEvent?: any;
externalEvent?: { key: string, data: any },
internalEvent?: JsfFormEventInterface
}
Last updated
Was this helpful?