DensityBandMixin
Auto-generated @jbrowse/mobx-state-tree API for the current JBrowse release — see pluggable elements for concepts. Provided by the canvas plugin. View source.
The density band: where the cursor is over it, what it draws, what it reads out, and the three foundation getters the band stands in for the too-large banner in.
Composes DensityTierMixin rather than sitting beside it, because the swap
it decides is what every getter here keys off — a display taking the band
takes the tier, in that order, and cannot compose them the wrong way round.
A display with its own stand-in for the banner takes the tier alone, which is
what LinearAlignmentsDisplay does.
Composed after the fetch foundation, whose displayPhase / svgReady it
post-processes — types.compose resolves a collision to the later argument.
The two displays drawing a band compose it: LinearBasicDisplay's base model
and LinearMultiRowFeatureDisplay, which had the block written out line for
line.
Members a composed model contributes are listed here too, so these tables are the whole surface.
Volatiles
| Member | Description | Defined by |
|---|---|---|
densityHoverdensityHover: undefined as DensityHover | undefined | Where the cursor is over the density band, for its readout. | DensityBandMixin |
densityBinsdensityBins: regionDataMap<FeatureDensity>('densityBins') | Features per bin by displayedRegionIndex, at the zoom bucket the last read was issued for. Cleared on chromosome navigation. | DensityTierMixin |
densityBinsKeydensityBinsKey: undefined as string | undefined | The issue key of the bins held, which the read compares against. | DensityTierMixin |
| densityBinsRead | What the held bins were read over: the buffered regions, the zoom bucket and the adapter, so a pan or a zoom inside them re-reads nothing. | DensityTierMixin |
densityLoadingdensityLoading: false | DensityTierMixin |
Getters
| Member | Description | Defined by |
|---|---|---|
densityBandActiveboolean | Whether the band stands in for the features here — the tier's own decision, plus the view geometry the draw is mapped through. | DensityBandMixin |
densityBandLayerDensityBandLayer | DensityBandMixin | |
densityReadoutstring | The band's line of text: its peak, and the source's value under the cursor while there is one. | DensityBandMixin |
displayPhaseDisplayPhase | The foundation's phase with the too-large banner swapped for the band — see densityBandDisplayPhase. | DensityBandMixin |
svgReadyboolean | The export gate with the same swap — see densityBandSvgReady. | DensityBandMixin |
drawsWhenTooLargeboolean | renderDisplaySvg's hook: the export paints the band in place of the too-large note, the same swap the chrome makes on screen. | DensityBandMixin |
densitySourceConfigunknown | The densityAdapter slot of the adapter the gate measures, read off the live track config so a tiered display's swap follows it. | DensityTierMixin |
densityTierMode"auto" | "density" | "features" | DensityTierMixin | |
densityTierThresholdBpPerPxnumber | DensityTierMixin | |
hasDensitySourceboolean | DensityTierMixin | |
densityTierActiveboolean | Whether the band stands in for features right now. | DensityTierMixin |
fetchSuspendedboolean | FetchMixin's hook, from resolveFetchSuspended over the tier's verdict. A display whose band needs somewhere to draw (alignments, whose coverage band can be hidden) overrides it with that term. | DensityTierMixin |
Actions
| Member | Description | Defined by |
|---|---|---|
setDensityHoverPx(px?: number | undefined) => void | The cursor's view px over the band, or nothing when it leaves. | DensityBandMixin |
| setDensityBins | DensityTierMixin | |
clearDensityBins() => void | DensityTierMixin | |
setDensityLoading(loading: boolean) => void | DensityTierMixin |