From ca449f8087548f0286f7433af06f99fab3763bd8 Mon Sep 17 00:00:00 2001 From: Jeff Niu Date: Mon, 18 Sep 2017 10:09:43 -0700 Subject: [PATCH] Bugfix: nvd3 tooltips do not disappear --- superset/assets/visualizations/nvd3_vis.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/superset/assets/visualizations/nvd3_vis.js b/superset/assets/visualizations/nvd3_vis.js index 831b99710e86..5f8be80faaa4 100644 --- a/superset/assets/visualizations/nvd3_vis.js +++ b/superset/assets/visualizations/nvd3_vis.js @@ -478,6 +478,19 @@ function nvd3Vis(slice, payload) { .call(chart); } + // clean up tooltips when switching to another viz + const container = $(slice.selector); + if (!container.data('observed')) { + container.data('observed', true); // limit to one observer + const observer = new MutationObserver(() => { + container.data('observed', false); + $('.nvtooltip').remove(); + observer.disconnect(); + }); + const cfg = { attributes: true, attributeFilter: ['class'] }; + observer.observe(container[0], cfg); + } + // on scroll, hide tooltips. throttle to only 4x/second. $(window).scroll(throttle(hideTooltips, 250));