Commit 8c65430e by Torkel Ödegaard Committed by GitHub

Merge pull request #15251 from grafana/14822-use-autosizer

Remove react-sizeme and use AutoSizer
parents 6caae916 c47c2528
...@@ -211,7 +211,7 @@ export class Explore extends React.PureComponent<ExploreProps> { ...@@ -211,7 +211,7 @@ export class Explore extends React.PureComponent<ExploreProps> {
{showingStartPage && <StartPage onClickExample={this.onClickExample} />} {showingStartPage && <StartPage onClickExample={this.onClickExample} />}
{!showingStartPage && ( {!showingStartPage && (
<> <>
{supportsGraph && !supportsLogs && <GraphContainer exploreId={exploreId} />} {supportsGraph && !supportsLogs && <GraphContainer width={width} exploreId={exploreId} />}
{supportsTable && <TableContainer exploreId={exploreId} onClickCell={this.onClickLabel} />} {supportsTable && <TableContainer exploreId={exploreId} onClickCell={this.onClickLabel} />}
{supportsLogs && ( {supportsLogs && (
<LogsContainer <LogsContainer
......
...@@ -5,6 +5,7 @@ import { mockData } from './__mocks__/mockData'; ...@@ -5,6 +5,7 @@ import { mockData } from './__mocks__/mockData';
const setup = (propOverrides?: object) => { const setup = (propOverrides?: object) => {
const props = { const props = {
size: { width: 10, height: 20 },
data: mockData().slice(0, 19), data: mockData().slice(0, 19),
range: { from: 'now-6h', to: 'now' }, range: { from: 'now-6h', to: 'now' },
...propOverrides, ...propOverrides,
......
import $ from 'jquery'; import $ from 'jquery';
import React, { PureComponent } from 'react'; import React, { PureComponent } from 'react';
import moment from 'moment'; import moment from 'moment';
import { withSize } from 'react-sizeme';
import 'vendor/flot/jquery.flot'; import 'vendor/flot/jquery.flot';
import 'vendor/flot/jquery.flot.time'; import 'vendor/flot/jquery.flot.time';
...@@ -76,11 +75,11 @@ const FLOT_OPTIONS = { ...@@ -76,11 +75,11 @@ const FLOT_OPTIONS = {
interface GraphProps { interface GraphProps {
data: any[]; data: any[];
height?: string; // e.g., '200px' height?: number;
width?: number;
id?: string; id?: string;
range: RawTimeRange; range: RawTimeRange;
split?: boolean; split?: boolean;
size?: { width: number; height: number };
userOptions?: any; userOptions?: any;
onChangeTime?: (range: RawTimeRange) => void; onChangeTime?: (range: RawTimeRange) => void;
onToggleSeries?: (alias: string, hiddenSeries: Set<string>) => void; onToggleSeries?: (alias: string, hiddenSeries: Set<string>) => void;
...@@ -122,7 +121,7 @@ export class Graph extends PureComponent<GraphProps, GraphState> { ...@@ -122,7 +121,7 @@ export class Graph extends PureComponent<GraphProps, GraphState> {
prevProps.range !== this.props.range || prevProps.range !== this.props.range ||
prevProps.split !== this.props.split || prevProps.split !== this.props.split ||
prevProps.height !== this.props.height || prevProps.height !== this.props.height ||
(prevProps.size && prevProps.size.width !== this.props.size.width) || prevProps.width !== this.props.width ||
!equal(prevState.hiddenSeries, this.state.hiddenSeries) !equal(prevState.hiddenSeries, this.state.hiddenSeries)
) { ) {
this.draw(); this.draw();
...@@ -144,8 +143,8 @@ export class Graph extends PureComponent<GraphProps, GraphState> { ...@@ -144,8 +143,8 @@ export class Graph extends PureComponent<GraphProps, GraphState> {
}; };
getDynamicOptions() { getDynamicOptions() {
const { range, size } = this.props; const { range, width } = this.props;
const ticks = (size.width || 0) / 100; const ticks = (width || 0) / 100;
let { from, to } = range; let { from, to } = range;
if (!moment.isMoment(from)) { if (!moment.isMoment(from)) {
from = dateMath.parse(from, false); from = dateMath.parse(from, false);
...@@ -237,7 +236,7 @@ export class Graph extends PureComponent<GraphProps, GraphState> { ...@@ -237,7 +236,7 @@ export class Graph extends PureComponent<GraphProps, GraphState> {
} }
render() { render() {
const { height = '100px', id = 'graph' } = this.props; const { height = 100, id = 'graph' } = this.props;
const { hiddenSeries } = this.state; const { hiddenSeries } = this.state;
const data = this.getGraphData(); const data = this.getGraphData();
...@@ -261,4 +260,4 @@ export class Graph extends PureComponent<GraphProps, GraphState> { ...@@ -261,4 +260,4 @@ export class Graph extends PureComponent<GraphProps, GraphState> {
} }
} }
export default withSize()(Graph); export default Graph;
...@@ -20,6 +20,7 @@ interface GraphContainerProps { ...@@ -20,6 +20,7 @@ interface GraphContainerProps {
split: boolean; split: boolean;
toggleGraph: typeof toggleGraph; toggleGraph: typeof toggleGraph;
changeTime: typeof changeTime; changeTime: typeof changeTime;
width: number;
} }
export class GraphContainer extends PureComponent<GraphContainerProps> { export class GraphContainer extends PureComponent<GraphContainerProps> {
...@@ -32,8 +33,8 @@ export class GraphContainer extends PureComponent<GraphContainerProps> { ...@@ -32,8 +33,8 @@ export class GraphContainer extends PureComponent<GraphContainerProps> {
}; };
render() { render() {
const { exploreId, graphResult, loading, showingGraph, showingTable, range, split } = this.props; const { exploreId, graphResult, loading, showingGraph, showingTable, range, split, width } = this.props;
const graphHeight = showingGraph && showingTable ? '200px' : '400px'; const graphHeight = showingGraph && showingTable ? 200 : 400;
if (!graphResult) { if (!graphResult) {
return null; return null;
...@@ -48,6 +49,7 @@ export class GraphContainer extends PureComponent<GraphContainerProps> { ...@@ -48,6 +49,7 @@ export class GraphContainer extends PureComponent<GraphContainerProps> {
onChangeTime={this.onChangeTime} onChangeTime={this.onChangeTime}
range={range} range={range}
split={split} split={split}
width={width}
/> />
</Panel> </Panel>
); );
......
...@@ -214,7 +214,7 @@ export default class Logs extends PureComponent<Props, State> { ...@@ -214,7 +214,7 @@ export default class Logs extends PureComponent<Props, State> {
<div className="logs-panel-graph"> <div className="logs-panel-graph">
<Graph <Graph
data={timeSeries} data={timeSeries}
height="100px" height={100}
range={range} range={range}
id={`explore-logs-graph-${exploreId}`} id={`explore-logs-graph-${exploreId}`}
onChangeTime={this.props.onChangeTime} onChangeTime={this.props.onChangeTime}
......
...@@ -7,7 +7,7 @@ exports[`Render should render component 1`] = ` ...@@ -7,7 +7,7 @@ exports[`Render should render component 1`] = `
id="graph" id="graph"
style={ style={
Object { Object {
"height": "100px", "height": 100,
} }
} }
/> />
...@@ -480,7 +480,7 @@ exports[`Render should render component with disclaimer 1`] = ` ...@@ -480,7 +480,7 @@ exports[`Render should render component with disclaimer 1`] = `
id="graph" id="graph"
style={ style={
Object { Object {
"height": "100px", "height": 100,
} }
} }
/> />
...@@ -962,7 +962,7 @@ exports[`Render should show query return no time series 1`] = ` ...@@ -962,7 +962,7 @@ exports[`Render should show query return no time series 1`] = `
id="graph" id="graph"
style={ style={
Object { Object {
"height": "100px", "height": 100,
} }
} }
/> />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment