import React from 'react'; import { SelectableValue } from '@grafana/data'; import { Metrics, LabelFilter, GroupBy, Preprocessor, Alignment } from '.'; import { MetricQuery, MetricDescriptor, CustomMetaData, SLOQuery } from '../types'; import CloudMonitoringDatasource from '../datasource'; export interface Props { customMetaData: CustomMetaData; variableOptionGroup: SelectableValue; onMetricTypeChange: (query: MetricDescriptor) => void; onChange: (query: MetricQuery | SLOQuery) => void; query: MetricQuery; datasource: CloudMonitoringDatasource; labels: any; } function Editor({ query, labels, datasource, onChange, onMetricTypeChange, customMetaData, variableOptionGroup, }: React.PropsWithChildren) { return ( {(metric) => ( <> onChange({ ...query, filters })} variableOptionGroup={variableOptionGroup} /> )} ); } export const VisualMetricQueryEditor = React.memo(Editor);