import React, { FC, useMemo, useState } from 'react'; import { css } from '@emotion/css'; import { getFrameDisplayName, GrafanaTheme, PanelData, SelectableValue } from '@grafana/data'; import { Button, Select, stylesFactory, Table, useTheme } from '@grafana/ui'; import { EmptyState } from './EmptyState'; interface Props { data: PanelData; width: number; height: number; } export const PreviewQueryTab: FC = ({ data, height, width }) => { const [currentSeries, setSeries] = useState(0); const theme = useTheme(); const styles = getStyles(theme, height); const series = useMemo>>(() => { if (data?.series) { return data.series.map((frame, index) => ({ value: index, label: getFrameDisplayName(frame) })); } return []; }, [data]); // Select padding const padding = 16; if (!data) { return ( ); } if (!data.series) { return null; } if (data.series.length > 1) { return (
; }; const getStyles = stylesFactory((theme: GrafanaTheme, height: number) => { return { wrapper: css` label: preview-wrapper; height: ${height}px; `, selectWrapper: css` padding: ${theme.spacing.md}; `, }; });