anki/ts/graphs/tooltip.ts
Damien Elmes 0026506543 update ts deps
- prettier's formatting has changed, so files needed to be reformatted
- dart is spitting out deprecation warnings like:

254 │   2: $spacer / 2,
    │      ^^^^^^^^^^^
    ╵
    bazel-out/darwin-fastbuild/bin/ts/sass/bootstrap/_variables.scss 254:6  @import
    ts/sass/button_mixins.scss 2:9                                          @use
    ts/components/ColorPicker.svelte 2:5                                    root stylesheet

DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.

Recommendation: math.div($grid-gutter-width, 2)
2021-05-26 09:37:40 +10:00

35 lines
937 B
TypeScript

// Copyright: Ankitects Pty Ltd and contributors
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
import { throttle, DebouncedFunc } from "lodash-es";
import Tooltip from "./Tooltip.svelte";
let tooltip: Tooltip | null = null;
function getOrCreateTooltip(): Tooltip {
if (tooltip) {
return tooltip;
}
const target = document.createElement("div");
tooltip = new Tooltip({ target });
document.body.appendChild(target);
return tooltip;
}
function showTooltipInner(msg: string, x: number, y: number): void {
const tooltip = getOrCreateTooltip();
tooltip.$set({ html: msg, x, y, show: true });
}
export const showTooltip: DebouncedFunc<(msg: string, x: number, y: number) => void> =
throttle(showTooltipInner, 16);
export function hideTooltip(): void {
const tooltip = getOrCreateTooltip();
showTooltip.cancel();
tooltip.$set({ show: false });
}