@@ -40,17 +40,39 @@ const strokeColorArray = [
40
40
"#FAAD14" ,
41
41
] ;
42
42
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
+
43
58
function mergeArrays ( arrays : any ) {
44
59
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 ( ) ;
47
61
const newArrays = arrays . map ( ( arr : any ) => {
48
62
let frontPadding = 0 ;
49
63
let endPadding = 0 ;
50
64
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 ( ) ) {
52
73
frontPadding = i ;
53
- } else if ( longestArray [ i ] . xData === arr [ arr . length - 1 ] . xData ) {
74
+ }
75
+ if ( longestArray [ i ] . xData === lastTime . getTime ( ) ) {
54
76
endPadding = longestArray . length - i - 1 ;
55
77
}
56
78
}
@@ -61,14 +83,12 @@ function mergeArrays(arrays: any) {
61
83
] ;
62
84
} ) ;
63
85
64
- for ( let i = maxLength - 1 ; i >= 0 ; i -- ) {
86
+ for ( let i = 60 ; i >= 0 ; i -- ) {
65
87
let mergedElement = { xData : 0 } ;
88
+ mergedElement . xData = longestArray [ i ] . xData ;
66
89
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 } ` ] ;
72
92
}
73
93
mergedArray = [ mergedElement , ...mergedArray ] ;
74
94
}
0 commit comments