sidebar.notification.service.ts 736 Bytes
import {Injectable, EventEmitter} from "ng-forward";


@Injectable()
export class SidebarNotificationService {
    private alternateVisibilityEvent: EventEmitter<boolean> = new EventEmitter<boolean>();
    public sidebarVisible: boolean = false;

    getCurrentVisibility() {
        return this.sidebarVisible;
    }

    alternateVisibility() {
        this.sidebarVisible = !this.sidebarVisible;
        this.alternateVisibilityEvent.next(this.sidebarVisible);
    }

    setVisibility(visibility: boolean) {
        this.sidebarVisible = visibility;
        this.alternateVisibilityEvent.next(this.sidebarVisible);
    }

    subscribe(fn: (visible: boolean) => void) {
        this.alternateVisibilityEvent.subscribe(fn);
    }

}