import React from 'react' import { observer } from 'mobx-react' import { Tooltip } from '@mui/material' import IconButton from '@mui/material/IconButton' import Paper from '@mui/material/Paper' import ZoomIn from '@mui/icons-material/ZoomIn' import ZoomOut from '@mui/icons-material/ZoomOut' import MenuIcon from '@mui/icons-material/Menu' import CascadingMenu from '@jbrowse/core/ui/CascadingMenu' import { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view/' import { bindTrigger, bindPopover, usePopupState, } from 'material-ui-popup-state/hooks' import LabelField from './LabelField' import { RegionWidth } from './util' const MiniControls = observer((props: { model: LinearGenomeViewModel }) => { const { model } = props const { bpPerPx, maxBpPerPx, minBpPerPx, scaleFactor } = model const popupState = usePopupState({ popupId: 'mllvViewMenu', variant: 'popover', }) return (
callback()} menuItems={model.menuItems()} popupState={popupState} /> {/* @ts-ignore */}
{/* @ts-ignore */}
{ // @ts-ignore model.limitBpPerPx.limited && // @ts-ignore bpPerPx * 2 > model.limitBpPerPx.apexUpperLimit ? ( ) : ( { model.zoom(bpPerPx * 2) }} disabled={bpPerPx >= maxBpPerPx - 0.0001 || scaleFactor !== 1} color="secondary" > ) } { // @ts-ignore model.isOverview || // @ts-ignore (model.limitBpPerPx.limited && // @ts-ignore bpPerPx / 2 < model.limitBpPerPx.apexLowerLimit) ? ( ) : ( { model.zoom(model.bpPerPx / 2) }} disabled={bpPerPx <= minBpPerPx + 0.0001 || scaleFactor !== 1} color="secondary" > ) }
) }) export default MiniControls