import { css } from '@emotion/css'; import React from 'react'; import AutoSizer from 'react-virtualized-auto-sizer'; import { FieldConfigSource, FieldMatcherID, GrafanaTheme2, LoadingState } from '@grafana/data'; import { PanelRenderer } from '@grafana/runtime'; import { TableCellDisplayMode, useStyles2 } from '@grafana/ui'; import { PreviewRuleResponse } from '../../types/preview'; import { RuleFormType } from '../../types/rule-form'; import { messageFromError } from '../../utils/redux'; type Props = { preview: PreviewRuleResponse | undefined; }; export function PreviewRuleResult(props: Props): React.ReactElement | null { const { preview } = props; const styles = useStyles2(getStyles); const fieldConfig: FieldConfigSource = { defaults: {}, overrides: [ { matcher: { id: FieldMatcherID.byName, options: 'Info' }, properties: [{ id: 'custom.displayMode', value: TableCellDisplayMode.JSONView }], }, ], }; if (!preview) { return null; } const { data, ruleType } = preview; if (data.state === LoadingState.Loading) { return (