Since Narik is a module framework, you sometimes need to handle events from one module in another module. Narik Event Aggregator Service helps you to do that easily.
/** * Event aggregator service * A service that manage events inside application. */exportabstractclassEventAggregatorService {/** * Publish event aggregator service * @param eventType eventType * @param eventArgs event argument */abstractpublish(eventType:any, eventArgs:any);/** * Listens event aggregator service * @param eventType eventType * @returns an `Observable` that emit whenever event occurs. */abstractlisten<T>(eventType:any):Observable<T>;}
It has two methods. One for listen and another for publishing. For example, you may listen for "MODULE_LOAD_COMPLETELY" event to do something when one module loads completely.
Narik Event Aggregator Service use one subject for each event type. If you specify event's attributes in metadata, Event Aggregator Service uses them, otherwise uses simple subject.