datasurvey/src/main/webapp/app/admin/health/health.component.ts

46 lines
1.2 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { HttpErrorResponse } from '@angular/common/http';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { HealthService } from './health.service';
import { Health, HealthDetails, HealthStatus } from './health.model';
import { HealthModalComponent } from './modal/health-modal.component';
@Component({
selector: 'jhi-health',
templateUrl: './health.component.html',
})
export class HealthComponent implements OnInit {
health?: Health;
constructor(private modalService: NgbModal, private healthService: HealthService) {}
ngOnInit(): void {
this.refresh();
}
getBadgeClass(statusState: HealthStatus): string {
if (statusState === 'UP') {
return 'badge-success';
} else {
return 'badge-danger';
}
}
refresh(): void {
this.healthService.checkHealth().subscribe(
health => (this.health = health),
(error: HttpErrorResponse) => {
if (error.status === 503) {
this.health = error.error;
}
}
);
}
showHealth(health: { key: string; value: HealthDetails }): void {
const modalRef = this.modalService.open(HealthModalComponent);
modalRef.componentInstance.health = health;
}
}