import * as React from 'react'; import useAsync from 'react-use/lib/useAsync'; import { DataSourcePluginOptionsEditorProps, updateDatasourcePluginJsonDataOption } from '@grafana/data'; import { getDataSourceSrv } from '@grafana/runtime'; import { InlineField, InlineFieldRow, InlineSwitch, useStyles2 } from '@grafana/ui'; import { TempoDatasource } from '../datasource'; import { TempoJsonData } from '../types'; import { getStyles } from './QuerySettings'; import { TraceQLSearchTags } from './TraceQLSearchTags'; interface Props extends DataSourcePluginOptionsEditorProps {} export function TraceQLSearchSettings({ options, onOptionsChange }: Props) { const styles = useStyles2(getStyles); const dataSourceSrv = getDataSourceSrv(); const fetchDatasource = async () => { return (await dataSourceSrv.get({ type: options.type, uid: options.uid })) as TempoDatasource; }; const { value: datasource } = useAsync(fetchDatasource, [dataSourceSrv, options]); return (
) => updateDatasourcePluginJsonDataOption({ onOptionsChange, options }, 'search', { ...options.jsonData.search, hide: event.currentTarget.checked, }) } />
); }