diff --git a/packages/grafana-prometheus/src/components/PromQueryField.test.tsx b/packages/grafana-prometheus/src/components/PromQueryField.test.tsx index d3fc7b80360..62fbdde8232 100644 --- a/packages/grafana-prometheus/src/components/PromQueryField.test.tsx +++ b/packages/grafana-prometheus/src/components/PromQueryField.test.tsx @@ -80,6 +80,19 @@ describe('PromQueryField', () => { expect(bcButton).toBeDisabled(); }); + it('renders no metrics chooser if hidden by props', async () => { + const props = { + ...defaultProps, + hideMetricsBrowser: true, + }; + const queryField = render(); + + // wait for component to render + await screen.findByTestId('dummy-code-input'); + + expect(queryField.queryByRole('button')).not.toBeInTheDocument(); + }); + it('renders an initial hint if no data and initial hint provided', async () => { const props = defaultProps; props.datasource.lookupsDisabled = true; diff --git a/packages/grafana-prometheus/src/components/PromQueryField.tsx b/packages/grafana-prometheus/src/components/PromQueryField.tsx index 289b206b7d2..1a6f95bba50 100644 --- a/packages/grafana-prometheus/src/components/PromQueryField.tsx +++ b/packages/grafana-prometheus/src/components/PromQueryField.tsx @@ -25,6 +25,7 @@ import { MonacoQueryFieldWrapper } from './monaco-query-field/MonacoQueryFieldWr interface PromQueryFieldProps extends QueryEditorProps { ExtraFieldElement?: ReactNode; + hideMetricsBrowser?: boolean; 'data-testid'?: string; } @@ -40,6 +41,7 @@ export const PromQueryField = (props: PromQueryFieldProps) => { range, onChange, onRunQuery, + hideMetricsBrowser = false, } = props; const theme = useTheme2(); @@ -111,20 +113,22 @@ export const PromQueryField = (props: PromQueryFieldProps) => { className="gf-form-inline gf-form-inline--xs-view-flex-column flex-grow-1" data-testid={props['data-testid']} > - + {!hideMetricsBrowser && ( + + )}