From 60e423298bd8b51ff40425041afb7a11c345f37c Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri, 18 Mar 2022 00:31:41 +0000 Subject: [PATCH] Update tooltips.js --- war/src/main/js/tooltips.js | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/war/src/main/js/tooltips.js b/war/src/main/js/tooltips.js index 843f888774b1..fffe53bfb828 100644 --- a/war/src/main/js/tooltips.js +++ b/war/src/main/js/tooltips.js @@ -7,6 +7,24 @@ const TOOLTIP_BASE = { appendTo: document.body } +let tooltipInstances = [] +const globalPlugin = { + fn() { + return { + onCreate(instance) { + tooltipInstances = tooltipInstances.concat(instance); + }, + onDestroy(instance) { + tooltipInstances = tooltipInstances.filter(i => i !== instance); + } + } + } +} + +tippy.setDefaultProps({ + plugins: [globalPlugin] +}) + registerTooltips() /** @@ -14,10 +32,8 @@ registerTooltips() * If called again, destroys existing tooltips and registers them again (useful for progressive rendering) */ function registerTooltips() { - [...document.querySelectorAll("*")].forEach(node => { - if (node._tippy) { - node._tippy.destroy() - } + tooltipInstances.forEach(instance => { + instance.destroy() }) tippy("[tooltip]", {