|
@@ -1,6 +1,6 @@
|
|
|
import React from 'react';
|
|
import React from 'react';
|
|
|
import { PanelData, GraphSeriesToggler } from '@grafana/ui';
|
|
import { PanelData, GraphSeriesToggler } from '@grafana/ui';
|
|
|
-import { GraphSeriesXY } from '@grafana/data';
|
|
|
|
|
|
|
+import { GraphSeriesXY, AbsoluteTimeRange } from '@grafana/data';
|
|
|
|
|
|
|
|
import { getGraphSeriesModel } from './getGraphSeriesModel';
|
|
import { getGraphSeriesModel } from './getGraphSeriesModel';
|
|
|
import { Options, SeriesOptions } from './types';
|
|
import { Options, SeriesOptions } from './types';
|
|
@@ -12,6 +12,7 @@ interface GraphPanelControllerAPI {
|
|
|
onSeriesColorChange: SeriesColorChangeHandler;
|
|
onSeriesColorChange: SeriesColorChangeHandler;
|
|
|
onSeriesToggle: (label: string, event: React.MouseEvent<HTMLElement>) => void;
|
|
onSeriesToggle: (label: string, event: React.MouseEvent<HTMLElement>) => void;
|
|
|
onToggleSort: (sortBy: string) => void;
|
|
onToggleSort: (sortBy: string) => void;
|
|
|
|
|
+ onHorizontalRegionSelected: (from: number, to: number) => void;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
interface GraphPanelControllerProps {
|
|
interface GraphPanelControllerProps {
|
|
@@ -19,6 +20,7 @@ interface GraphPanelControllerProps {
|
|
|
options: Options;
|
|
options: Options;
|
|
|
data: PanelData;
|
|
data: PanelData;
|
|
|
onOptionsChange: (options: Options) => void;
|
|
onOptionsChange: (options: Options) => void;
|
|
|
|
|
+ onChangeTimeRange: (timeRange: AbsoluteTimeRange) => void;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
interface GraphPanelControllerState {
|
|
interface GraphPanelControllerState {
|
|
@@ -32,6 +34,7 @@ export class GraphPanelController extends React.Component<GraphPanelControllerPr
|
|
|
this.onSeriesColorChange = this.onSeriesColorChange.bind(this);
|
|
this.onSeriesColorChange = this.onSeriesColorChange.bind(this);
|
|
|
this.onSeriesAxisToggle = this.onSeriesAxisToggle.bind(this);
|
|
this.onSeriesAxisToggle = this.onSeriesAxisToggle.bind(this);
|
|
|
this.onToggleSort = this.onToggleSort.bind(this);
|
|
this.onToggleSort = this.onToggleSort.bind(this);
|
|
|
|
|
+ this.onHorizontalRegionSelected = this.onHorizontalRegionSelected.bind(this);
|
|
|
|
|
|
|
|
this.state = {
|
|
this.state = {
|
|
|
graphSeriesModel: getGraphSeriesModel(
|
|
graphSeriesModel: getGraphSeriesModel(
|
|
@@ -113,6 +116,11 @@ export class GraphPanelController extends React.Component<GraphPanelControllerPr
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ onHorizontalRegionSelected(from: number, to: number) {
|
|
|
|
|
+ const { onChangeTimeRange } = this.props;
|
|
|
|
|
+ onChangeTimeRange({ from, to });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
render() {
|
|
render() {
|
|
|
const { children } = this.props;
|
|
const { children } = this.props;
|
|
|
const { graphSeriesModel } = this.state;
|
|
const { graphSeriesModel } = this.state;
|
|
@@ -126,6 +134,7 @@ export class GraphPanelController extends React.Component<GraphPanelControllerPr
|
|
|
onSeriesAxisToggle: this.onSeriesAxisToggle,
|
|
onSeriesAxisToggle: this.onSeriesAxisToggle,
|
|
|
onToggleSort: this.onToggleSort,
|
|
onToggleSort: this.onToggleSort,
|
|
|
onSeriesToggle: onSeriesToggle,
|
|
onSeriesToggle: onSeriesToggle,
|
|
|
|
|
+ onHorizontalRegionSelected: this.onHorizontalRegionSelected,
|
|
|
});
|
|
});
|
|
|
}}
|
|
}}
|
|
|
</GraphSeriesToggler>
|
|
</GraphSeriesToggler>
|