Histogram: Send proper dataframe to PlotLegend (#53284) (#53462)

* Send proper dataframe to PlotLegend

* Update dataFrameFieldIndex for multiple frames

(cherry picked from commit 3893c46976)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
This commit is contained in:
Grot (@grafanabot)
2022-08-09 08:53:18 -04:00
committed by GitHub
co-authored by Victor Marin
parent 2873e044df
commit 10aba4d7ed
2 changed files with 6 additions and 4 deletions
@@ -41,6 +41,7 @@ export interface HistogramProps extends Themeable2 {
height: number;
structureRev?: number; // a number that will change when the frames[] structure changes
legend: VizLegendOptions;
rawSeries?: DataFrame[];
children?: (builder: UPlotConfigBuilder, frame: DataFrame) => React.ReactNode;
}
@@ -209,8 +210,8 @@ const prepConfig = (frame: DataFrame, theme: GrafanaTheme2) => {
// The following properties are not used in the uPlot config, but are utilized as transport for legend config
dataFrameFieldIndex: {
fieldIndex: i,
frameIndex: 0,
fieldIndex: 1,
frameIndex: i - 2,
},
});
}
@@ -271,11 +272,11 @@ export class Histogram extends React.Component<HistogramProps, State> {
renderLegend(config: UPlotConfigBuilder) {
const { legend } = this.props;
if (!config || legend.showLegend === false) {
if (!config || legend.showLegend === false || !this.props.rawSeries) {
return null;
}
return <PlotLegend data={[this.props.alignedFrame]} config={config} maxHeight="35%" maxWidth="60%" {...legend} />;
return <PlotLegend data={this.props.rawSeries} config={config} maxHeight="35%" maxWidth="60%" {...legend} />;
}
componentDidUpdate(prevProps: HistogramProps) {
@@ -45,6 +45,7 @@ export const HistogramPanel: React.FC<Props> = ({ data, options, width, height }
options={options}
theme={theme}
legend={options.legend}
rawSeries={data.series}
structureRev={data.structureRev}
width={width}
height={height}