import React, { ChangeEvent } from 'react'; import { PanelData } from '@grafana/data'; import { EditorField, EditorHeader, EditorRow, InlineSelect, Space } from '@grafana/experimental'; import { Input, Switch } from '@grafana/ui'; import { CloudWatchDatasource } from '../datasource'; import { useRegions } from '../hooks'; import { CloudWatchAnnotationQuery, CloudWatchMetricsQuery } from '../types'; import { MetricStatEditor } from './MetricStatEditor'; export type Props = { query: CloudWatchAnnotationQuery; datasource: CloudWatchDatasource; onChange: (value: CloudWatchAnnotationQuery) => void; data?: PanelData; }; export function AnnotationQueryEditor(props: React.PropsWithChildren) { const { query, onChange, datasource } = props; const [regions, regionIsLoading] = useRegions(datasource); return ( <> v.value === query.region)} placeholder="Select region" allowCustomValue onChange={({ value: region }) => region && onChange({ ...query, region })} options={regions} isLoading={regionIsLoading} /> onChange({ ...query, ...editorQuery })} onRunQuery={() => {}} > ) => onChange({ ...query, period: event.target.value })} /> { onChange({ ...query, prefixMatching: e.currentTarget.checked, }); }} /> ) => onChange({ ...query, actionPrefix: event.target.value }) } /> ) => onChange({ ...query, alarmNamePrefix: event.target.value }) } /> ); }