diff --git a/src/renderer/api/endpoints/events.api.ts b/src/renderer/api/endpoints/events.api.ts index b424b980d3..4144ceb71b 100644 --- a/src/renderer/api/endpoints/events.api.ts +++ b/src/renderer/api/endpoints/events.api.ts @@ -75,6 +75,10 @@ export class KubeEvent extends KubeObject { return formatDuration(diff, true); } + + getLastSeenTimeDiffFromNow(): number { + return Date.now() - new Date(this.lastTimestamp).getTime(); + } } export const eventApi = new KubeApi({ diff --git a/src/renderer/components/+events/events.tsx b/src/renderer/components/+events/events.tsx index 28c66b7652..e3f850bfd7 100644 --- a/src/renderer/components/+events/events.tsx +++ b/src/renderer/components/+events/events.tsx @@ -46,6 +46,7 @@ enum columnId { count = "count", source = "source", age = "age", + lastSeen = "last-seen", } interface Props extends Partial { @@ -73,6 +74,7 @@ export class Events extends React.Component { [columnId.object]: (event: KubeEvent) => event.involvedObject.name, [columnId.count]: (event: KubeEvent) => event.count, [columnId.age]: (event: KubeEvent) => event.getTimeDiffFromNow(), + [columnId.lastSeen]: (event: KubeEvent) => event.getLastSeenTimeDiffFromNow(), }; private tableConfiguration: TableProps = { @@ -164,6 +166,7 @@ export class Events extends React.Component { { title: "Source", className: "source", id: columnId.source }, { title: "Count", className: "count", sortBy: columnId.count, id: columnId.count }, { title: "Age", className: "age", sortBy: columnId.age, id: columnId.age }, + { title: "Last Seen", className: "last-seen", sortBy: columnId.lastSeen, id: columnId.lastSeen }, ]} renderTableContents={(event: KubeEvent) => { const { involvedObject, type, message } = event; @@ -190,6 +193,7 @@ export class Events extends React.Component { event.getSource(), event.count, event.getAge(), + event.getLastSeenTime(), ]; }} />