UI: Fix menuSections subject.
This commit is contained in:
parent
150285b9c9
commit
8febc1ed42
@ -31,7 +31,7 @@ import { NavigationEnd, Router } from '@angular/router';
|
|||||||
export class MenuService {
|
export class MenuService {
|
||||||
|
|
||||||
currentMenuSections: Array<MenuSection>;
|
currentMenuSections: Array<MenuSection>;
|
||||||
menuSections$: Subject<Array<MenuSection>> = new ReplaySubject<Array<MenuSection>>();
|
menuSections$: Subject<Array<MenuSection>> = new ReplaySubject<Array<MenuSection>>(1);
|
||||||
homeSections$: Subject<Array<HomeSection>> = new BehaviorSubject<Array<HomeSection>>([]);
|
homeSections$: Subject<Array<HomeSection>> = new BehaviorSubject<Array<HomeSection>>([]);
|
||||||
availableMenuLinks$ = this.menuSections$.pipe(
|
availableMenuLinks$ = this.menuSections$.pipe(
|
||||||
map((items) => this.allMenuLinks(items))
|
map((items) => this.allMenuLinks(items))
|
||||||
|
|||||||
@ -15,10 +15,10 @@
|
|||||||
///
|
///
|
||||||
|
|
||||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
|
||||||
import { BehaviorSubject, mergeMap, Subject, Subscription } from 'rxjs';
|
import { BehaviorSubject, Subject, Subscription } from 'rxjs';
|
||||||
import { BreadCrumb, BreadCrumbConfig } from './breadcrumb';
|
import { BreadCrumb, BreadCrumbConfig } from './breadcrumb';
|
||||||
import { ActivatedRoute, ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';
|
import { ActivatedRoute, ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';
|
||||||
import { distinctUntilChanged, filter, first, map } from 'rxjs/operators';
|
import { distinctUntilChanged, filter, first, map, switchMap } from 'rxjs/operators';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { guid } from '@core/utils';
|
import { guid } from '@core/utils';
|
||||||
import { BroadcastService } from '@core/services/broadcast.service';
|
import { BroadcastService } from '@core/services/broadcast.service';
|
||||||
@ -58,7 +58,7 @@ export class BreadcrumbComponent implements OnInit, OnDestroy {
|
|||||||
routerEventsSubscription = this.router.events.pipe(
|
routerEventsSubscription = this.router.events.pipe(
|
||||||
filter((event) => event instanceof NavigationEnd ),
|
filter((event) => event instanceof NavigationEnd ),
|
||||||
distinctUntilChanged(),
|
distinctUntilChanged(),
|
||||||
mergeMap(() => this.menuService.availableMenuSections().pipe(first())),
|
switchMap(() => this.menuService.availableMenuSections().pipe(first())),
|
||||||
map( (sections) => this.buildBreadCrumbs(this.activatedRoute.snapshot, sections) )
|
map( (sections) => this.buildBreadCrumbs(this.activatedRoute.snapshot, sections) )
|
||||||
).subscribe(breadcrumns => this.breadcrumbs$.next(breadcrumns) );
|
).subscribe(breadcrumns => this.breadcrumbs$.next(breadcrumns) );
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user