aboutsummaryrefslogtreecommitdiffstats
path: root/src/angular/notifications/services/notifications.service.ts
diff options
context:
space:
mode:
authorIsrael Lavi <israel.lavi@intl.att.com>2018-05-21 17:42:00 +0300
committerIsrael Lavi <il0695@att.com>2018-05-21 17:52:01 +0300
commit1994c98063c27a41797dec01f2ca9fcbe33ceab0 (patch)
treef30beeaf15a8358f6da78fdd74bcbda74bd334f8 /src/angular/notifications/services/notifications.service.ts
parent4749f4631426fcbe29ed98cef8f24cab18b501d0 (diff)
init commit onap ui
Change-Id: I1dace78817dbba752c550c182dfea118b4a38646 Issue-ID: SDC-1350 Signed-off-by: Israel Lavi <il0695@att.com>
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;
+ }
+
+
+}