From 0eebc1dfd0101c42cf95ad53230f16cbf873f502 Mon Sep 17 00:00:00 2001 From: oatkiller Date: Thu, 13 Feb 2020 12:06:45 -0500 Subject: [PATCH] handle invalid dates in table --- .../public/embeddables/resolver/view/panel.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/endpoint/public/embeddables/resolver/view/panel.tsx b/x-pack/plugins/endpoint/public/embeddables/resolver/view/panel.tsx index 98f136c992c7852..798be1a54df8435 100644 --- a/x-pack/plugins/endpoint/public/embeddables/resolver/view/panel.tsx +++ b/x-pack/plugins/endpoint/public/embeddables/resolver/view/panel.tsx @@ -37,7 +37,7 @@ const HorizontalRule = memo(function HorizontalRule() { export const Panel = memo(function Event({ className }: { className?: string }) { interface ProcessTableView { name: string; - timestamp: Date; + timestamp?: Date; event: ProcessEvent; } @@ -48,9 +48,10 @@ export const Panel = memo(function Event({ className }: { className?: string }) () => [...processNodePositions.keys()].map(processEvent => { const { data_buffer } = processEvent; + const date = new Date(data_buffer.timestamp_utc); return { name: data_buffer.process_name, - timestamp: new Date(data_buffer.timestamp_utc), + timestamp: isFinite(date.getTime()) ? date : undefined, event: processEvent, }; }), @@ -107,10 +108,14 @@ export const Panel = memo(function Event({ className }: { className?: string }) name: i18n.translate('xpack.endpoint.resolver.panel.tabel.row.timestampTitle', { defaultMessage: 'Timestamp', }), - dataType: 'date' as const, + dataType: 'date', sortable: true, - render(eventTimestamp: Date) { - return formatter.format(eventTimestamp); + render(eventTimestamp?: Date) { + return eventTimestamp + ? formatter.format(eventTimestamp) + : i18n.translate('xpack.endpoint.resolver.panel.tabel.row.timestampInvalidLabel', { + defaultMessage: 'timestamp invalid', + }); }, }, {