aboutsummaryrefslogtreecommitdiffstats
path: root/src/angular/notifications/services/notifications.service.ts
diff options
context:
space:
mode:
authorMichael Lando <ml636r@att.com>2018-05-21 20:19:48 +0000
committerGerrit Code Review <gerrit@onap.org>2018-05-21 20:19:48 +0000
commit05b37297177e8a342668c15e5d6f738b51f7aedd (patch)
treee236c96df52a13f935292db8aa73e84d0c41ad8a /src/angular/notifications/services/notifications.service.ts
parent884dfb789593d2a3cc319047ab1f0215778aec9f (diff)
parent1994c98063c27a41797dec01f2ca9fcbe33ceab0 (diff)
Merge "init commit onap ui"2.0.0-ONAPbeijing2.0.0-ONAP
Diffstat (limited to 'src/angular/notifications/services/notifications.service.ts')
-rw-r--r--src/angular/notifications/services/notifications.service.ts41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/angular/notifications/services/notifications.service.ts b/src/angular/notifications/services/notifications.service.ts
new file mode 100644
index 0000000..28a645c
--- /dev/null
+++ b/src/angular/notifications/services/notifications.service.ts
@@ -0,0 +1,41 @@
+import { Injectable } from '@angular/core';
+import { NotificationSettings } from '../utilities/notification.config'
+import { Subject } from 'rxjs/Subject';
+import { Subscription } from 'rxjs/Subscription';
+
+
+@Injectable()
+export class NotificationsService {
+
+ notifs : NotificationSettings[] = [];
+
+ notifQueue : Subject<any> = new Subject<any>();
+
+ constructor() {}
+
+ public push(notif : NotificationSettings):void{
+
+ if( this.notifQueue.observers.length > 0 ) {
+ this.notifQueue.next(notif);
+ } else {
+ this.notifs.push(notif);
+ }
+ }
+
+
+
+ public getNotifications() : NotificationSettings[] {
+ return this.notifs;
+ }
+
+
+
+ public subscribe(observer): Subscription {
+ let s:Subscription = this.notifQueue.subscribe(observer);
+ this.notifs.forEach(notif => this.notifQueue.next(notif));
+ this.notifs = [];
+ return s;
+ }
+
+
+}