From 7fdb16c272942210c66c8cdf2985eb0d721fe14e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Tue, 21 Sep 2021 06:08:01 +0100 Subject: [PATCH] eventtrigger created for notifications --- src/app/modals/profile/profile.page.ts | 6 ++++++ src/app/services/eventTrigger.service.spec.ts | 16 ++++++++++++++ src/app/services/eventTrigger.service.ts | 21 +++++++++++++++++++ src/app/shared/header/header.page.ts | 16 +++++++++++--- 4 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 src/app/services/eventTrigger.service.spec.ts create mode 100644 src/app/services/eventTrigger.service.ts diff --git a/src/app/modals/profile/profile.page.ts b/src/app/modals/profile/profile.page.ts index a5ea4a616..0c72c221c 100644 --- a/src/app/modals/profile/profile.page.ts +++ b/src/app/modals/profile/profile.page.ts @@ -11,6 +11,7 @@ import { JsonStore } from '../../services/jsonStore.service'; import { StorageService } from '../../services/storage.service'; import { NotificationsService } from '../../services/notifications.service'; import { SessionStore } from 'src/app/store/session.service'; +import { EventTrigger } from '../../services/eventTrigger.service'; @Component({ selector: 'app-profile', @@ -43,6 +44,7 @@ export class ProfilePage implements OnInit { private notificationservice: NotificationsService, private platform: Platform, private notificationsService: NotificationsService, + private eventtrigger: EventTrigger ) { this.loggeduser = authService.ValidatedUser; @@ -200,6 +202,10 @@ export class ProfilePage implements OnInit { this.notificationservice.tempClearArray(); this.deleteNotification(index); + this.eventtrigger.publishSomeData({ + notification: "deleted" + }) + } diff --git a/src/app/services/eventTrigger.service.spec.ts b/src/app/services/eventTrigger.service.spec.ts new file mode 100644 index 000000000..332ea2205 --- /dev/null +++ b/src/app/services/eventTrigger.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { EventTrigger } from './eventTrigger.service'; + +describe('EventsService', () => { + let service: EventTrigger; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(EventTrigger); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/eventTrigger.service.ts b/src/app/services/eventTrigger.service.ts new file mode 100644 index 000000000..e44f104d7 --- /dev/null +++ b/src/app/services/eventTrigger.service.ts @@ -0,0 +1,21 @@ +import { Injectable } from '@angular/core'; +import { Subject } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) + + +export class EventTrigger { + + private eventSubject = new Subject() + + publishSomeData(data: any){ + this.eventSubject.next(data) + } + + getObservable(): Subject{ + return this.eventSubject + } + +} \ No newline at end of file diff --git a/src/app/shared/header/header.page.ts b/src/app/shared/header/header.page.ts index a0e0c561e..31ccac939 100644 --- a/src/app/shared/header/header.page.ts +++ b/src/app/shared/header/header.page.ts @@ -8,6 +8,7 @@ import { StorageService } from '../../services/storage.service'; import { SessionStore } from 'src/app/store/session.service'; import { NotificationsService } from '../../services/notifications.service'; import { environment } from 'src/environments/environment'; +import { EventTrigger } from '../../services/eventTrigger.service'; @Component({ selector: 'app-header', @@ -33,7 +34,8 @@ export class HeaderPage implements OnInit { private animationController: AnimationController, private storageservice: StorageService, private platform: Platform, - private notificationsService: NotificationsService, + private notificationsService: NotificationsService, + private eventrigger: EventTrigger ) { this.loggeduser = SessionStore.user; router.events.subscribe((val) => { @@ -46,12 +48,20 @@ export class HeaderPage implements OnInit { this.hideSearch(); this.notificationLengthData(); - if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + /* if (this.platform.is('desktop') || this.platform.is('mobileweb')) { console.log('Notifications not supported') this.UpdateNotificationCount(); } else { this.UpdateNotificationCount(); - } + } */ + + this.eventrigger.getObservable().subscribe((data)=>{ + if(data.notification == "delete" || "recive"){ + this.notificationLengthData(); + console.log('Deleted notification',data ) + } + + }) }