Просмотр исходного кода

Avoid listing buckets that are not between the sub_events dates

jnfrati 4 лет назад
Родитель
Сommit
0724db3475
1 измененных файлов с 18 добавлено и 1 удалено
  1. 18 1
      dashboard/src/components/events/SubEventsList.tsx

+ 18 - 1
dashboard/src/components/events/SubEventsList.tsx

@@ -52,7 +52,24 @@ const SubEventsList: React.FC<{
       console.error(error);
     }
 
-    setSubEvents([...updatedEvent.sub_events, ...logBucketsParsed]);
+    const subEventsSorted = (updatedEvent.sub_events as any[])
+      .map((s: any) => ({
+        ...s,
+        timestamp: new Date(s.timestamp).getTime(),
+      }))
+      .sort((prev: any, next: any) => next.timestamp - prev.timestamp);
+
+    const firstEvent = subEventsSorted.shift();
+    const lastEvent = subEventsSorted.pop();
+
+    const filteredLogBuckets = (logBucketsParsed as any[]).filter((bucket) => {
+      const bucketTime = new Date(bucket.timestamp).getTime();
+      return (
+        bucketTime >= lastEvent.timestamp && bucketTime <= firstEvent.timestamp
+      );
+    });
+
+    setSubEvents([...updatedEvent.sub_events, ...filteredLogBuckets]);
     setIsLoading(false);
   };