import { Injectable } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import { Subject } from 'rxjs/Subject'; import { CmThemeService } from '../../service/theme.service'; import { CmI18nService } from '../../service/i18n.service'; export { light, dark } from '../../service/theme.service'; export { zh, en } from '../../service/i18n.service'; @Injectable() export class CosmosChartService { private chartThemeSource = new Subject(); public missionThemeChart$: Observable = null; private chartLangSource = new Subject(); public missionLangChart$: Observable = null; constructor(public themeService: CmThemeService, public i18nService: CmI18nService) { this.missionThemeChart$ = this.chartThemeSource.asObservable(); this.missionLangChart$ = this.chartLangSource.asObservable(); this.themeService.missionTheme$.subscribe(theme => { this.chartThemeSource.next(theme); }); this.i18nService.missionLang$.subscribe(lang => { this.chartLangSource.next(lang); }); } }