UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

25 lines (24 loc) 1.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const configuration_1 = require("@jbrowse/core/configuration"); const ui_1 = require("@jbrowse/core/ui"); const BaseTooltip_1 = __importDefault(require("@jbrowse/core/ui/BaseTooltip")); const mobx_react_1 = require("mobx-react"); const TooltipContents = (0, react_1.forwardRef)(function TooltipContents2({ message }, ref) { return ((0, jsx_runtime_1.jsx)("div", { ref: ref, children: (0, react_1.isValidElement)(message) ? (message) : message ? ((0, jsx_runtime_1.jsx)(ui_1.SanitizedHTML, { html: String(message) })) : null })); }); const Tooltip = (0, mobx_react_1.observer)(function ({ model, clientMouseCoord, }) { const { featureUnderMouse } = model; const x = clientMouseCoord[0] + 15; const y = clientMouseCoord[1]; const contents = featureUnderMouse ? (0, configuration_1.getConf)(model, 'mouseover', { feature: featureUnderMouse }) : undefined; return featureUnderMouse && contents ? ((0, jsx_runtime_1.jsx)(BaseTooltip_1.default, { clientPoint: { x, y }, children: (0, jsx_runtime_1.jsx)(TooltipContents, { message: contents }) })) : null; }); exports.default = Tooltip;