import React, { FC } from 'react'; import { useFormContext } from 'react-hook-form'; import { Field, InputControl } from '@grafana/ui'; import { ExpressionEditor } from './ExpressionEditor'; import { RuleEditorSection } from './RuleEditorSection'; import { RuleFormType, RuleFormValues } from '../../types/rule-form'; import { QueryEditor } from './QueryEditor'; export const QueryStep: FC = () => { const { control, watch, formState: { errors }, } = useFormContext(); const type = watch('type'); const dataSourceName = watch('dataSourceName'); return ( {type === RuleFormType.cloud && dataSourceName && ( } control={control} rules={{ required: { value: true, message: 'A valid expression is required' }, }} /> )} {type === RuleFormType.grafana && ( } control={control} rules={{ validate: (queries) => Array.isArray(queries) && !!queries.length, }} /> )} ); };