From 5d556b697b3e5c10b851b23639f6ee7272487dd6 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Tue, 13 Jun 2023 19:29:02 +0200 Subject: [PATCH] [v10.0.x] Geomap: Optimize panel rendering behavior (#70024) Geomap: Optimize panel rendering behavior (#69827) (cherry picked from commit feb2b5878b3e3ec551d64872c35edec2a0187812) Co-authored-by: Nathan Marrs --- public/app/plugins/panel/geomap/utils/tootltip.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/public/app/plugins/panel/geomap/utils/tootltip.ts b/public/app/plugins/panel/geomap/utils/tootltip.ts index 703f96009dd..3e1f8681bfb 100644 --- a/public/app/plugins/panel/geomap/utils/tootltip.ts +++ b/public/app/plugins/panel/geomap/utils/tootltip.ts @@ -99,7 +99,10 @@ export const pointerMoveListener = (evt: MapBrowserEvent, panel: Geo panel.hoverPayload.layers = layers.length ? layers : undefined; panel.props.eventBus.publish(panel.hoverEvent); - panel.setState({ ttip: { ...hoverPayload } }); + // This check optimizes Geomap panel re-render behavior (without it, Geomap renders on every mouse move event) + if (panel.state.ttip === undefined || panel.state.ttip?.layers !== hoverPayload.layers || hoverPayload.layers) { + panel.setState({ ttip: { ...hoverPayload } }); + } if (!layers.length) { // clear mouse events