import React, { useCallback, useMemo } from 'react'; import { Button, GraphNGLegendEvent, TimeSeries, TooltipPlugin } from '@grafana/ui'; import { PanelProps } from '@grafana/data'; import { Options } from './types'; import { hideSeriesConfigFactory } from '../timeseries/overrides/hideSeriesConfigFactory'; import { getXYDimensions } from './dims'; interface XYChartPanelProps extends PanelProps {} export const XYChartPanel: React.FC = ({ data, timeRange, timeZone, width, height, options, fieldConfig, onFieldConfigChange, }) => { const dims = useMemo(() => getXYDimensions(options.dims, data.series), [options.dims, data.series]); const frames = useMemo(() => [dims.frame], [dims]); const onLegendClick = useCallback( (event: GraphNGLegendEvent) => { onFieldConfigChange(hideSeriesConfigFactory(event, fieldConfig, frames)); }, [fieldConfig, onFieldConfigChange, frames] ); if (dims.error) { return (
ERROR: {dims.error}
{dims.hasData && (
{dims.hasTime && }
)}
); } return ( {(config, alignedDataFrame) => { return ( ); }} ); };