[AAE-9112] Included a output event on change of language (#7697)

This commit is contained in:
Sushmitha V 2022-07-01 18:33:25 +05:30 committed by GitHub
parent 1b027c3a86
commit 478943eed5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View File

@ -108,4 +108,14 @@ describe('LanguageMenuComponent', () => {
component.changeLanguage(languages[1]);
expect(spy.calls.mostRecent().args[0]).toBe('textOrientation', 'ltr');
});
it('should emit changedLanguage event with language details', () => {
const changedLanguageSpy = spyOn(component.changedLanguage, 'emit');
appConfig.config.languages = languages;
userPreferencesService.locale = 'fake-key-3';
fixture.detectChanges();
component.changeLanguage(languages[2]);
expect(changedLanguageSpy).toHaveBeenCalledWith(languages[2]);
});
});

View File

@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Component } from '@angular/core';
import { Component, EventEmitter, Output } from '@angular/core';
import { LanguageService } from '../services/language.service';
import { Observable } from 'rxjs';
import { LanguageItem } from '../services/language-item.interface';
@ -31,6 +31,9 @@ import { LanguageItem } from '../services/language-item.interface';
})
export class LanguageMenuComponent {
@Output()
changedLanguage: EventEmitter<LanguageItem> = new EventEmitter<LanguageItem>();
languages$: Observable<LanguageItem[]>;
constructor(private languageService: LanguageService) {
@ -38,6 +41,7 @@ export class LanguageMenuComponent {
}
changeLanguage(language: LanguageItem) {
this.changedLanguage.emit(language);
this.languageService.changeLanguage(language);
}
}