summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/use-tooltip.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/scripts/use-tooltip.ts')
-rw-r--r--packages/frontend/src/scripts/use-tooltip.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/frontend/src/scripts/use-tooltip.ts b/packages/frontend/src/scripts/use-tooltip.ts
index 0a82997728..17ea380db0 100644
--- a/packages/frontend/src/scripts/use-tooltip.ts
+++ b/packages/frontend/src/scripts/use-tooltip.ts
@@ -21,6 +21,8 @@ export function useTooltip(
let changeShowingState: (() => void) | null;
+ let autoHidingTimer;
+
const open = () => {
close();
if (!isHovering) return;
@@ -33,6 +35,16 @@ export function useTooltip(
changeShowingState = () => {
showing.value = false;
};
+
+ autoHidingTimer = window.setInterval(() => {
+ if (!document.body.contains(elRef.value)) {
+ if (!isHovering) return;
+ isHovering = false;
+ window.clearTimeout(timeoutId);
+ close();
+ window.clearInterval(autoHidingTimer);
+ }
+ }, 1000);
};
const close = () => {
@@ -53,6 +65,7 @@ export function useTooltip(
if (!isHovering) return;
isHovering = false;
window.clearTimeout(timeoutId);
+ window.clearInterval(autoHidingTimer);
close();
};
@@ -67,6 +80,7 @@ export function useTooltip(
if (!isHovering) return;
isHovering = false;
window.clearTimeout(timeoutId);
+ window.clearInterval(autoHidingTimer);
close();
};