@jbrowse/plugin-wiggle
Version:
JBrowse 2 wiggle adapters, tracks, etc.
35 lines (34 loc) • 1.8 kB
JavaScript
;
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 BaseTooltip_1 = __importDefault(require("@jbrowse/core/ui/BaseTooltip"));
const mobx_react_1 = require("mobx-react");
const mui_1 = require("tss-react/mui");
const util_1 = require("./util");
const useStyles = (0, mui_1.makeStyles)()({
hoverVertical: {
background: '#333',
border: 'none',
width: 1,
height: '100%',
top: util_1.YSCALEBAR_LABEL_OFFSET,
cursor: 'default',
position: 'absolute',
pointerEvents: 'none',
},
});
const Tooltip = (0, mobx_react_1.observer)(function Tooltip({ model, height, clientMouseCoord, offsetMouseCoord, clientRect, TooltipContents, useClientY, }) {
const { featureUnderMouse } = model;
const { classes } = useStyles();
const x = clientMouseCoord[0] + 5;
const y = useClientY ? clientMouseCoord[1] : (clientRect === null || clientRect === void 0 ? void 0 : clientRect.top) || 0;
return featureUnderMouse ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: null, children: (0, jsx_runtime_1.jsx)(BaseTooltip_1.default, { clientPoint: { x, y }, children: (0, jsx_runtime_1.jsx)(TooltipContents, { model: model, feature: featureUnderMouse }) }) }), (0, jsx_runtime_1.jsx)("div", { className: classes.hoverVertical, style: {
left: offsetMouseCoord[0],
height: height - util_1.YSCALEBAR_LABEL_OFFSET * 2,
} })] })) : null;
});
exports.default = Tooltip;