fetch tooltip dom elem at a global level at vTooltip

+ remove rounded class from songlist
This commit is contained in:
geoffrey45
2022-09-05 23:19:39 +03:00
parent de1c232973
commit 70ef709170
2 changed files with 16 additions and 7 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<template> <template>
<div <div
class="table rounded" class="table"
v-if="tracks.length" v-if="tracks.length"
ref="tracklistElem" ref="tracklistElem"
:class="{ :class="{
+15 -6
View File
@@ -3,10 +3,21 @@ import { createPopper } from "@popperjs/core";
let tooltip: HTMLElement; let tooltip: HTMLElement;
function getTooltip() {
return document.getElementById("tooltip") as HTMLElement;
}
function hideTooltip() {
tooltip.style.visibility = "hidden";
}
export default { export default {
mounted(el, binding) { updated(el, binding) {
let isHovered = false; let isHovered = false;
const tooltip = document.getElementById("tooltip") as HTMLElement;
if (tooltip === undefined) {
tooltip = getTooltip();
}
el.addEventListener("mouseover", () => { el.addEventListener("mouseover", () => {
isHovered = true; isHovered = true;
@@ -37,15 +48,13 @@ export default {
el.addEventListener("mouseout", () => { el.addEventListener("mouseout", () => {
isHovered = false; isHovered = false;
tooltip.style.visibility = "hidden"; hideTooltip();
}); });
}, },
beforeUnmount(el: HTMLElement) { beforeUnmount(el: HTMLElement) {
const tooltip = document.getElementById("tooltip") as HTMLElement; hideTooltip();
tooltip.style.visibility = "hidden";
el.removeEventListener("mouseover", () => {}); el.removeEventListener("mouseover", () => {});
el.removeEventListener("mouseout", () => {}); el.removeEventListener("mouseout", () => {});
}, },
} as Directive; } as Directive;