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,
});
}}
/>
>
);
};