28 lines
572 B
TypeScript
28 lines
572 B
TypeScript
import { Injectable } from '@angular/core';
|
|
import { Subject } from 'rxjs';
|
|
|
|
interface MenuChangeEvent {
|
|
key: string;
|
|
routeEvent?: boolean;
|
|
}
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class MenuService {
|
|
|
|
private menuSource = new Subject<MenuChangeEvent>();
|
|
private resetSource = new Subject();
|
|
|
|
menuSource$ = this.menuSource.asObservable();
|
|
resetSource$ = this.resetSource.asObservable();
|
|
|
|
onMenuStateChange(event: MenuChangeEvent) {
|
|
this.menuSource.next(event);
|
|
}
|
|
|
|
reset() {
|
|
this.resetSource.next(true);
|
|
}
|
|
}
|