fix textOrientation value (#4805)

This commit is contained in:
Cilibiu Bogdan 2019-06-03 19:15:37 +03:00 committed by Eugenio Romano
parent 5392f3d229
commit 148f9830aa
2 changed files with 20 additions and 2 deletions

View File

@ -194,6 +194,24 @@ describe('UserPreferencesService', () => {
expect(storage.getItem(textOrientation)).toBe(null);
}));
it('should default to browser locale for textOrientation when locale is not defined in configuration', (done) => {
appConfig.config.languages = [
{
key: 'fake-locale-browser',
direction: 'rtl'
}
];
spyOn(translate, 'getBrowserCultureLang').and.returnValue('fake-locale-browser');
preferences = new UserPreferencesService(translate, appConfig, storage);
appConfig.load();
changeDisposable = preferences.onChange
.subscribe((userPreferenceStatus) => {
expect(userPreferenceStatus['textOrientation']).toBe('rtl');
done();
});
});
it('should not store in the storage the locale if the app.config.json does not have a value', () => {
preferences = new UserPreferencesService(translate, appConfig, storage);
preferences.locale = 'fake-store-locate';

View File

@ -70,7 +70,7 @@ export class UserPreferencesService {
const locale = this.locale || this.getDefaultLocale();
this.setWithoutStore(UserPreferenceValues.Locale, locale);
this.setWithoutStore('textOrientation', (this.locale || this.getDefaultLocale()));
this.setWithoutStore('textOrientation', this.getLanguageByKey(locale).direction || 'ltr');
}
}
@ -225,7 +225,7 @@ export class UserPreferencesService {
private getLanguageByKey(key: string): LanguageItem {
return (
this.appConfig
.get<Array<LanguageItem>>(AppConfigValues.APP_CONFIG_LANGUAGES_KEY)
.get<Array<LanguageItem>>(AppConfigValues.APP_CONFIG_LANGUAGES_KEY, [<LanguageItem> { key: 'en' }])
.find((language) => key.includes(language.key)) || <LanguageItem> { key: 'en' }
);
}