import React, { useMemo } from 'react'; import { FieldType, PanelProps, TimeRange, VizOrientation } from '@grafana/data'; import { TooltipPlugin } from '@grafana/ui'; import { BarChartOptions } from './types'; import { BarChart } from './BarChart'; interface Props extends PanelProps {} /** * @alpha */ export const BarChartPanel: React.FunctionComponent = ({ data, options, width, height, timeZone }) => { const orientation = useMemo(() => { if (!options.orientation || options.orientation === VizOrientation.Auto) { return width < height ? VizOrientation.Horizontal : VizOrientation.Vertical; } return options.orientation; }, [width, height, options.orientation]); if (!data || !data.series?.length) { return (

No data found in response

); } const firstFrame = data.series[0]; if (!firstFrame.fields.some((f) => f.type === FieldType.string)) { return (

Bar charts requires a string field

); } if (!firstFrame.fields.some((f) => f.type === FieldType.number)) { return (

No numeric fields found

); } return ( {(config, alignedFrame) => { return ; }} ); };