UNPKG

@jbrowse/plugin-wiggle

Version:

JBrowse 2 wiggle adapters, tracks, etc.

20 lines (19 loc) 829 B
import { forEachWithStopTokenCheck, groupBy } from '@jbrowse/core/util'; import WiggleBaseRenderer from '../WiggleBaseRenderer'; export default class MultiLineRenderer extends WiggleBaseRenderer { async draw(ctx, props) { const { stopToken, sources, features } = props; const groups = groupBy(features.values(), f => f.get('source')); const { drawLine } = await import('../drawLine'); let feats = []; forEachWithStopTokenCheck(sources, stopToken, source => { const { reducedFeatures } = drawLine(ctx, { ...props, features: groups[source.name] || [], colorCallback: () => source.color || 'blue', }); feats = feats.concat(reducedFeatures); }); return { reducedFeatures: feats }; } }