Browse Source

Merge pull request #8714 from abpframework/auto-merge/rel-4-3/330

Merge branch dev with rel-4.3
pull/8738/head
Bunyamin Coskuner 5 years ago
committed by GitHub
parent
commit
3a74dbdd4d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      npm/ng-packs/packages/core/locale/src/utils/register-locale.ts
  2. 19
      npm/ng-packs/packages/core/src/lib/services/localization.service.ts

2
npm/ng-packs/packages/core/locale/src/utils/register-locale.ts

@ -28,7 +28,7 @@ export function registerLocale(
return new Promise((resolve, reject) => {
return import(
/* webpackChunkName: "_locale-[request]"*/
/* webpackInclude: /[/\\](ar|cs|en|en-GB|fr|pt|tr|ru|hu|sl|zh-Hans|zh-Hant).js/ */
/* webpackInclude: /[/\\](ar|cs|en|en-GB|es|de|fr|pt|tr|ru|hu|sl|zh-Hans|zh-Hant).js/ */
/* webpackExclude: /[/\\]global|extra/ */
`@angular/common/locales/${localeMap[locale] || locale}.js`
)

19
npm/ng-packs/packages/core/src/lib/services/localization.service.ts

@ -1,7 +1,6 @@
import { registerLocaleData } from '@angular/common';
import { Injectable, Injector, isDevMode, NgZone, Optional, SkipSelf } from '@angular/core';
import { Router } from '@angular/router';
import { noop, Observable, Subject } from 'rxjs';
import { from, Observable, Subject } from 'rxjs';
import { filter, map, mapTo, switchMap, tap } from 'rxjs/operators';
import { ABP } from '../models/common';
import { Config } from '../models/config';
@ -57,29 +56,17 @@ export class LocalizationService {
.pipe(tap(res => this.configState.setState(res)))
.pipe(mapTo(lang)),
),
switchMap(lang => from(this.registerLocale(lang).then(() => lang))),
)
.subscribe(lang => {
this.registerLocale(lang);
this._languageChange$.next(lang);
});
.subscribe(lang => this._languageChange$.next(lang));
}
registerLocale(locale: string) {
const router = this.injector.get(Router);
const { shouldReuseRoute } = router.routeReuseStrategy;
router.routeReuseStrategy.shouldReuseRoute = () => false;
router.navigated = false;
const { registerLocaleFn }: ABP.Root = this.injector.get(CORE_OPTIONS);
return registerLocaleFn(locale).then(module => {
if (module?.default) registerLocaleData(module.default);
this.latestLang = locale;
this.ngZone.run(async () => {
await router.navigateByUrl(router.url).catch(noop);
router.routeReuseStrategy.shouldReuseRoute = shouldReuseRoute;
});
});
}

Loading…
Cancel
Save