From 79b011cf9852a7c041ec529a0db9a44acae3359c Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Mon, 9 Nov 2020 11:23:59 +0300 Subject: [PATCH] refactor: add a filter to languageChange$ --- .../core/src/lib/services/localization.service.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/localization.service.ts b/npm/ng-packs/packages/core/src/lib/services/localization.service.ts index cf07f58d56..96f9dd5ce8 100644 --- a/npm/ng-packs/packages/core/src/lib/services/localization.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/localization.service.ts @@ -3,7 +3,7 @@ import { Injectable, Injector, NgZone, Optional, SkipSelf } from '@angular/core' import { ActivatedRouteSnapshot, Router } from '@angular/router'; import { Store } from '@ngxs/store'; import { noop, Observable, of, Subject } from 'rxjs'; -import { map, mapTo, switchMap } from 'rxjs/operators'; +import { filter, map, mapTo, switchMap } from 'rxjs/operators'; import { GetAppConfiguration } from '../actions/config.actions'; import { ABP } from '../models/common'; import { Config } from '../models/config'; @@ -48,9 +48,13 @@ export class LocalizationService { this.sessionState .onLanguageChange$() .pipe( - switchMap(lang => { - return this.store.dispatch(new GetAppConfiguration()).pipe(mapTo(lang)); - }), + filter( + lang => + this.store.selectSnapshot( + ConfigState.getDeep('localization.currentCulture.cultureName'), + ) !== lang, + ), + switchMap(lang => this.store.dispatch(new GetAppConfiguration()).pipe(mapTo(lang))), ) .subscribe(lang => { this.registerLocale(lang);