Skip to content

Commit 9239629

Browse files
authored
fix(web): fix app monitor longest array (#1682)
1 parent 082d327 commit 9239629

File tree

1 file changed

+30
-10
lines changed
  • web/src/pages/app/setting/SysSetting/AppMonitor/AreaCard

1 file changed

+30
-10
lines changed

web/src/pages/app/setting/SysSetting/AppMonitor/AreaCard/index.tsx

+30-10
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,39 @@ const strokeColorArray = [
4040
"#FAAD14",
4141
];
4242

43+
const generateChartData = () => {
44+
const now = new Date();
45+
now.setSeconds(0);
46+
now.setMilliseconds(0);
47+
const currentTimestamp = now.getTime();
48+
let chartData = [];
49+
50+
for (let i = 0; i <= 60; i++) {
51+
const timestamp = currentTimestamp - (60 - i) * 60 * 1000;
52+
chartData.push({ xData: timestamp });
53+
}
54+
55+
return chartData;
56+
};
57+
4358
function mergeArrays(arrays: any) {
4459
let mergedArray: any = [];
45-
const maxLength = Math.max(...arrays.map((arr: any) => arr.length));
46-
const longestArray = arrays.find((arr: any) => arr.length === maxLength);
60+
const longestArray = generateChartData();
4761
const newArrays = arrays.map((arr: any) => {
4862
let frontPadding = 0;
4963
let endPadding = 0;
5064
for (let i = 0; i < longestArray.length; i++) {
51-
if (longestArray[i].xData === arr[0].xData) {
65+
const lastTime = new Date(arr[arr.length - 1].xData);
66+
lastTime.setSeconds(0);
67+
lastTime.setMilliseconds(0);
68+
const firstTime = new Date(arr[0].xData);
69+
firstTime.setSeconds(0);
70+
firstTime.setMilliseconds(0);
71+
72+
if (longestArray[i].xData === firstTime.getTime()) {
5273
frontPadding = i;
53-
} else if (longestArray[i].xData === arr[arr.length - 1].xData) {
74+
}
75+
if (longestArray[i].xData === lastTime.getTime()) {
5476
endPadding = longestArray.length - i - 1;
5577
}
5678
}
@@ -61,14 +83,12 @@ function mergeArrays(arrays: any) {
6183
];
6284
});
6385

64-
for (let i = maxLength - 1; i >= 0; i--) {
86+
for (let i = 60; i >= 0; i--) {
6587
let mergedElement = { xData: 0 };
88+
mergedElement.xData = longestArray[i].xData;
6689
for (let j = 0; j < newArrays.length; j++) {
67-
if (newArrays[j][i]?.xData > 0) {
68-
mergedElement.xData = newArrays[j][i].xData;
69-
// @ts-ignore
70-
mergedElement[`value${j}`] = newArrays[j][i][`value${j}`];
71-
}
90+
// @ts-ignore
91+
mergedElement[`value${j}`] = newArrays[j][i][`value${j}`];
7292
}
7393
mergedArray = [mergedElement, ...mergedArray];
7494
}

0 commit comments

Comments
 (0)