OpenSlides/client/src/app/base.component.ts

37 lines
1.3 KiB
TypeScript
Raw Normal View History

import { Title } from '@angular/platform-browser';
import { OpenSlidesComponent } from './openslides.component';
2018-08-03 15:16:40 +02:00
import { TranslateService } from '@ngx-translate/core';
/**
* Provides functionalities that will be used by most components
* currently able to set the title with the suffix ' - OpenSlides 3'
*
* A BaseComponent is an OpenSlides Component.
* Components in the 'Side'- or 'projector' Folder are BaseComponents
*/
export abstract class BaseComponent extends OpenSlidesComponent {
/**
* To manipulate the browser title bar, adds the Suffix "OpenSlides 3"
*
* Might be a config variable later at some point
*/
private titleSuffix = ' - OpenSlides 3';
/**
* Child constructor that implements the titleServices and calls Super from OpenSlidesComponent
*/
2018-08-03 15:16:40 +02:00
constructor(protected titleService?: Title, protected translate?: TranslateService) {
super();
}
/**
* Set the title in web browser using angulars TitleService
* @param prefix The title prefix. Should be translated here.
* TODO Might translate the prefix here?
*/
setTitle(prefix: string): void {
2018-08-03 15:16:40 +02:00
const translatedPrefix = this.translate.instant(prefix);
this.titleService.setTitle(translatedPrefix + this.titleSuffix);
}
}