donmahallem/TrapezeClientNg

View on GitHub
src/app/services/sidebar.service.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
@Injectable({
    providedIn: 'root',
})
export class SidebarService {

    public get sidebarOpen(): boolean {
        return this.mSidebarStatusSubject.value;
    }
    public get sidebarObservable(): Observable<boolean> {
        return this.mSidebarStatusSubject.asObservable();
    }
    private mSidebarStatusSubject: BehaviorSubject<boolean> = new BehaviorSubject(false);
    public constructor() { }

    public toggleSidebar(): void {
        this.mSidebarStatusSubject.next(!this.mSidebarStatusSubject.getValue());
    }

    public openSidebar(): void {
        this.mSidebarStatusSubject.next(true);
    }

    public closeSidebar(): void {
        this.mSidebarStatusSubject.next(false);
    }

}