UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

38 lines (37 loc) 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const jsx_runtime_1 = require("react/jsx-runtime"); const util_1 = require("@jbrowse/core/util"); const material_1 = require("@mui/material"); const mobx_react_1 = require("mobx-react"); const mui_1 = require("tss-react/mui"); const consts_1 = require("../consts"); const util_2 = require("../util"); const useStyles = (0, mui_1.makeStyles)()({ scalebarLabel: { height: consts_1.HEADER_OVERVIEW_HEIGHT, position: 'absolute', display: 'flex', justifyContent: 'center', pointerEvents: 'none', }, }); const OverviewScalebarTickLabels = (0, mobx_react_1.observer)(function ({ block, scale, overview, model, }) { const { classes } = useStyles(); const { start, end, reversed, refName, assemblyName } = block; const { majorPitch } = (0, util_2.chooseGridPitch)(scale, 120, 15); const { assemblyManager } = (0, util_1.getSession)(model); const assembly = assemblyManager.get(assemblyName); const refNameColor = assembly === null || assembly === void 0 ? void 0 : assembly.getRefNameColor(refName); const tickLabels = []; for (let i = 0; i < Math.floor((end - start) / majorPitch); i++) { const offsetLabel = (i + 1) * majorPitch; tickLabels.push(reversed ? end - offsetLabel : start + offsetLabel); } return tickLabels.map((tickLabel, labelIdx) => ((0, jsx_runtime_1.jsx)(material_1.Typography, { className: classes.scalebarLabel, variant: "body2", style: { left: ((labelIdx + 1) * majorPitch) / scale, pointerEvents: 'none', color: refNameColor, }, children: (0, util_1.getTickDisplayStr)(tickLabel, overview.bpPerPx) }, `${JSON.stringify(block)}-${tickLabel}-${labelIdx}`))); }); exports.default = OverviewScalebarTickLabels;