TablePanelEditor.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. //// Libraries
  2. import _ from 'lodash';
  3. import React, { PureComponent } from 'react';
  4. // Types
  5. import { PanelEditorProps, Switch, FormField } from '@grafana/ui';
  6. import { Options } from './types';
  7. export class TablePanelEditor extends PureComponent<PanelEditorProps<Options>> {
  8. onToggleShowHeader = () => {
  9. this.props.onOptionsChange({ ...this.props.options, showHeader: !this.props.options.showHeader });
  10. };
  11. onRowsPerPageChange = ({ target }) => this.props.onOptionsChange({ ...this.props.options, pageSize: target.value });
  12. render() {
  13. const { showHeader, pageSize } = this.props.options;
  14. return (
  15. <div>
  16. <div className="section gf-form-group">
  17. <h5 className="section-heading">Header</h5>
  18. <Switch label="Show" labelClass="width-5" checked={showHeader} onChange={this.onToggleShowHeader} />
  19. </div>
  20. <div className="section gf-form-group">
  21. <h5 className="section-heading">Paging</h5>
  22. <FormField label="Rows per page" labelWidth={8} onChange={this.onRowsPerPageChange} value={pageSize} />
  23. </div>
  24. </div>
  25. );
  26. }
  27. }