UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

30 lines (29 loc) 999 B
import { getSession } from '@jbrowse/core/util'; import { addDisposer } from '@jbrowse/mobx-state-tree'; export function setupKeyboardHandler(self) { function handler(e) { const session = getSession(self); if (session.focusedViewId === self.id && (e.ctrlKey || e.metaKey)) { if (e.code === 'ArrowLeft') { e.preventDefault(); self.slide(-0.9); } else if (e.code === 'ArrowRight') { e.preventDefault(); self.slide(0.9); } else if (e.code === 'ArrowUp') { e.preventDefault(); self.zoom(self.bpPerPx / 2); } else if (e.code === 'ArrowDown') { e.preventDefault(); self.zoom(self.bpPerPx * 2); } } } document.addEventListener('keydown', handler); addDisposer(self, () => { document.removeEventListener('keydown', handler); }); }