import React from 'react' import { observer } from 'mobx-react' import { getEnv } from 'mobx-state-tree' import { IconButton, FormGroup } from '@mui/material' import { useTheme, alpha } from '@mui/material/styles' import LinkIcon from '@mui/icons-material/Link' import LinkOffIcon from '@mui/icons-material/LinkOff' import FormatAlignCenterIcon from '@mui/icons-material/FormatAlignCenter' import AlignHorizontalCenterIcon from '@mui/icons-material/AlignHorizontalCenter' import { getSession } from '@jbrowse/core/util' import { MultilevelLinearViewModel } from '../model' import { PanControls } from './Controls' import { RegionWidth } from './util' type MLLV = MultilevelLinearViewModel const LinkViews = observer(({ model }: { model: MLLV }) => { return ( {model.linkViews ? ( ) : ( )} ) }) const AlignViews = observer(({ model }: { model: MLLV }) => { return ( ) }) const ResetZooms = observer(({ model }: { model: MLLV }) => { return ( ) }) const Header = observer( ({ model, ExtraButtons, }: { model: MLLV ExtraButtons?: React.ReactNode }) => { const theme = useTheme() const { primary } = theme.palette const colour = primary.light // @ts-ignore const anchorView = model?.views?.find((view) => view.isAnchor) const pluginManager = getEnv(getSession(model)).pluginManager const LGV = pluginManager.getPlugin( 'LinearGenomeViewPlugin', ) as import('@jbrowse/plugin-linear-genome-view').default // @ts-ignore const { ZoomControls, SearchBox } = LGV.exports return (
{model?.initialized && anchorView?.initialized ? (
{/* @ts-ignore */} {/* @ts-ignore */}
) : null}
) }, ) export default Header