UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

23 lines (22 loc) 1.26 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { forwardRef, isValidElement, useMemo } from 'react'; import { getConf } from '@jbrowse/core/configuration'; import { SanitizedHTML } from '@jbrowse/core/ui'; import BaseTooltip from '@jbrowse/core/ui/BaseTooltip'; import { observer } from 'mobx-react'; const TooltipContents = forwardRef(function TooltipContents2({ message }, ref) { return (_jsx("div", { ref: ref, children: isValidElement(message) ? (message) : message ? (_jsx(SanitizedHTML, { html: String(message) })) : null })); }); const Tooltip = observer(function Tooltip({ model, clientMouseCoord, }) { const { featureUnderMouse, featureIdUnderMouse, mouseoverExtraInformation } = model; const x = clientMouseCoord[0] + 15; const y = clientMouseCoord[1]; const contents = useMemo(() => featureUnderMouse && mouseoverExtraInformation ? getConf(model, 'mouseover', { feature: featureUnderMouse, mouseoverExtraInformation, }) : undefined, [featureUnderMouse, model, mouseoverExtraInformation]); return featureIdUnderMouse && contents ? (_jsx(BaseTooltip, { clientPoint: { x, y }, children: _jsx(TooltipContents, { message: contents }) })) : null; }); export default Tooltip;