/*-------------------------------------------------------------------------------------------------------------- * Copyright (c) insite-gmbh. All rights reserved. * Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------------------------*/ import { Component, OnInit, OnDestroy } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { InaxAlarmService, AlarmListChangeEvent, IHmiAlarmEntry } from '../../../../@inax/alarm'; import { InaxTranslateService } from '../../../../@inax/translate'; import { Subscription } from 'rxjs/Rx'; import { AlarmUiResourceManager } from './../resources/resource.service'; @Component({ selector: 'alarm-line', templateUrl: './@inax/alarmUi/src/alarmLine/alarm-line.component.html', styleUrls: ['./@inax/alarmUi/src/alarmLine/alarm-line.component.css'] }) export class AlarmLineComponent implements OnInit, OnDestroy { private _translateSubscription : Subscription; private _alarmSubscription : Subscription; protected _filter: string = ""; public alarms: Array = []; constructor(private _inaxAlarm: InaxAlarmService, private _inaxTranslate: InaxTranslateService, private _resourceManager: AlarmUiResourceManager) { } ngOnInit(){ //subscribe to the services this._translateSubscription = this._inaxTranslate.ChangeEvent.subscribe( lng => this.updateAlarms()); this._alarmSubscription = this._inaxAlarm.ChangeEvent.subscribe( (alarmListEvent: AlarmListChangeEvent) =>{ this.updateAlarms(); }); this.updateAlarms(); } ngOnDestroy(){ //unsubscribe from the services if(this._alarmSubscription != null) this._alarmSubscription.unsubscribe(); if(this._translateSubscription != null) this._translateSubscription.unsubscribe(); } public async updateAlarms(){ this.alarms = await this._inaxAlarm.alarmsAsync(this._filter, this._inaxTranslate.defaultLanguage, this._inaxTranslate.language, 0, 1 ); } }