Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 5x 5x 5x 5x 5x 5x 5x 4x 4x 4x 4x 4x 4x 5x 4x 5x 4x 2x 2x 2x 4x 4x 4x 4x 5x 6x 6x 5x 5x | import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';
import * as _ from 'lodash';
import { CdNotification } from '../../../shared/models/cd-notification';
import { AuthStorageService } from '../../../shared/services/auth-storage.service';
import { NotificationService } from '../../../shared/services/notification.service';
import { PrometheusAlertService } from '../../../shared/services/prometheus-alert.service';
import { PrometheusNotificationService } from '../../../shared/services/prometheus-notification.service';
@Component({
selector: 'cd-notifications',
template: require('./notifications.component.html'),
styles: []
})
export class NotificationsComponent implements OnInit, OnDestroy {
notifications: CdNotification[];
private interval: number;
constructor(
public notificationService: NotificationService,
private prometheusNotificationService: PrometheusNotificationService,
private authStorageService: AuthStorageService,
private prometheusAlertService: PrometheusAlertService,
private ngZone: NgZone
) {
this.notifications = [];
}
ngOnDestroy() {
window.clearInterval(this.interval);
}
ngOnInit() {
if (this.authStorageService.getPermissions().prometheus.read) {
this.triggerPrometheusAlerts();
this.ngZone.runOutsideAngular(() => {
this.interval = window.setInterval(() => {
this.ngZone.run(() => {
this.triggerPrometheusAlerts();
});
}, 5000);
});
}
this.notificationService.data$.subscribe((notifications: CdNotification[]) => {
this.notifications = _.orderBy(notifications, ['timestamp'], ['desc']);
});
}
private triggerPrometheusAlerts() {
this.prometheusAlertService.refresh();
this.prometheusNotificationService.refresh();
}
removeAll() {
this.notificationService.removeAll();
}
}
|