diff --git a/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts b/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts index 2505b4f601..dba97b96c6 100644 --- a/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts @@ -1,6 +1,6 @@ import { Inject, Injectable } from '@angular/core'; import { Observable, Subject, of } from 'rxjs'; -import { map, switchMap, take } from 'rxjs/operators'; +import { map, switchMap, take, tap } from 'rxjs/operators'; import { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service'; import { AbpApplicationLocalizationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service'; import { @@ -62,17 +62,15 @@ export class ConfigStateService { return this.createOnUpdateStream(state => state).pipe(take(1)); } - refreshLocalization(lang:string) { + refreshLocalization(lang:string): Observable { if (this.includeLocalizationResources) { - return this.refreshAppState(); + return this.refreshAppState().pipe(map(()=> null)); } else { return this.getlocalizationResource(lang) .pipe( - switchMap(result => { - this.store.patch({ localization: { ...this.store.state.localization, ...result } }); - return of(null); - }), - ); + tap(result => this.store.patch({ localization: { ...this.store.state.localization, ...result } })) + ) + .pipe(map(()=> null)); } } 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 512ecdebae..2ab3fbf73f 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 @@ -133,7 +133,7 @@ export class LocalizationService { filter( lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang, ), - switchMap(lang => this.configState.refreshLocalization(lang).pipe(map(() => lang))), + switchMap(lang => this.configState.refreshLocalization(lang).pipe(map(()=> lang))), switchMap(lang => from(this.registerLocale(lang).then(() => lang))), ) .subscribe(lang => this._languageChange$.next(lang));