import {Injectable} from '@angular/core'; import {BehaviorSubject, Subject} from 'rxjs'; @Injectable() export class LecturerViewService { private onDashboardSource = new BehaviorSubject<Boolean>(true); private onCreatePaperSource = new BehaviorSubject<Boolean>(false); private onCreateTemplateSource = new BehaviorSubject<Boolean>(false); private onTemplateViewSource = new BehaviorSubject<Boolean>(false); public onDashboard$ = this.onDashboardSource.asObservable(); public onCreatePaper$ = this.onCreatePaperSource.asObservable(); public onCreateTemplate$ = this.onCreateTemplateSource.asObservable(); public onTemplateView$ = this.onTemplateViewSource.asObservable(); public changeToDashboard(flag: Boolean) { if (flag) { this.onDashboardSource.next(flag); this.onCreatePaperSource.next(false); this.onCreateTemplateSource.next(false); this.onTemplateViewSource.next(false); } } public changeToCreatePaper(flag: Boolean) { if (flag) { this.onCreatePaperSource.next(flag); this.onDashboardSource.next(!flag); this.onCreateTemplateSource.next(!flag); this.onTemplateViewSource.next(!flag); } } public changeToCreateTemplate(flag: Boolean) { if (flag) { this.onCreateTemplateSource.next(flag); this.onCreatePaperSource.next(!flag); this.onDashboardSource.next(!flag); this.onTemplateViewSource.next(!flag); } } public changeToTemplateView(flag: Boolean) { if (flag) { this.onTemplateViewSource.next(flag); this.onCreatePaperSource.next(!flag); this.onCreateTemplateSource.next(!flag); this.onDashboardSource.next(!flag); } } public changeToPaperview(flag: Boolean) { if (flag) { this.onTemplateViewSource.next(!flag); this.onCreatePaperSource.next(!flag); this.onCreateTemplateSource.next(!flag); this.onDashboardSource.next(!flag); } } }