[v10.0.x] Geomap: Optimize panel rendering behavior (#70024)

Geomap: Optimize panel rendering behavior (#69827)

(cherry picked from commit feb2b5878b)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
This commit is contained in:
Grot (@grafanabot)
2023-06-13 20:29:02 +03:00
committed by GitHub
co-authored by Nathan Marrs
parent 1b2e96e385
commit 5d556b697b
@@ -99,7 +99,10 @@ export const pointerMoveListener = (evt: MapBrowserEvent<MouseEvent>, 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