GraphOptions.tsx 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //// Libraries
  2. import _ from 'lodash';
  3. import React, { PureComponent } from 'react';
  4. // Components
  5. import { Switch } from 'app/core/components/Switch/Switch';
  6. // Types
  7. import { PanelOptionsProps } from 'app/types';
  8. import { Options } from './types';
  9. export class GraphOptions extends PureComponent<PanelOptionsProps<Options>> {
  10. onToggleLines = () => {
  11. this.props.onChange({ ...this.props.options, showLines: !this.props.options.showLines });
  12. };
  13. onToggleBars = () => {
  14. this.props.onChange({ ...this.props.options, showBars: !this.props.options.showBars });
  15. };
  16. onTogglePoints = () => {
  17. this.props.onChange({ ...this.props.options, showPoints: !this.props.options.showPoints });
  18. };
  19. render() {
  20. const { showBars, showPoints, showLines } = this.props.options;
  21. return (
  22. <div>
  23. <div className="form-option-box">
  24. <div className="form-option-box__header">Display Options</div>
  25. <div className="section gf-form-group">
  26. <h5 className="section-heading">Draw Modes</h5>
  27. <Switch label="Lines" labelClass="width-5" checked={showLines} onChange={this.onToggleLines} />
  28. <Switch label="Bars" labelClass="width-5" checked={showBars} onChange={this.onToggleBars} />
  29. <Switch label="Points" labelClass="width-5" checked={showPoints} onChange={this.onTogglePoints} />
  30. </div>
  31. <div className="section gf-form-group">
  32. <h5 className="section-heading">Test Options</h5>
  33. <Switch label="Lines" labelClass="width-5" checked={showLines} onChange={this.onToggleLines} />
  34. <Switch label="Bars" labelClass="width-5" checked={showBars} onChange={this.onToggleBars} />
  35. <Switch label="Points" labelClass="width-5" checked={showPoints} onChange={this.onTogglePoints} />
  36. </div>
  37. </div>
  38. <div className="form-option-box">
  39. <div className="form-option-box__header">Axes</div>
  40. </div>
  41. <div className="form-option-box">
  42. <div className="form-option-box__header">Thresholds</div>
  43. </div>
  44. </div>
  45. );
  46. }
  47. }