From 13d5ad2ce2a7283dc25dace1328cbf0c11fec639 Mon Sep 17 00:00:00 2001 From: Leon Sorokin Date: Mon, 28 Nov 2022 06:29:00 -0600 Subject: [PATCH] BarChart: fix hover overlay for hz stacked (#59359) --- public/app/plugins/panel/barchart/bars.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/public/app/plugins/panel/barchart/bars.ts b/public/app/plugins/panel/barchart/bars.ts index a0b636e1fa6..08bc77b456d 100644 --- a/public/app/plugins/panel/barchart/bars.ts +++ b/public/app/plugins/panel/barchart/bars.ts @@ -459,16 +459,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, }; },