UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

42 lines (41 loc) 1.79 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 consts_1 = require("../consts"); const OverviewScalebarPolygon = (0, mobx_react_1.observer)(function ({ model, overview, useOffset = true, }) { const theme = (0, material_1.useTheme)(); const multiplier = Number(useOffset); const { interRegionPaddingWidth, offsetPx, dynamicBlocks, cytobandOffset } = model; const { contentBlocks, totalWidthPxWithoutBorders } = dynamicBlocks; const polygonColor = theme.palette.tertiary.light; if (!contentBlocks.length) { return null; } const first = contentBlocks.at(0); const last = contentBlocks.at(-1); const topLeft = (overview.bpToPx({ ...first, coord: first.reversed ? first.end : first.start, }) || 0) + cytobandOffset * multiplier; const topRight = (overview.bpToPx({ ...last, coord: last.reversed ? last.start : last.end, }) || 0) + cytobandOffset * multiplier; const startPx = Math.max(0, -offsetPx); const endPx = startPx + totalWidthPxWithoutBorders + (contentBlocks.length * interRegionPaddingWidth) / 2; const points = [ [startPx, consts_1.HEADER_BAR_HEIGHT], [endPx, consts_1.HEADER_BAR_HEIGHT], [topRight, 0], [topLeft, 0], ]; return ((0, jsx_runtime_1.jsx)("polygon", { points: points.toString(), ...(0, util_1.getFillProps)((0, material_1.alpha)(polygonColor, 0.3)), ...(0, util_1.getStrokeProps)((0, material_1.alpha)(polygonColor, 0.8)) })); }); exports.default = OverviewScalebarPolygon;