From 537a310f4cb4813268b83986f00fbc5fa9b97bb9 Mon Sep 17 00:00:00 2001 From: ClemDee Date: Wed, 12 Jun 2019 11:36:08 +0200 Subject: [PATCH] Fix stuck tooltips bug --- www/common/common-interface.js | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/www/common/common-interface.js b/www/common/common-interface.js index 77f7b315f..5391636ab 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -843,41 +843,23 @@ define([ // This is the robust solution to remove dangling tooltips // The mutation observer does not always find removed nodes. //setInterval(UI.clearTooltips, delay); - var checkRemoved = function (x) { - var out = false; - var xId = $(x).attr('aria-describedby'); - if (xId) { - if (xId.indexOf('tippy-') === 0) { - return true; - } - } - $(x).find('[aria-describedby]').each(function (i, el) { - var id = el.getAttribute('aria-describedby'); - if (id.indexOf('tippy-') !== 0) { return; } - out = true; - }); - return out; - }; + $('[title]').each(addTippy); var observer = new MutationObserver(function(mutations) { - var removed = false; mutations.forEach(function(mutation) { if (mutation.type === "childList") { for (var i = 0; i < mutation.addedNodes.length; i++) { - if ($(mutation.addedNodes[i]).attr('title')) { - addTippy(0, mutation.addedNodes[i]); - } $(mutation.addedNodes[i]).find('[title]').each(addTippy); } - for (var j = 0; j < mutation.removedNodes.length; j++) { - removed |= checkRemoved(mutation.removedNodes[j]); + + if (mutation.removedNodes.length !== 0) { + UI.clearTooltips(); } } if (mutation.type === "attributes" && mutation.attributeName === "title") { addTippy(0, mutation.target); } }); - if (removed) { UI.clearTooltips(); } }); observer.observe($('body')[0], { attributes: true,