GraphPanel.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Libraries
  2. import _ from 'lodash';
  3. import React, { PureComponent } from 'react';
  4. // Utils
  5. import { processTimeSeries } from '@grafana/ui/src/utils';
  6. // Components
  7. import { Graph } from '@grafana/ui';
  8. // Types
  9. import { PanelProps, NullValueMode, TimeSeriesVMs } from '@grafana/ui/src/types';
  10. import { Options } from './types';
  11. interface Props extends PanelProps<Options> {}
  12. export class GraphPanel extends PureComponent<Props> {
  13. render() {
  14. const { data, timeRange, width, height } = this.props;
  15. const { showLines, showBars, showPoints } = this.props.options;
  16. let vmSeries: TimeSeriesVMs;
  17. if (data) {
  18. // For now, assume timeseries defaults
  19. const xColumn = 1; // time
  20. const yColumn = 0; // value
  21. vmSeries = processTimeSeries({
  22. data,
  23. xColumn,
  24. yColumn,
  25. nullValueMode: NullValueMode.Ignore,
  26. });
  27. }
  28. return (
  29. <Graph
  30. timeSeries={vmSeries}
  31. timeRange={timeRange}
  32. showLines={showLines}
  33. showPoints={showPoints}
  34. showBars={showBars}
  35. width={width}
  36. height={height}
  37. />
  38. );
  39. }
  40. }