[v9.2.x] BarChart: fix hover overlay for hz stacked (#59397)

BarChart: fix hover overlay for hz stacked (#59359)

(cherry picked from commit 13d5ad2ce2)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
This commit is contained in:
Grot (@grafanabot)
2022-11-28 09:00:33 -05:00
committed by GitHub
co-authored by Leon Sorokin
parent 052fd5713d
commit 12fc64b389
+8 -3
View File
@@ -457,16 +457,21 @@ export function getConfig(opts: BarsOptions, theme: GrafanaTheme2) {
let isHovered = hRect && seriesIdx === hRect.sidx;
let heightReduce = 0;
let widthReduce = 0;
// get height of bar rect at same index of the series below the hovered one
if (isStacked && isHovered && hRect!.sidx > 1) {
heightReduce = findRect(qt, hRect!.sidx - 1, hRect!.didx)!.h;
if (isXHorizontal) {
heightReduce = findRect(qt, hRect!.sidx - 1, hRect!.didx)!.h;
} else {
widthReduce = findRect(qt, hRect!.sidx - 1, hRect!.didx)!.w;
}
}
return {
left: isHovered ? hRect!.x / devicePixelRatio : -10,
left: isHovered ? (hRect!.x + widthReduce) / devicePixelRatio : -10,
top: isHovered ? hRect!.y / devicePixelRatio : -10,
width: isHovered ? hRect!.w / devicePixelRatio : 0,
width: isHovered ? (hRect!.w - widthReduce) / devicePixelRatio : 0,
height: isHovered ? (hRect!.h - heightReduce) / devicePixelRatio : 0,
};
},