UNPKG

angular4-events

Version:

Events is a publish-subscribe style event system based on sqlProvider/angular2-pubsub

105 lines (81 loc) 2.96 kB
# Events Service for Angular Events is a publish-subscribe style event system based on [sqlProvider/angular2-pubsub](https://github.com/sqlProvider/angular2-pubsub) and modified to be similar to ionic-angular/Events. ## Usage - Import service in your codes or download via npm. - Angular 4: `npm install --save angular4-events@4.0.1` - Angular 5: `npm install --save angular4-events@5.0.0` - Angular 6: `npm install --save angular4-events@5.0.2` - Angular 8: `npm install --save angular4-events@8.0.0` - Angular 10: `npm install --save angular4-events@10.0.1` - Angular 11: `npm install --save angular4-events@11.0.1` - :warning: Version 5.0.1 is incompatible with Angular 5 and should have been version 6.0.0. - Add module bundle to imports in your application. ```typescript ... import { EventsModule } from 'angular4-events'; @NgModule({ declarations: [ ... ], imports: [ ... EventsModule.forRoot() ] }) ... ``` - And import service wherever you want ## Documentation #### Class Overview ```typescript declare class EventsService { private events: Object; publish(event: string, eventObject?: any): void; subscribe(): undefined; subscribe(event: string): Observable<any>; subscribe(event: string, callback: (value: any) => void): Subscription; subscribe(event: string, callback: (value: any) => void, error: (error: any) => void): Subscription; subscribe(event: string, callback: (value: any) => void, error: (error: any) => void, complete: () => void): Subscription; } ``` #### EventsService.publish(event: string, eventObject?: any): void Publish event to all subscriber. etc. ```typescript export class OverlayComponent implements OnInit, OnDestroy { constructor(private events: EventsService) { } anyFunc(){ this.events.publish('pleaseCloseSidenav', 'helloIAmOverlay'); } } ``` #### EventsService.subscribe(event: string): Observable<any> Subscribe to channel. etc. ```typescript export class NavigationComponent implements OnInit, OnDestroy { sideanvSub: any; constructor(private pubsub: EventsService) { } ngOnInit() { // usage of subscribe(event: string): <Observable<any>>; this.closeSidenavSub = this.pubsub.subscribe('pleaseCloseSidenav').subscribe((from) => { this.sidenavOpened = false; }); // usage of subscribe(event: string, callback: (value: any) => void, error?: (error: any) => void, complete?: () => void): Subscription; this.openSidenavSub = this.pubsub.subscribe('pleaseOpenSidenav', (from) => { this.sidenavOpened = true; }); } ngOnDestroy() { this.closeSidenavSub.unsubscribe(); this.openSidenavSub.unsubscribe(); } ``` ## Build the source Follow the steps to run the tests and build the source code. ```sh npm install npm test npm run build ``` Commands above will generate the ready to use bundles under the `./dist` folder.