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