|
|
@ -515,7 +515,8 @@ define([
|
|
|
|
distance: 0,
|
|
|
|
distance: 0,
|
|
|
|
performance: true,
|
|
|
|
performance: true,
|
|
|
|
dynamicTitle: true,
|
|
|
|
dynamicTitle: true,
|
|
|
|
delay: [delay, 0]
|
|
|
|
delay: [delay, 0],
|
|
|
|
|
|
|
|
sticky: true
|
|
|
|
});
|
|
|
|
});
|
|
|
|
};
|
|
|
|
};
|
|
|
|
// This is the robust solution to remove dangling tooltips
|
|
|
|
// This is the robust solution to remove dangling tooltips
|
|
|
@ -534,17 +535,22 @@ define([
|
|
|
|
var observer = new MutationObserver(function(mutations) {
|
|
|
|
var observer = new MutationObserver(function(mutations) {
|
|
|
|
var removed = false;
|
|
|
|
var removed = false;
|
|
|
|
mutations.forEach(function(mutation) {
|
|
|
|
mutations.forEach(function(mutation) {
|
|
|
|
|
|
|
|
if (mutation.type === "childList") {
|
|
|
|
for (var i = 0; i < mutation.addedNodes.length; i++) {
|
|
|
|
for (var i = 0; i < mutation.addedNodes.length; i++) {
|
|
|
|
$(mutation.addedNodes[i]).find('[title]').each(addTippy);
|
|
|
|
$(mutation.addedNodes[i]).find('[title]').each(addTippy);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
|
|
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
|
|
removed |= checkRemoved(mutation.removedNodes[j]);
|
|
|
|
removed |= checkRemoved(mutation.removedNodes[j]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (mutation.type === "attributes" && mutation.attributeName === "title") {
|
|
|
|
|
|
|
|
addTippy(0, mutation.target);
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
if (removed) { UI.clearTooltips(); }
|
|
|
|
if (removed) { UI.clearTooltips(); }
|
|
|
|
});
|
|
|
|
});
|
|
|
|
observer.observe($('body')[0], {
|
|
|
|
observer.observe($('body')[0], {
|
|
|
|
attributes: false,
|
|
|
|
attributes: true,
|
|
|
|
childList: true,
|
|
|
|
childList: true,
|
|
|
|
characterData: false,
|
|
|
|
characterData: false,
|
|
|
|
subtree: true
|
|
|
|
subtree: true
|
|
|
|