From 31ad2b25ba8d6ab86e109f5a4d96b385e77694a8 Mon Sep 17 00:00:00 2001 From: Abdellatif Ait boudad Date: Wed, 31 May 2017 17:33:37 +0000 Subject: [PATCH] [UISrefStatus] take only one inner subscription at a time. --- src/directives/uiSrefStatus.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/directives/uiSrefStatus.ts b/src/directives/uiSrefStatus.ts index 9e303180f..8079cd193 100644 --- a/src/directives/uiSrefStatus.ts +++ b/src/directives/uiSrefStatus.ts @@ -14,7 +14,6 @@ import {of} from 'rxjs/observable/of'; import {fromPromise} from 'rxjs/observable/fromPromise'; import {combineLatest} from 'rxjs/observable/combineLatest'; import {switchMap} from 'rxjs/operator/switchMap'; -import {mergeMap} from 'rxjs/operator/mergeMap'; import {map} from 'rxjs/operator/map'; import {concat} from 'rxjs/operator/concat'; @@ -223,7 +222,7 @@ export class UISrefStatus { // Calculate the status of each UISref based on the transition event. // Reduce the statuses (if multiple) by or-ing each flag. - this._subscription = mergeMap.call(transEvents$, (evt: TransEvt) => { + this._subscription = switchMap.call(transEvents$, (evt: TransEvt) => { return map.call(targetStates$, (targets: TargetState[]) => { let statuses: SrefStatus[] = targets.map(target => getSrefStatus(evt, target)); return statuses.reduce(mergeSrefStatus);