aea0a6fcc6
Running and testing should be working on the three platforms, but there's still a fair bit that needs to be done: - Wheel building + testing in a venv still needs to be implemented. - Python requirements still need to be compiled with piptool and pinned; need to compile on all platforms then merge - Cargo deps in cargo/ and rslib/ need to be cleaned up, and ideally unified into one place - Currently using rustls to work around openssl compilation issues on Linux, but this will break corporate proxies with custom SSL authorities; need to conditionally use openssl or use https://github.com/seanmonstar/reqwest/pull/1058 - Makefiles and docs still need cleaning up - It may make sense to reparent ts/* to the top level, as we don't nest the other modules under a specific language. - rspy and pylib must always be updated in lock-step, so merging rspy into pylib as a private module would simplify things. - Merging desktop-ftl and mobile-ftl into the core ftl would make managing and updating translations easier. - Obsolete scripts need removing. - And probably more.
34 lines
1016 B
TypeScript
34 lines
1016 B
TypeScript
// Copyright: Ankitects Pty Ltd and contributors
|
|
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|
|
|
import throttle from "lodash.throttle";
|
|
|
|
let tooltipDiv: HTMLDivElement | null = null;
|
|
|
|
function showTooltipInner(msg: string, x: number, y: number): void {
|
|
if (!tooltipDiv) {
|
|
tooltipDiv = document.createElement("div");
|
|
tooltipDiv.className = "graph-tooltip";
|
|
document.body.appendChild(tooltipDiv);
|
|
}
|
|
tooltipDiv.innerHTML = msg;
|
|
|
|
// move tooltip away from edge as user approaches right side
|
|
const shiftLeftAmount = Math.round(
|
|
tooltipDiv.clientWidth * 1.2 * (x / document.body.clientWidth)
|
|
);
|
|
|
|
tooltipDiv.style.left = `${x + 40 - shiftLeftAmount}px`;
|
|
tooltipDiv.style.top = `${y + 40}px`;
|
|
tooltipDiv.style.opacity = "1";
|
|
}
|
|
|
|
export const showTooltip = throttle(showTooltipInner, 16);
|
|
|
|
export function hideTooltip(): void {
|
|
showTooltip.cancel();
|
|
if (tooltipDiv) {
|
|
tooltipDiv.style.opacity = "0";
|
|
}
|
|
}
|