Browse Source

UI: Fix menuSections subject.

feature/menu-refactoring
Igor Kulikov 2 years ago
parent
commit
8febc1ed42
  1. 2
      ui-ngx/src/app/core/services/menu.service.ts
  2. 6
      ui-ngx/src/app/shared/components/breadcrumb.component.ts

2
ui-ngx/src/app/core/services/menu.service.ts

@ -31,7 +31,7 @@ import { NavigationEnd, Router } from '@angular/router';
export class MenuService {
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>>([]);
availableMenuLinks$ = this.menuSections$.pipe(
map((items) => this.allMenuLinks(items))

6
ui-ngx/src/app/shared/components/breadcrumb.component.ts

@ -15,10 +15,10 @@
///
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 { 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 { guid } from '@core/utils';
import { BroadcastService } from '@core/services/broadcast.service';
@ -58,7 +58,7 @@ export class BreadcrumbComponent implements OnInit, OnDestroy {
routerEventsSubscription = this.router.events.pipe(
filter((event) => event instanceof NavigationEnd ),
distinctUntilChanged(),
mergeMap(() => this.menuService.availableMenuSections().pipe(first())),
switchMap(() => this.menuService.availableMenuSections().pipe(first())),
map( (sections) => this.buildBreadCrumbs(this.activatedRoute.snapshot, sections) )
).subscribe(breadcrumns => this.breadcrumbs$.next(breadcrumns) );

Loading…
Cancel
Save