// Libraries import React, { PureComponent } from 'react'; import { PanelEditorProps, ThresholdsEditor, Threshold, PanelOptionsGrid, ValueMappingsEditor, ValueMapping, FieldDisplayOptions, FieldDisplayEditor, FieldPropertiesEditor, Field, PanelOptionsGroup, } from '@grafana/ui'; import { SingleStatOptions, SparklineOptions } from './types'; import { ColoringEditor } from './ColoringEditor'; import { FontSizeEditor } from './FontSizeEditor'; import { SparklineEditor } from './SparklineEditor'; export class SingleStatEditor extends PureComponent> { onThresholdsChanged = (thresholds: Threshold[]) => this.onDisplayOptionsChanged({ ...this.props.options.fieldOptions, thresholds, }); onValueMappingsChanged = (mappings: ValueMapping[]) => this.onDisplayOptionsChanged({ ...this.props.options.fieldOptions, mappings, }); onDisplayOptionsChanged = (fieldOptions: FieldDisplayOptions) => this.props.onOptionsChange({ ...this.props.options, fieldOptions, }); onSparklineChanged = (sparkline: SparklineOptions) => this.props.onOptionsChange({ ...this.props.options, sparkline, }); onDefaultsChange = (field: Partial) => { this.onDisplayOptionsChanged({ ...this.props.options.fieldOptions, override: field, }); }; render() { const { options } = this.props; const { fieldOptions } = options; return ( <> ); } }