|
|
@ -1,7 +1,7 @@ |
|
|
import { getLocaleDirection, LocalizationService } from '@abp/ng.core'; |
|
|
import { getLocaleDirection, LocalizationService } from '@abp/ng.core'; |
|
|
import { Injectable, Injector } from '@angular/core'; |
|
|
import { Injectable, Injector } from '@angular/core'; |
|
|
import { BehaviorSubject } from 'rxjs'; |
|
|
import { BehaviorSubject } from 'rxjs'; |
|
|
import { map, startWith } from 'rxjs/operators'; |
|
|
import { map } from 'rxjs/operators'; |
|
|
import { LocaleDirection } from '../models/common'; |
|
|
import { LocaleDirection } from '../models/common'; |
|
|
|
|
|
|
|
|
@Injectable() |
|
|
@Injectable() |
|
|
@ -14,17 +14,11 @@ export class DocumentDirHandlerService { |
|
|
|
|
|
|
|
|
private listenToLanguageChanges() { |
|
|
private listenToLanguageChanges() { |
|
|
const l10n = this.injector.get(LocalizationService); |
|
|
const l10n = this.injector.get(LocalizationService); |
|
|
|
|
|
|
|
|
// will always listen, no need to unsubscribe
|
|
|
// will always listen, no need to unsubscribe
|
|
|
l10n.languageChange$ |
|
|
l10n.currentLang$.pipe(map(locale => getLocaleDirection(locale))).subscribe(dir => { |
|
|
.pipe( |
|
|
this.dir.next(dir); |
|
|
startWith(l10n.currentLang), |
|
|
this.setBodyDir(dir); |
|
|
map(locale => getLocaleDirection(locale)), |
|
|
}); |
|
|
) |
|
|
|
|
|
.subscribe(dir => { |
|
|
|
|
|
this.dir.next(dir); |
|
|
|
|
|
this.setBodyDir(dir); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private setBodyDir(dir: LocaleDirection) { |
|
|
private setBodyDir(dir: LocaleDirection) { |
|
|
|