in src/app/components/dashboard/dashboard.component.ts [59:121]
ngOnInit() {
this.spinner.show();
this.scheduler
.fetchClusterList()
.pipe(
finalize(() => {
this.spinner.hide();
})
)
.subscribe((list) => {
this.clusterList = list;
if (list && list[0]) {
this.clusterInfo = list[0];
this.clusterInfo.clusterStatus = 'Active';
if (list[0].rmBuildInformation && list[0].rmBuildInformation[0]) {
this.buildInfo = list[0].rmBuildInformation[0];
}
}
});
this.scheduler.fetchPartitionList().subscribe((list) => {
this.partitionList = list;
if (list && list[0]) {
this.nodeSortPolicy = list[0].nodeSortingPolicy
? list[0].nodeSortingPolicy.type
: NOT_AVAILABLE;
list[0].totalContainers = list[0].totalContainers || 0;
this.partitionName = list[0].name || NOT_AVAILABLE;
this.totalNodes = String(list[0].totalNodes);
this.totalApplications = String(list[0].applications.total);
this.totalContainers = String(list[0].totalContainers);
this.updateAppStatusData(list[0].applications);
this.updateContainerStatusData(list[0]);
} else {
this.nodeSortPolicy = NOT_AVAILABLE;
this.partitionName = NOT_AVAILABLE;
this.totalNodes = NOT_AVAILABLE;
this.totalApplications = NOT_AVAILABLE;
this.totalContainers = NOT_AVAILABLE;
}
});
this.scheduler.fetchAppHistory().subscribe((data) => {
this.initialAppHistory = data;
this.appHistoryData = this.getAreaChartData(data);
});
this.scheduler.fetchContainerHistory().subscribe((data) => {
this.initialContainerHistory = data;
this.containerHistoryData = this.getAreaChartData(data);
});
this.eventBus.getEvent(EventMap.LayoutChangedEvent).subscribe(() => {
this.updateAppStatusData(this.partitionList[0].applications);
this.updateContainerStatusData(this.partitionList[0]);
this.appHistoryData = this.getAreaChartData(this.initialAppHistory);
this.containerHistoryData = this.getAreaChartData(this.initialContainerHistory);
});
}