improve tooltip behavior
This commit is contained in:
parent
131a2f2dd2
commit
cfa5cea524
|
|
@ -33,7 +33,7 @@
|
|||
Filter:
|
||||
<input data-input="block-filter">
|
||||
</label>
|
||||
<div class="list" id="block-list">
|
||||
<div class="list" id="block-list" data-retain-tooltip-hover>
|
||||
<template>
|
||||
<div class="m1"></div>
|
||||
</template>
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
<input type="file" data-input="configuration" accept=".ncpf.json" />
|
||||
</div>
|
||||
<div data-state="planning">
|
||||
<div class="list" id="planner">
|
||||
<div class="list" id="planner" data-retain-tooltip-hover>
|
||||
<template>
|
||||
<div class="grid m2">
|
||||
<template>
|
||||
|
|
|
|||
|
|
@ -32,10 +32,10 @@ export function setText(dataValue, text, props = {}) {
|
|||
|
||||
export function debounce(fn, milliseconds = 200) {
|
||||
let timeout = null;
|
||||
return (e) => {
|
||||
return (...e) => {
|
||||
if (timeout) {
|
||||
clearTimeout(timeout);
|
||||
}
|
||||
timeout = setTimeout(() => fn(e), milliseconds);
|
||||
timeout = setTimeout(() => fn(...e), milliseconds);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,14 @@ let suppressTooltips = false;
|
|||
let activeTooltipTarget = null;
|
||||
|
||||
export function initializeTooltips() {
|
||||
document.querySelectorAll("[data-retain-tooltip-hover]").forEach(elem =>
|
||||
elem.addEventListener("mousemove", e => {
|
||||
if (lastCoordinates !== null) {
|
||||
e.stopPropagation();
|
||||
lastCoordinates = { x: e.pageX, y: e.pageY };
|
||||
emitEvent("tooltips:show");
|
||||
}
|
||||
}));
|
||||
window.addEventListener("mousemove", () => {
|
||||
if (lastCoordinates !== null) {
|
||||
emitEvent("tooltips:hide");
|
||||
|
|
|
|||
Loading…
Reference in New Issue