]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/dashboard: Fix issue with Object's Overview page
authorAfreen <afreen23.git@gmail.com>
Wed, 24 Jan 2024 15:09:54 +0000 (20:39 +0530)
committerAfreen <afreen23.git@gmail.com>
Wed, 24 Jan 2024 15:09:54 +0000 (20:39 +0530)
Fixes https://tracker.ceph.com/issues/64150

Issue: Due to absence of null checks, the overview page was failing to
load.

Fix: Added, null check at relevant places to ensure data availability
before accessing the data.

Signed-off-by: Afreen <afreen23.git@gmail.com>
src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard-v3/dashboard-area-chart/dashboard-area-chart.component.ts

index 4a0d95f5421d125807504075351045614e660b99..ac0b9ac2ff431d6fcb7b52899846efdccc5d4e59 100644 (file)
@@ -196,7 +196,7 @@ export class DashboardAreaChartComponent implements OnChanges {
 
     this.setChartTicks();
 
-    if (this.dataArray) {
+    if (this.dataArray && this.dataArray.length && this.dataArray[0] && this.dataArray[0].length) {
       this.dataArray = changes?.dataArray?.currentValue || this.dataArray;
       this.currentChartData = this.chartData;
       for (let index = 0; index < this.dataArray.length; index++) {
@@ -223,7 +223,7 @@ export class DashboardAreaChartComponent implements OnChanges {
 
   private formatData(array: Array<any>): any {
     let formattedData = {};
-    formattedData = array.map((data: any) => ({
+    formattedData = array?.map((data: any) => ({
       x: data[0] * 1000,
       y: Number(this.convertToChartDataUnits(data[1]).replace(/[^\d,.]+/g, ''))
     }));
@@ -290,7 +290,7 @@ export class DashboardAreaChartComponent implements OnChanges {
     let maxValueDataUnits = '';
 
     const allDataValues = this.dataArray.reduce((array: string[], data) => {
-      return array.concat(data.map((values: [number, string]) => values[1]));
+      return array.concat(data?.map((values: [number, string]) => values[1]));
     }, []);
 
     maxValue = Math.max(...allDataValues.map(Number));