Browse Source

Fixed succeeded filter

jnfrati 4 years ago
parent
commit
06e2a39b32
1 changed files with 24 additions and 8 deletions
  1. 24 8
      dashboard/src/main/home/cluster-dashboard/chart/JobRunTable.tsx

+ 24 - 8
dashboard/src/main/home/cluster-dashboard/chart/JobRunTable.tsx

@@ -8,7 +8,7 @@ import { NewWebsocketOptions, useWebsockets } from "shared/hooks/useWebsockets";
 import styled from "styled-components";
 import styled from "styled-components";
 
 
 type Props = {
 type Props = {
-  lastRunStatus: "failed" | "succeded" | "active" | "all";
+  lastRunStatus: "failed" | "succeeded" | "active" | "all";
   namespace: string;
   namespace: string;
   sortType: "Newest" | "Oldest" | "Alphabetical";
   sortType: "Newest" | "Oldest" | "Alphabetical";
 };
 };
@@ -96,9 +96,20 @@ const JobRunTable: React.FC<Props> = ({
       },
       },
       {
       {
         Header: "Finished At",
         Header: "Finished At",
-        accessor: (originalRow) =>
-          dateFormatter(originalRow.status?.completionTime) ||
-          "Still running...",
+        accessor: (originalRow) => {
+          if (originalRow.status?.completionTime) {
+            return dateFormatter(originalRow.status?.completionTime);
+          } else if (
+            Array.isArray(originalRow.status?.conditions) &&
+            originalRow.status?.conditions[0]?.lastTransitionTime
+          ) {
+            return dateFormatter(
+              originalRow.status?.conditions[0]?.lastTransitionTime
+            );
+          } else {
+            return "Still running...";
+          }
+        },
       },
       },
       {
       {
         Header: "Status",
         Header: "Status",
@@ -152,12 +163,12 @@ const JobRunTable: React.FC<Props> = ({
       case "active":
       case "active":
         tmp = filter.filterByActive();
         tmp = filter.filterByActive();
         break;
         break;
-      case "succeded":
-        tmp = filter.filterBySucceded();
-        break;
       case "failed":
       case "failed":
         tmp = filter.filterByFailed();
         tmp = filter.filterByFailed();
         break;
         break;
+      case "succeeded":
+        tmp = filter.filterBySucceded();
+        break;
       default:
       default:
         tmp = filter.dontFilter();
         tmp = filter.dontFilter();
         break;
         break;
@@ -343,7 +354,12 @@ class JobRunsFilter {
   }
   }
 
 
   filterBySucceded() {
   filterBySucceded() {
-    return this.jobRuns.filter((jobRun) => jobRun?.status?.succeeded);
+    return this.jobRuns.filter(
+      (jobRun) =>
+        jobRun?.status?.succeeded &&
+        !jobRun?.status?.active &&
+        !jobRun?.status?.failed
+    );
   }
   }
 
 
   dontFilter() {
   dontFilter() {