import { useState } from 'react'; import { InlineField, Input, Select } from '@grafana/ui'; import { GraphiteQuery, GraphiteQueryType } from '../types'; import { convertToGraphiteQueryObject } from './helpers'; interface Props { query: GraphiteQuery | string; onChange: (query: GraphiteQuery, definition: string) => void; } const GRAPHITE_QUERY_VARIABLE_TYPE_OPTIONS = [ { label: 'Default Query', value: GraphiteQueryType.Default }, { label: 'Value Query', value: GraphiteQueryType.Value }, { label: 'Metric Name Query', value: GraphiteQueryType.MetricName }, ]; export const GraphiteVariableEditor = (props: Props) => { const { query, onChange } = props; const [value, setValue] = useState(convertToGraphiteQueryObject(query)); return ( <> onChange(value, value.target ?? '')} onChange={(e) => { setValue({ ...value, target: e.currentTarget.value, }); }} /> ); };