Newer
Older
import { Directive, OnInit, ElementRef, Renderer2, Input } from '@angular/core';
import { TranslateService, LangChangeEvent } from '@ngx-translate/core';
@Directive({
selector: '[jhiActiveMenu]',
})
export class ActiveMenuDirective implements OnInit {
@Input() jhiActiveMenu?: string;
constructor(private el: ElementRef, private renderer: Renderer2, private translateService: TranslateService) {}
ngOnInit(): void {
this.translateService.onLangChange.subscribe((event: LangChangeEvent) => {
this.updateActiveFlag(event.lang);
});
this.updateActiveFlag(this.translateService.currentLang);
}
updateActiveFlag(selectedLanguage: string): void {
if (this.jhiActiveMenu === selectedLanguage) {
this.renderer.addClass(this.el.nativeElement, 'active');
} else {
this.renderer.removeClass(this.el.nativeElement, 'active');
}
}
}