Prometheus: Frontend library exports (#81909)

* fix components folders for exports

* export files in the components folder

* export metrics modal and fix exports

* export promquail and fix exports

* export querybuilder/components and fix exports

* export querybuilder

* main index file exports

* run prettier
This commit is contained in:
Brendan O'Handley
2024-02-06 08:27:09 -06:00
committed by GitHub
parent 32a7aa33b8
commit ec0eb8fd79
30 changed files with 285 additions and 212 deletions

View File

@ -4,7 +4,11 @@ import React from 'react';
import { PrometheusDatasource } from '../datasource';
import { PromQuery } from '../types';
import { PromExploreExtraField, PromExploreExtraFieldProps, testIds } from './PromExploreExtraField';
import {
PromExploreExtraField,
PromExploreExtraFieldProps,
promExploreExtraFieldTestIds,
} from './PromExploreExtraField';
const setup = (propOverrides?: PromExploreExtraFieldProps) => {
const query = { exemplar: false } as PromQuery;
@ -27,11 +31,11 @@ const setup = (propOverrides?: PromExploreExtraFieldProps) => {
describe('PromExploreExtraField', () => {
it('should render step field', () => {
setup();
expect(screen.getByTestId(testIds.stepField)).toBeInTheDocument();
expect(screen.getByTestId(promExploreExtraFieldTestIds.stepField)).toBeInTheDocument();
});
it('should render query type field', () => {
setup();
expect(screen.getByTestId(testIds.queryTypeField)).toBeInTheDocument();
expect(screen.getByTestId(promExploreExtraFieldTestIds.queryTypeField)).toBeInTheDocument();
});
});

View File

@ -49,10 +49,14 @@ export const PromExploreExtraField = memo(({ query, datasource, onChange, onRunQ
const onQueryTypeChange = getQueryTypeChangeHandler(query, onChange);
return (
<div aria-label="Prometheus extra field" className="gf-form-inline" data-testid={testIds.extraFieldEditor}>
<div
aria-label="Prometheus extra field"
className="gf-form-inline"
data-testid={promExploreExtraFieldTestIds.extraFieldEditor}
>
{/*Query type field*/}
<div
data-testid={testIds.queryTypeField}
data-testid={promExploreExtraFieldTestIds.queryTypeField}
className={cx(
'gf-form explore-input-margin',
css`
@ -71,7 +75,7 @@ export const PromExploreExtraField = memo(({ query, datasource, onChange, onRunQ
</div>
{/*Step field*/}
<div
data-testid={testIds.stepField}
data-testid={promExploreExtraFieldTestIds.stepField}
className={cx(
'gf-form',
css`
@ -134,7 +138,7 @@ export function getQueryTypeChangeHandler(query: PromQuery, onChange: (update: P
};
}
export const testIds = {
export const promExploreExtraFieldTestIds = {
extraFieldEditor: 'prom-editor-extra-field',
stepField: 'prom-editor-extra-field-step',
queryTypeField: 'prom-editor-extra-field-query-type',

View File

@ -7,7 +7,7 @@ import { CoreApp } from '@grafana/data';
import { PrometheusDatasource } from '../datasource';
import { PromQueryEditorByApp } from './PromQueryEditorByApp';
import { testIds as alertingTestIds } from './PromQueryEditorForAlerting';
import { alertingTestIds } from './PromQueryEditorForAlerting';
import { Props } from './monaco-query-field/MonacoQueryFieldProps';
// the monaco-based editor uses lazy-loading and that does not work

View File

@ -15,11 +15,11 @@ export function PromQueryEditorForAlerting(props: PromQueryEditorProps) {
history={[]}
range={range}
data={data}
data-testid={testIds.editor}
data-testid={alertingTestIds.editor}
/>
);
}
export const testIds = {
export const alertingTestIds = {
editor: 'prom-editor-cloud-alerting',
};

View File

@ -0,0 +1,10 @@
export * from './AnnotationQueryEditor';
export * from './PromCheatSheet';
export * from './PrometheusMetricsBrowser';
export * from './PromExemplarField';
export * from './PromExploreExtraField';
export * from './PromQueryEditorByApp';
export * from './PromQueryEditorForAlerting';
export * from './PromQueryField';
export * from './types';
export * from './VariableQueryEditor';