From 728b67ce0fe534f4a4904ae31cbd4b07f1aebc6c Mon Sep 17 00:00:00 2001 From: Alex P Date: Thu, 12 Jul 2018 13:17:26 -0700 Subject: [PATCH] Pass time up instead of entire bar group on click --- ui/src/logs/containers/LogsPage.tsx | 13 ++------- ui/src/shared/components/HistogramChart.tsx | 3 +- .../shared/components/HistogramChartBars.tsx | 29 +++++++++++++++---- ui/src/types/histogram.ts | 20 ------------- 4 files changed, 28 insertions(+), 37 deletions(-) diff --git a/ui/src/logs/containers/LogsPage.tsx b/ui/src/logs/containers/LogsPage.tsx index de009e5f2d..187a9bb1d1 100644 --- a/ui/src/logs/containers/LogsPage.tsx +++ b/ui/src/logs/containers/LogsPage.tsx @@ -39,7 +39,7 @@ import OverlayTechnology from 'src/reusable_ui/components/overlays/OverlayTechno import {SeverityFormatOptions, SECONDS_TO_MS} from 'src/logs/constants' import {Source, Namespace} from 'src/types' -import {HistogramData, HistogramColor, BarGroup} from 'src/types/histogram' +import {HistogramData, HistogramColor} from 'src/types/histogram' import { Filter, SeverityLevelColor, @@ -397,15 +397,8 @@ class LogsPage extends Component { this.props.executeQueriesAsync() } - private handleBarClick = (group: BarGroup): void => { - const {data} = group - - if (!data.length) { - return - } - - const unixTimestamp = data[0].time - const timeOption = moment(unixTimestamp).toISOString() + private handleBarClick = (time: string): void => { + const timeOption = moment(time).toISOString() this.handleSetTimeMarker({timeOption}) } diff --git a/ui/src/shared/components/HistogramChart.tsx b/ui/src/shared/components/HistogramChart.tsx index 8dcf7c5c79..c7c01208a4 100644 --- a/ui/src/shared/components/HistogramChart.tsx +++ b/ui/src/shared/components/HistogramChart.tsx @@ -17,7 +17,6 @@ import { HoverData, ColorScale, HistogramColor, - BarGroup, } from 'src/types/histogram' const PADDING_TOP = 0.2 @@ -35,7 +34,7 @@ interface Props { colors: HistogramColor[] colorScale: ColorScale onZoom?: (TimePeriod) => void - onBarClick?: (group: BarGroup) => void + onBarClick?: (time: string) => void } interface State { diff --git a/ui/src/shared/components/HistogramChartBars.tsx b/ui/src/shared/components/HistogramChartBars.tsx index 0d93012930..95b94d9fba 100644 --- a/ui/src/shared/components/HistogramChartBars.tsx +++ b/ui/src/shared/components/HistogramChartBars.tsx @@ -12,7 +12,6 @@ import { TooltipAnchor, ColorScale, HistogramColor, - BarGroup, } from 'src/types/histogram' const BAR_BORDER_RADIUS = 3 @@ -114,6 +113,25 @@ const getBarGroups = ({ }) } +interface BarGroup { + key: string + clip: { + x: number + y: number + width: number + height: number + } + bars: Array<{ + key: string + group: string + x: number + y: number + width: number + height: number + fill: string + }> + data: HistogramData +} interface Props { width: number height: number @@ -124,7 +142,7 @@ interface Props { hoverData?: HoverData colors: HistogramColor[] onHover: (h: HoverData) => void - onBarClick?: (group: BarGroup) => void + onBarClick?: (time: string) => void } interface State { @@ -155,7 +173,7 @@ class HistogramChartBars extends PureComponent { data-key={key} onMouseOver={this.handleMouseOver} onMouseOut={this.handleMouseOut} - onClick={this.handleBarClick(group)} + onClick={this.handleBarClick(group.data)} > @@ -188,11 +206,12 @@ class HistogramChartBars extends PureComponent { }) } - private handleBarClick = (group: BarGroup) => (): void => { + private handleBarClick = data => (): void => { const {onBarClick} = this.props if (onBarClick) { - onBarClick(group) + const time = data[0].time + onBarClick(time) } } diff --git a/ui/src/types/histogram.ts b/ui/src/types/histogram.ts index 8a980c2b1e..3c151da6d9 100644 --- a/ui/src/types/histogram.ts +++ b/ui/src/types/histogram.ts @@ -36,23 +36,3 @@ export interface HistogramColor { group: string color: string } - -export interface BarGroup { - key: string - clip: { - x: number - y: number - width: number - height: number - } - bars: Array<{ - key: string - group: string - x: number - y: number - width: number - height: number - fill: string - }> - data: HistogramData -}