import {Injectable} from "@angular/core"; import {BehaviorSubject, Observable} from "rxjs"; @Injectable({ providedIn: 'root' }) export class SideBarService { /** * Set this to true when sidebar items are ready. */ private openSubject: BehaviorSubject = new BehaviorSubject(false); /** * Set this variable to false on Init of components that is not needed to have sidebar * and on Destroy set this to true. */ private hasSidebarSubject: BehaviorSubject = new BehaviorSubject(true); constructor() {} get open(): boolean { return this.openSubject.getValue(); } setOpen(value: boolean) { this.openSubject.next(value); } get hasSidebar(): Observable { return this.hasSidebarSubject.asObservable(); } setHasSidebar(value: boolean) { this.hasSidebarSubject.next(value); } }