1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-06-28 05:15:54 +00:00

Clean up a bunch of linting stuff. Clean up event listeners in tooltips to stop potential memory leaks.

This commit is contained in:
SirStendec 2018-04-02 03:30:22 -04:00
parent f506b512b4
commit 7ecd45fcfb
23 changed files with 70 additions and 79 deletions

View file

@ -229,7 +229,7 @@ export class Tooltip {
el.classList.toggle('interactive', interactive || false);
if ( ! opts.manual ) {
el.addEventListener('mouseover', () => {
el.addEventListener('mouseover', el._ffz_over_handler = () => {
if ( ! document.contains(target) )
this.hide(tip);
@ -239,7 +239,7 @@ export class Tooltip {
this._exit(target);
});
el.addEventListener('mouseout', () => this._exit(target));
el.addEventListener('mouseout', el._ffz_out_handler = () => this._exit(target));
}
// Assign our content. If there's a Promise, we'll need
@ -311,13 +311,19 @@ export class Tooltip {
}
if ( tip.outer ) {
tip.outer.remove();
tip.outer = null;
const el = tip.outer;
if ( el._ffz_over_handler )
el.removeEventListener('mouseover', el._ffz_over_handler);
if ( el._ffz_out_handler )
el.removeEventListener('mouseout', el._ffz_out_handler);
el.remove();
tip.outer = el._ffz_out_handler = el._ffz_over_handler = null;
}
tip.update = null;
tip._update = noop;
tip.element = null;
tip.update = tip.element = null;
tip.visible = false;
}
}