@deeds_sa/edrs-notifications-package
v0.0.2
Published
Angular notification library with icon, dialog, and service
Readme
EDRS Notifications Package
This Angular library provides a reusable notification component and service that supports receiving notifications from multiple sources, including the User Authentication Manager (UAM) and the eDRS application.
Features
- Notification icon with unread count badge.
- Notification dialog displaying a list of notifications.
- Supports multiple notification sources via polling.
- Composite service to merge notifications from different sources.
- Configurable polling intervals and sources.
Installation
Install the package from npm:
npm install @deeds_sa/edrs-notifications-packageUsage
Import the NotificationLibModule in your Angular application's root module:
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { NotificationLibModule, NotificationUamService, NotificationEdrsService } from '@deeds_sa/edrs-notifications-package';
@NgModule({
imports: [
HttpClientModule,
NotificationLibModule.forRoot([
new NotificationUamService(httpClient),
new NotificationEdrsService(httpClient)
]),
// other imports
],
bootstrap: [AppComponent]
})
export class AppModule {
constructor(private httpClient: HttpClient) {}
}Components
NotificationIconComponent: Displays the notification bell icon with unread count.NotificationsComponent: Dialog component showing the list of notifications.
Notification Services
NotificationUamService: Fetches notifications from the User Authentication Manager (UAM) backend using polling.NotificationEdrsService: Fetches notifications from the eDRS backend using polling.NotificationCompositeService: Internally used to merge notifications from multiple sources.
Configuration Options
- Polling interval is set to 15 seconds by default in each service; you can modify this in the service code if needed.
- To add more notification sources, implement the
NotificationServiceabstract class and provide your implementation in theforRootmethod.
Extending the Library
You can extend the library by creating new notification services for other sources and adding them to the providers array in forRoot.
Notes
- The library uses polling instead of WebSockets for notification fetching.
- Ensure your backend APIs conform to the expected notification data structure.
This documentation should enable host applications to integrate and configure the notifications package effectively.
