@@ -43,17 +43,17 @@ function Strategy() {
4343 > ( [ ] ) ;
4444 const [ telemetryType , setTelemetryType ] = useState ( localGraph [ "type" ] ?? [ ] ) ;
4545 const [ messageNumber , setMessageNumber ] = useState (
46- localGraph [ "number" ] ?? [ ]
46+ localGraph [ "number" ] ?? [ ] ,
4747 ) ;
4848 const [ dataKey , setDataKey ] = useState ( localGraph [ "key" ] ?? [ ] ) ;
4949 const [ startTime , setStartTime ] = useState (
50- localGraph [ "start" ] ?? "2023-04-16 12:00"
50+ localGraph [ "start" ] ?? "2023-04-16 12:00" ,
5151 ) ;
5252 const [ endTime , setEndTime ] = useState (
53- localGraph [ "end" ] ?? "2023-04-16 12:10"
53+ localGraph [ "end" ] ?? "2023-04-16 12:10" ,
5454 ) ;
5555 const autoUpdate = JSON . parse (
56- localStorage . getItem ( "toggleAutoUpdate" ) ?? "true"
56+ localStorage . getItem ( "toggleAutoUpdate" ) ?? "true" ,
5757 ) ;
5858 const [ regStartTime , setRegStartTime ] = useState ( "2023-04-16 12:00" ) ;
5959 const [ regEndTime , setRegEndTime ] = useState ( "2023-04-16 12:10" ) ;
@@ -78,7 +78,7 @@ function Strategy() {
7878 value : combinedString ,
7979 label : combinedString ,
8080 } ;
81- } )
81+ } ) ,
8282 ) ;
8383 const [ rawData , setRawData ] = useState < any [ ] > ( [ ] ) ;
8484 const [ rawData2 , setRawData2 ] = useState < any [ ] > ( [ ] ) ;
@@ -95,6 +95,14 @@ function Strategy() {
9595 ] ) ;
9696 var statIsUpdated = [ false ] ;
9797
98+ //useEffect(() => {
99+ // console.log(dataKey);
100+ //}, [dataKey]);
101+ //
102+ //useEffect(() => {
103+ // console.log(data);
104+ //}, [data]);
105+
98106 async function fetchData ( statIndex : number ) {
99107 if (
100108 ! localStorage . getItem ( "username" ) ?. trim ( ) ||
@@ -138,7 +146,7 @@ function Strategy() {
138146 $gte : moment ( startTime ) . utc ( ) . format ( "YYYY-MM-DD HH:mm" ) ,
139147 $lte : moment ( endTime ) . utc ( ) . format ( "YYYY-MM-DD HH:mm" ) ,
140148 } ,
141- }
149+ } ,
142150 ) ;
143151 } else {
144152 result = await getAllModuleItem (
@@ -150,7 +158,7 @@ function Strategy() {
150158 $gte : moment ( startTime ) . utc ( ) . format ( "YYYY-MM-DD HH:mm" ) ,
151159 $lte : moment ( endTime ) . utc ( ) . format ( "YYYY-MM-DD HH:mm" ) ,
152160 } ,
153- }
161+ } ,
154162 ) ;
155163 }
156164 setRawData2 ( result2 ) ;
@@ -170,7 +178,8 @@ function Strategy() {
170178
171179 if (
172180 ! localStorage . getItem ( "username" ) ?. trim ( ) ||
173- ! localStorage . getItem ( "password" ) ?. trim ( )
181+ ! localStorage . getItem ( "password" ) ?. trim ( ) ||
182+ ! dataKey [ latestStatChange ]
174183 )
175184 return ;
176185
@@ -206,7 +215,7 @@ function Strategy() {
206215 "battVoltage" ,
207216 response2 ,
208217 "motorCurrentPkAvg" ,
209- dataKey
218+ dataKey ,
210219 ) ;
211220 } else {
212221 toTransform = response ;
@@ -219,34 +228,34 @@ function Strategy() {
219228 . map ( ( dataPoint ) => ( {
220229 ...dataPoint ,
221230 dateStamp : Math . floor (
222- new Date ( dataPoint [ "createdAt" ] ) . getTime ( ) / granularityMs
231+ new Date ( dataPoint [ "createdAt" ] ) . getTime ( ) / granularityMs ,
223232 ) ,
224233 } ) )
225234 . filter (
226235 ( dataPoint ) =>
227236 dataPoint [ dataKey [ latestStatChange ] ] >= minTrimVal &&
228- dataPoint [ dataKey [ latestStatChange ] ] <= maxTrimVal
237+ dataPoint [ dataKey [ latestStatChange ] ] <= maxTrimVal ,
229238 ) ;
230239 } else {
231240 filteredResponseTemp = toTransform . map ( ( dataPoint ) => ( {
232241 ...dataPoint ,
233242 dateStamp : Math . floor (
234- new Date ( dataPoint [ "createdAt" ] ) . getTime ( ) / granularityMs
243+ new Date ( dataPoint [ "createdAt" ] ) . getTime ( ) / granularityMs ,
235244 ) ,
236245 } ) ) ;
237246 }
238247
239248 const filteredResponse = filteredResponseTemp . reduce (
240249 ( accumulator , currentValue ) => {
241250 const duplicateDateStamp = accumulator . find (
242- ( item ) => item . dateStamp === currentValue . dateStamp
251+ ( item ) => item . dateStamp === currentValue . dateStamp ,
243252 ) ;
244253 if ( ! duplicateDateStamp ) {
245254 accumulator . push ( currentValue ) ;
246255 }
247256 return accumulator ;
248257 } ,
249- [ ]
258+ [ ] ,
250259 ) ;
251260
252261 let sum = 0 ;
@@ -277,14 +286,15 @@ function Strategy() {
277286
278287 try {
279288 startTimestamp = new Date (
280- filteredResponse [ 0 ] [ "dateStamp" ] * granularityMs
289+ filteredResponse [ 0 ] [ "dateStamp" ] * granularityMs ,
281290 ) . getTime ( ) ;
282291 } catch {
283292 return ;
284293 }
285294
286295 const endTimestamp = new Date (
287- filteredResponse [ filteredResponse . length - 1 ] [ "dateStamp" ] * granularityMs
296+ filteredResponse [ filteredResponse . length - 1 ] [ "dateStamp" ] *
297+ granularityMs ,
288298 ) . getTime ( ) ;
289299
290300 const givenTimespan = endTimestamp - startTimestamp ;
@@ -302,12 +312,12 @@ function Strategy() {
302312
303313 const regStartStamp = Math . max (
304314 oldRegStartStamp ,
305- ( startTimestamp + 3600000 ) / granularityMs
315+ ( startTimestamp + 3600000 ) / granularityMs ,
306316 ) ;
307317
308318 const regEndStamp = Math . min (
309319 oldRegEndStamp ,
310- ( endTimestamp + 3600000 ) / granularityMs
320+ ( endTimestamp + 3600000 ) / granularityMs ,
311321 ) ;
312322
313323 let filteredRegResponse ;
@@ -316,18 +326,18 @@ function Strategy() {
316326 filteredRegResponse = filteredResponse . filter (
317327 ( dataPoint ) =>
318328 dataPoint [ "dateStamp" ] >= regStartStamp - 3600000 / granularityMs &&
319- dataPoint [ "dateStamp" ] <= regEndStamp - 3600000 / granularityMs
329+ dataPoint [ "dateStamp" ] <= regEndStamp - 3600000 / granularityMs ,
320330 ) ;
321331 } else {
322332 filteredRegResponse = filteredResponse ;
323333 }
324334
325335 const regXValues = filteredRegResponse . map (
326- ( dataPoint ) => dataPoint [ "dateStamp" ]
336+ ( dataPoint ) => dataPoint [ "dateStamp" ] ,
327337 ) ;
328338
329339 const regYValues = filteredRegResponse . map (
330- ( dataPoint ) => dataPoint [ dataKey [ latestStatChange ] ]
340+ ( dataPoint ) => dataPoint [ dataKey [ latestStatChange ] ] ,
331341 ) ;
332342
333343 const lastValue =
@@ -354,7 +364,7 @@ function Strategy() {
354364
355365 let scaledXAxis = Array . from (
356366 { length : xValues . length * toExtrapolate } ,
357- ( _ , i ) => i
367+ ( _ , i ) => i ,
358368 ) ;
359369
360370 const xValGap =
@@ -394,7 +404,7 @@ function Strategy() {
394404
395405 if ( toExtrapolate > 1 ) {
396406 setDerivedRegressionEnd (
397- extendedRegression [ extendedRegression . length - 1 ] [ "regression" ]
407+ extendedRegression [ extendedRegression . length - 1 ] [ "regression" ] ,
398408 ) ;
399409 } else {
400410 setDerivedRegressionEnd ( 0 ) ;
@@ -406,7 +416,7 @@ function Strategy() {
406416 finalAddition = extendedRegression . map ( ( dataPoint ) => ( {
407417 ...dataPoint ,
408418 createdAt : new Date (
409- dataPoint [ "dateStamp" ] * granularityMs
419+ dataPoint [ "dateStamp" ] * granularityMs ,
410420 ) . toISOString ( ) ,
411421 regRange :
412422 dataPoint [ "dateStamp" ] >= regStartStamp - 3600000 / granularityMs &&
@@ -418,19 +428,27 @@ function Strategy() {
418428 finalAddition = extendedRegression . map ( ( dataPoint ) => ( {
419429 ...dataPoint ,
420430 createdAt : new Date (
421- dataPoint [ "dateStamp" ] * granularityMs
431+ dataPoint [ "dateStamp" ] * granularityMs ,
422432 ) . toISOString ( ) ,
423433 } ) ) ;
424434 }
425435
426436 let finalToGraph : any [ ] = [ ] ;
427- if ( latestStatChange == 0 ) {
437+ if ( data . length == 0 ) {
428438 setData ( finalAddition ) ;
429439 } else {
430- for ( let i = 0 ; i < data . length ; i ++ ) {
431- let dataPoint = data [ i ] ;
432- dataPoint [ dataKey [ latestStatChange ] ] =
433- finalAddition [ i ] [ dataKey [ latestStatChange ] ] ;
440+ for ( let i = 0 ; i < Math . max ( data . length , finalAddition . length ) ; i ++ ) {
441+ let dataPoint ;
442+ if ( i < data . length ) {
443+ dataPoint = data [ i ] ;
444+ if ( i < finalAddition . length ) {
445+ dataPoint [ dataKey [ latestStatChange ] ] =
446+ finalAddition [ i ] [ dataKey [ latestStatChange ] ] ;
447+ }
448+ } else {
449+ dataPoint = finalAddition [ i ] ;
450+ }
451+
434452 finalToGraph . push ( dataPoint ) ;
435453 }
436454
@@ -483,7 +501,7 @@ function Strategy() {
483501
484502 if ( actionMeta . option ) {
485503 const changedIndex = selectedOptions . findIndex (
486- ( option ) => option . value === actionMeta . option . value
504+ ( option ) => option . value === actionMeta . option . value ,
487505 ) ;
488506 setLatestStatChange ( changedIndex ) ;
489507 } else {
@@ -807,7 +825,7 @@ function Strategy() {
807825 defaultValue = { granularityMs }
808826 onBlur = { ( event ) =>
809827 setGranularityMs (
810- parseInt ( ( event . target as HTMLInputElement ) . value )
828+ parseInt ( ( event . target as HTMLInputElement ) . value ) ,
811829 )
812830 }
813831 onFocus = { ( event ) => event . target . select ( ) }
@@ -835,7 +853,7 @@ function Strategy() {
835853 onFocus = { ( event ) => event . target . select ( ) }
836854 onBlur = { ( event ) =>
837855 setMaxTrimVal (
838- parseInt ( ( event . target as HTMLInputElement ) . value )
856+ parseInt ( ( event . target as HTMLInputElement ) . value ) ,
839857 )
840858 }
841859 onKeyDown = { ( event ) => {
@@ -862,7 +880,7 @@ function Strategy() {
862880 defaultValue = { minTrimVal }
863881 onBlur = { ( event ) =>
864882 setMinTrimVal (
865- parseInt ( ( event . target as HTMLInputElement ) . value )
883+ parseInt ( ( event . target as HTMLInputElement ) . value ) ,
866884 )
867885 }
868886 onFocus = { ( event ) => event . target . select ( ) }
0 commit comments