UNPKG

@jbrowse/plugin-wiggle

Version:

JBrowse 2 wiggle adapters, tracks, etc.

43 lines (42 loc) 1.62 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const FeatureRendererType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType")); const util_1 = require("@jbrowse/core/util"); class WiggleBaseRenderer extends FeatureRendererType_1.default { constructor() { super(...arguments); this.supportsSVG = true; } async render(renderProps) { const features = await this.getFeatures(renderProps); const { inverted, height, regions, bpPerPx, statusCallback = () => { }, } = renderProps; const region = regions[0]; const width = (region.end - region.start) / bpPerPx; const { reducedFeatures, ...rest } = await (0, util_1.updateStatus)('Rendering plot', statusCallback, () => (0, util_1.renderToAbstractCanvas)(width, height, renderProps, ctx => this.draw(ctx, { ...renderProps, features, inverted, }))); const results = await super.render({ ...renderProps, ...rest, features, height, width, }); return { ...results, ...rest, features: reducedFeatures ? new Map(reducedFeatures.map(r => [r.id(), r])) : results.features, height, width, containsNoTransferables: true, }; } } exports.default = WiggleBaseRenderer;