LinearCanvasBaseDisplay
Auto-generated from the @jbrowse/mobx-state-tree model in the source — see the developer guide for concepts. Provided by the canvas plugin. View source.
Shared GPU-accelerated feature display base for canvas-rendered tracks.
The configuration slots for this model are documented on its config schema page.
Each section ends with the members a composed model contributes, linked to the page that documents them.
Properties
| Member | Description |
|---|---|
configurationconfiguration: ConfigurationReference(configSchema) | |
| pinnedFeatureIds | Feature ids the user pinned to the top of the layout via the feature right-click menu. |
| soloFeatureIds | "Show only these features": the collected set the user builds by ctrl+clicking features (or via the right-click menu). |
soloAppliedsoloApplied: types.stripDefault(types.boolean, false) | Whether the collected soloFeatureIds set is actually isolating the view (worker drops non-members). |
| "Hide this feature" exclusion set (inverse of solo): the worker drops these from layout/drawing. | |
| expandedGeneIds | Genes the user opened from the isoform badge on the gene's label: these draw every isoform whatever geneGlyphMode or the fit ladder's isoform rung would otherwise collapse them to. |
| featureHighlights | Declarative feature highlights, typically seeded by a text search (highlight the gene you searched for). |
Volatiles
| Member | Description |
|---|---|
featureIdUnderMousestring | undefined | |
subfeatureIdUnderMousestring | undefined | |
mouseoverExtraInformationstring[] | undefined | the hover tooltip's rows, each rendered as a separate element — see hoverTooltipRows for why this is a list and not one HTML string |
sequenceHoverPositionSequenceHoverPosition | undefined | genomic base currently hovered in a feature sequence dialog opened from this display, read by the LGV crosshair overlay |
onScreenIdsMemo(next: ReadonlySet<string>) => ReadonlySet<string> | |
| incrementalLayout | |
| incrementalLayoutLabelsOnly | |
| incrementalLayoutBodiesOnly | |
| incrementalLayoutDecimated | |
| incrementalLayoutIsoforms | |
| incrementalLayoutThinned | |
| incrementalLayoutBare | |
| packHeightsIsoforms | |
| packHeightsThinned | |
| packHeightsDecimated | |
morphFromTopsMap<string, number> | undefined | |
morphProgressnumber | |
morphStartMsnumber | |
morphFromMaxYnumber |
25 inherited volatiles from 8 models
From ContextMenuMixin:
From CanvasFeatureGateMixin: densityStatsPerRegion
From LegendMixin: dismissedLegendSections
From MultiRegionDisplayMixin: loadedRegions
From FetchMixin: activeSignal, fetchGeneration, reloadCounter, statusWindow, error, statusMessage, statusProgress, fetchCanceled, fetchRotation
From RenderLifecycleMixin: canvasDrawn, paintCount, currentRenderingBackend, renderTick, autorunsInstalled, renderError, offScreen
From RegionTooLargeMixin: forceLoadTrack, byteEstimate, gateMeasuredViewportKey
From TrackHeightMixin: scrollTop, hostHeight
Getters
| Member | Description |
|---|---|
rpcDataMapReadonlyMap<number, LoadedFeatureData> | The fetched features, keyed by displayedRegionIndex — the foundation's per-region store, narrowed. |
confLinearCanvasBaseDisplayConfig | the config typed off the concrete schema; ConfigurationReference erases self.configuration to any, so direct reads route through this to stay typed (same move as BaseAdapter<CONF>). |
colorSettingColorSetting | The color object as written, its value and field raw: either may be a jexl: expression over a feature, which has none here. |
workerColorWorkerColor | The two members the worker reads, the rest being the main thread's. |
colorEncodingstring | FieldColorEncoding | undefined | colorSetting as it paints, through the one resolver every display's color channel goes through: encoding.color.value, or a field through its scale, score a ramp and any other field ordinal while scale.type is unset. |
colorFieldstring | undefined | The field the color paints by, through any scale, or undefined while encoding.color.value paints. |
solidColorstring | undefined | The constant encoding.color.value holds, painting or kept beside a field; undefined where it holds none or a jexl: expression. |
colorByMode"attribute" | "default" | "solid" | "strand" | The Color by radio that is ticked: a field, else a constant, else the track's own color. |
categoricalColorFieldCategoricalField | undefined | The color channel's field while it paints through an ordinal scale, which a facet on the same field shares. |
paintedColorFieldCategoricalField | undefined | The field the color channel paints through an ordinal or threshold scale, a threshold's values filed under their bins. |
identityKeyEntries{ value: string; label: string; color: string; }[] | The rows an identity scale's key names, empty under any other scale. |
colorKeyTitlestring | undefined | The key's heading: the channel's legend.title, or its field's preset's, else the field. |
colorValueExtent[number, number] | The smallest and largest number the loaded regions' values of the painting field hold, which a ramp's open ends follow. |
colorValueGaps{ missing: boolean; notNumber: boolean; } | Whether a loaded feature has no value in the painting field, or has text that is not a number; a ramp's key lists these beside its bar. |
| colorRamp | The ramp a linear, log or symlog color paints through, over the loaded values where an end is left open. |
paintColorValue((value: string) => string) | undefined | The color a field value paints, while a field paints. A ramp paints a value-less feature the no-value grey, as the categorical and threshold scales do. |
fieldPaletteFieldPalette | undefined | paintColorValue with each value's packed colors held for every region and re-encode that asks, while the scale stands. |
showOutlineboolean | |
outlineColorstring | undefined | The outline's color as written, undefined taking the theme's. |
featureColorstring | |
colorByAttributestring | |
| proteinFeaturesArg | The proteinFeatures track's adapter and the share of its color the worker reads, undefined while no track is named. |
domainPaletteFieldPalette | undefined | The proteinFeatures color's values painted through its scale, dealt from the session's slots as the domain track's own color is; undefined without a domain track, as on a variant display, whose schema has no proteinFeatures. |
liveNoticesstring[] | A proteinFeatures.track naming no track, and what each loaded region could not draw from it, while the features still draw. |
geneGlyphNoticeGeneGlyphNotice | undefined | Overridable hook (default absent): the isoform-collapse control the shared canvas body draws in its bottom-right chip stack, or nothing when the display has no gene glyphs. |
facetFacetSetting | undefined | The facet object as written, or undefined while ungrouped. |
ReadonlySet<string> | undefined | The features of the sections the user hid, which sit unplaced by choice and so count as nothing the track failed to show. |
layoutReadyboolean | Whether features can be laid out: data is fetched, in-bounds, the view is measured. |
onScreenFeatureIdsReadonlySet<string> | undefined | The features whose bp span touches the viewport, less any in a hidden section, as one Set for as long as the membership holds. |
labelDensityPerPxnumber | Features per pixel of what is actually ON SCREEN — the density the auto label modes gate on (ADR-093). |
onScreenWidthPxnumber | |
geneLabelDensityPerPxnumber | undefined | On-screen gene features per pixel, which auto holds to the same threshold so gene names outlast a crowd of other features. Undefined with no gene on screen. |
| renderState | |
showChevronsboolean | Overridable hook (default on): whether intron lines have chevrons. Drawn from the render state, not baked by the worker, so the toggle refetches nothing. |
labelScrollBucketnumber | |
displayMode"collapsed" | "compact" | "normal" | "superCompact" | |
groupKeySpacestring | HiddenGroupsMixin's hook: a section key means nothing outside the field that issued it, so moving the field drops what was hidden. |
effectiveSubfeatureLabels"auto" | "below" | "none" | "overlay" | Overridable hook (default none): the subfeature-label mode the worker bakes. |
labelFontSizenumber | |
showLabelsMode"auto" | "description" | "name" | "nameAndDescription" | "none" | |
| labelVisibility | Which labels the showLabels mode shows at the on-screen feature density: names, descriptions, and whether only gene names survive. |
showLabelsboolean | |
geneNamesOnlyboolean | auto past the name threshold, with the gene features alone still under it: gene names stay and every other name goes. |
showDescriptionsboolean | |
effectiveShowDescriptionsboolean | |
selectedFeatureIdstring | undefined | |
colorByFrameboolean | |
showAminoAcidsboolean | |
reversedRegionsSet<number> | |
pinnedFeatureIdSetReadonlySet<string> | |
expandedGeneIdSetReadonlySet<string> | |
soloFeatureIdSetReadonlySet<string> | |
number | |
soloFeatureCountnumber | |
pinnedFeatureCountnumber | |
canonicalFeatureHighlightsFeatureHighlight[] | |
resolvedHighlightsResolvedHighlights | |
highlightedFeatureIdSetReadonlySet<string> | |
layoutPinnedFeatureIdSetReadonlySet<string> | |
featureHighlightCountnumber | |
| layoutInputs | Layout inputs shared by the base layout and every fit rung, expandedGeneIds included: a rung inheriting them without the exemption re-collapses the gene the user just opened. |
fitMeasureFeatureIdsReadonlySet<string> | undefined | The features the ladder measures its rungs and its isoform solve against: the on-screen set in fit and fixed, undefined in grow (which measures the whole stack). |
canonicalTranscriptsCanonicalTranscripts | the tags the worker ranks a gene's isoforms by, which the sequence panel reads to open on the isoform this display draws first |
showsEveryIsoformboolean | Overridable hook (default false): the display's transcript setting names every isoform, so the fit ladder's isoforms rung may not trim — the surplus scrolls instead. |
effectiveGeneGlyphMode"all" | "auto" | "longestCoding" | Overridable hook (default all): the gene-glyph mode the worker collapses under. |
reservesBelowLabelRowsboolean | Whether the settings reserve below subfeature-label rows, which the fit ladder's bare rung depends on — with nothing reserved the rung would repack an identical stack. |
fullReservationLabelReservation | What the full rung reserves: the names and descriptions the settings ask for. |
labelsReservationLabelReservation | The labels and decimated rungs' reservation: names kept, descriptions dropped. |
isoformsReservationLabelReservation | The isoforms rung's reservation: the labels rung's when fitting to the display, else the full rung's. |
decimatedBaseInputsLabelRoomFactorFreeInputs | The decimated rung's layout inputs minus the whitespace factor. |
| decimatedHeightProbe | Measures the decimated rung's stack height at any whitespace factor, against the features the ladder measures its rungs with — so the factor the solve picks is judged on the same stack the rung is then kept or rejected on. |
isoformsBaseInputsIsoformCountFreeInputs | The isoforms rung's layout inputs minus the count itself, typed without it so the solve's shared preparation provably cannot depend on it. |
isoformsHeightProbe(maxIsoforms: number) => number | Measures the isoforms rung's stack height at any isoform count, against the features the ladder measures its rungs with. |
maxIsoformsOnScreennumber | The most isoforms any trimmable gene on screen has — the top of the solve's bracket, and the count above which a trim can take nothing away. |
fitIsoformCountnumber | undefined | The isoform count the isoforms rung commits at: the largest whose names-kept stack fits fitTargetHeight, so the most transcripts are kept without giving up a name. |
fitIsoformsSolvedMap<number, FeatureDataResult> | The isoforms stack: every gene trimmed to fitIsoformCount transcripts, names intact. |
thinnedBaseInputsLabelRoomFactorFreeInputs | The thinned rung's layout inputs minus the body scale: every name, no descriptions, the isoforms rung's count. |
fitLabeledBodyFloornumber | The smallest body scale the labelled rungs may pack at: the tallest body stays LABELED_BODY_TO_FONT_RATIO of the label font, and the shortest stays drawn. |
fitBodyScalenumber | undefined | The body scale the thinned rung commits at: the largest whose stack, every name kept, fits fitTargetHeight, or undefined when even the floor overflows. |
fitThinnedSolvedMap<number, FeatureDataResult> | The thinned stack: every name at its font size over bodies shortened to fitBodyScale. |
baseLaidOutDataMapMap<number, FeatureDataResult> | Full reservation (names + descriptions): rendered at fit stage full and in non-fit modes, and the first stack fitStage probes. |
fitLabelsOnlyLayoutMap<number, FeatureDataResult> | Names reserved, descriptions dropped — the labels stage's stack. |
fitDecimatedFactorsLabelRoomFactors | undefined | The whitespace factors the decimated rung commits at: the smallest whose packed stack fits fitTargetHeight, so the most names are kept. |
fitDecimatedSolvedMap<number, FeatureDataResult> | The decimated stack: names kept only on features with at least their tier's fitDecimatedFactors × their label width in neighbour whitespace (plus pinned/highlighted, always). |
fitDecimatedBodyScalenumber | undefined | The body scale the decimated rung commits at: with the names fitDecimatedFactors kept, the bodies grow back into whatever height the dropped names freed. |
fitBodiesOnlyLayoutMap<number, FeatureDataResult> | |
fitBareLayoutMap<number, FeatureDataResult> | The bare stack: bodies with the below subfeature-label rows spent at zero height, so the last reduction before a squeeze gives back rows whose text the squeeze was about to hide anyway. |
fitSmallestBoxPxnumber | The shortest box the layout draws on screen, read off the layout rather than the featureHeight slot, a per-feature jexl callback that throws with no feature in scope. |
fitMinScalenumber | Floor on the fit squeeze: the smallest vertical scale that still leaves every drawn box at least MIN_FIT_BOX_PX tall. |
fitStageFitStage | The resolved fit outcome — which reservation level survived, its unscaled layout, and the vertical scale to fill the track — bundled so the three can never disagree. |
fitScalenumber | Uniform vertical scale for fit mode; below 1 only while the stack is squeezed to fit. |
laidOutDataMapReadonlyMap<number, FeatureDataResult> | What every consumer (hit test, GPU upload, React render) reads: the resolved fit layout, cloned and scaled only when squeezed. |
groupSectionsFeatureGroupSection[] | The stacked sections in stacking order, each with the chip row the packer reserved above it, read off the same rows the glyphs paint; empty while ungrouped. |
showsGroupLabelsboolean | Whether the section chips and dividers draw: a grouping is set and the layout produced a section for it. |
prefersOffsetboolean | A grouped track puts its track label above the plot, where it cannot cover the first section's chip. Reads the setting, not the sections, so the label does not jump when data lands. |
renderedShowDescriptionsboolean | Descriptions are painted where the kept rung reserved room for them. |
renderedShowLabelsboolean | Names are painted where the kept rung reserved row height + overhang for them. |
renderedShowSubfeatureLabelsboolean | A subfeature label is worker-baked, so the fit decides only whether the kept rung left a below label its row. |
renderedLabelFontSizenumber | The size the kept rung priced its labels at, and so the size they draw at. |
fitDropsFitDrops | What the ladder took from the labels the settings reserved, and how far it squeezed — the one derivation both user-facing notes read. |
fitNotestring | undefined | The track-sizing control's account of what fit mode gave up, or undefined when nothing. |
labelsFitHintstring | undefined | The note on the selected "Labels" radio while the ladder is not honouring it (see inertLabelHint). |
morphEasednumber | |
animatingboolean | a row morph is in flight, which the chrome publishes for the capture waits |
renderDataMapReadonlyMap<number, FeatureDataResult> | |
settledMaxYnumber | |
maxYnumber | |
scrollExtentMaxYnumber | |
hasOverflowboolean | |
truncatedFeatureCountnumber | |
contentHeightnumber | |
scrollContentHeightnumber | |
scrollViewportHeightnumber | |
growTargetHeightnumber | |
featureIdIndexMap<string, FlatbushItem> | |
subfeatureIdIndexMap<string, SubfeatureInfo> | |
hoveredFeatureFlatbushItem | undefined | |
hoveredSubfeatureSubfeatureInfo | undefined | |
hoverBoxFeatureFlatbushItem | undefined | The feature the hover box frames: the open context menu's target while one is open, so the box always agrees with what the menu acts on, else the feature under the cursor. |
hoverBoxSubfeatureSubfeatureInfo | undefined | The transcript the hover box frames instead of its gene, by the rule of hoverBoxFeature. |
regionInstanceIndexesReadonlyMap<number, RegionInstanceIndex> | Feature and subfeature ids to the primitives they painted, per laid-out region. Deliberately held by no autorun: nothing builds it until a hover or a selection asks which instances to light. |
namedFeaturesNamedFeature[] | Every named feature drawn, boxed over its body, for a host that places the names itself. |
hoverInkHighlightRect[] | What the chrome lights under the pointer: the open context menu's target while one is open, else the hovered subfeature, else the hovered feature — one box per region over its glyph and its labels. |
shownTooltipRowsstring[] | undefined | The hover tooltip less any row that repeats a label drawn for the hovered feature or subfeature; undefined when nothing is left. "Copy tooltip text" still copies every row. |
selectionInkHighlightRect[] | The session's selected feature, boxed the same way. |
pinnedInkHighlightRect[] | Every feature the user pinned — a search hit, a right-click highlight, the highlight= URL param — boxed the same way. The one highlight list the SVG export draws. |
soloInkHighlightRect[] | The features collected for a solo, boxed the same way, while the solo is still pending. Empty once it applies, since the view then shows only these. |
flatbushIndexesMap<number, FlatbushRegionIndexes> | |
derivedColorScalesColorScale[] | The key the color channel's scale derives from what the worker painted, less the values only a hidden section painted, in the sections' order where the facet reads the same field. An identity scale's key is its domain colors whole, once anything is drawn. |
colorScalesColorScale[] | LegendMixin's hook: the key the color channel's scale derives. |
88 inherited getters from 13 models
From HiddenGroupsMixin: ownGroupState, , , groupStateKey
From CanvasFeatureGateMixin: gateEnabled, visibleFeatureDensityPerPx, maxFeatureDensity, densityTooLarge
From FacetWritesMixin: writtenFacet
From ColorWritesMixin: writtenColor
From ParkedColorMixin: parkedColor
From LegendMixin: showLegend, legendRight, legendSpec, hasLegendKey
From MultiRegionDisplayMixin: host, canvasWidthPx, settledSubPixelBinBp, canRender, rendersCanvas, trackVisibleRegions, viewportWithinLoadedData, viewportEmpty, fetchSuspended, dataSuperseded, renderBlocks, fetchInputs, regionPayloads, hasRegionData, staleSettingsDrawn, dataCurrent, loadedAssembly, phaseViewportCurrent, svgReady, paintInert, paintSuperseded, displayPhase
From FetchMixin: isLoading, isLoadingOrCanceled, fetchInert, awaitingPrerequisite, awaitingDependentData, settingsFetchInputs
From RenderLifecycleMixin: painted
From RegionTooLargeMixin: byteGateAdapterConfig, configuredFetchSizeLimit, byteGateAdapterPath, adapterFetchSizeLimit, configForceLoad, gateViewportSpanBp, gateViewport, aboveForceLoadFloor, gateExempt, estimatedFetchBytes, gateMeasurementStale, gateByteLimit, gateActive, densityGateActive, tooLargeStatus, regionTooLarge, regionTooLargeReason, zoomCanReleaseGate, gateSkipsMeasuredViewport
From HeightModeMixin: heightMode, fitTargetHeight, growMaxHeight, autoHeight, fitHeightToDisplay, grownHeight, height
From TrackHeightMixin: configuredHeight, allottedHeight, resizing, scrollableHeight
From BaseDisplay: parentTrack, RenderingComponent, DisplayBlurb, adapterConfig, isMinimized, featureNoun, featureWidgetType, plotKeys, plot, configNotices, notices, cornerNotices, plotExamples, configDocsUrl
Methods
| Member | Description |
|---|---|
configuredFilters() => string[] | The jexl: expressions the filter list holds. |
baseFilters() => string[] | The expressions the track's config declares, which "Clear all filters" returns to. |
rampColorScales(id: string) => ColorScale[] | The key a ramp paints, under the caller's scale id: the bar over its domain, and a row apiece for the values the ramp has no color for. Both displays composing this built it from the same three getters, so the derivation is here rather than twice over. |
| domainColorScales | The key the proteinFeatures color derives from regions. |
| renderStateIn | renderState in another palette: the SVG export's, whose theme need not be the session's. |
| rpcProps | |
| gpuProps | What the main-thread encode needs beyond a region's own data: the packed color for every theme class the worker emitted, off session.palette, and the color field's scale, so a theme toggle or a recolor re-encodes what is loaded instead of refetching it. |
| fitLayoutAt | One fit-escalation candidate: the stack packed with the given label reservation, via that config's own memo instance so each keeps stable references across renders. |
decimatedLayoutInputs(factors: LabelRoomFactors) => LayoutInputs | Layout inputs for the decimated rung at one pair of whitespace factors. |
solveLabelRoomFactors(trackHeight: number) => LabelRoomFactors | undefined | The whitespace factors the decimated rung commits at: gene names first, then the rest, each the smallest whose packed stack fits trackHeight (smallest = most names kept), or undefined when even the most aggressive decimation overflows. |
| bodyScaleHeightProbe | Measures a labelled stack's height at any body scale. Each scale needs a separate prep, since the pack reads body heights from it. |
floatingLabels(palette: JBrowsePalette) => FloatingLabel[] | The labels the floating label layer draws over the canvas, as records in the display's own px, for a host that shows the canvas but not this display's DOM: a ring of the circular view. The isoform badge is a control, not a label, and stays out. |
| searchFeatureByID | |
| renderSvg | |
featureNarrowings() => Reversibles | Everything this display is doing to narrow what the user sees, each declared once, so the "Filter by... (n)" count, its undo rows and "Clear all filters" cannot disagree; a method, not a getter, because a getter cannot be super-captured. |
featureMarks() => Reversibles | Reversible state that MARKS features rather than hiding them — the highlight boxes and the pins holding features at the top of the layout. |
| zoomFetchArgs | The worker's zoom-dependent decisions, resolved: the RPC spreads this object and the foundation stamps it beside each region, so a track with the overlay off and a fixed mode never refetches on zoom. expandedGeneIds only under longestCoding, the one mode the worker collapses in. |
groupByPlot(field: string | undefined, colorByGroup: boolean) => Plot | The Group by dialog's choice of field as plot settings, which its Apply writes and its Edit plot button shows: the facet, keeping its domain while the field is the one already set; a color by the field when ticked, left alone while it already paints through any scale; and unticked over a categorical color that was the facet's own, no field. Both colors keep a written constant, as Color by does. |
| scanGroupByCandidates | The attributes the features in view have and the sections each would make, for the Group by dialog: the render fetch's download over the visible blocks, under the same admission and byte budget. |
configProblemsOf(conf: AnyConfigurationModel) => string[] | The schema's rules, then a jexl: color or filter that does not compile. |
() => MenuItem[] | |
() => MenuItem[] | |
() => MenuItem[] | Overridable hook (default none): the rows "Filter by..." lists beside the dialog, one per filter member a display adds. |
() => MenuItem[] | Flattened "Show..." submenu: all checkbox toggles first, then the radio groups (each under a subHeader), then the legend. |
() => MenuItem[] | The feature right-click menu (open details, zoom to, get sequence, highlight scopes, pin/solo/hide, copy). |
() => MenuItem[] | The "Color by..." radio choices (solid/strand/attribute). |
() => MenuItem[] | Color-related track menu entries: a single "Color by..." entry whose radios pick the track's own color or a field, and whose "Solid color..." item opens the solid+UTR color picker. |
() => MenuItem[] | One "Feature height" menu with two independent radio groups: the size presets and, under a "Track sizing" subheader, how the track responds when there are more features than fit. |
() => MenuItem[] |
12 inherited methods from 6 models
From CanvasFeatureGateMixin: observedMaxDensity
From ParkedColorMixin: parkedColorOf
From LegendMixin: colorScalesIn, legendSpecIn
From MultiRegionDisplayMixin: regionHasData, isCacheValid
From RegionTooLargeMixin: resolvedByteLimit, gateFetchState
From BaseDisplay: renderingProps, liftPlot, plotProblems, plotWrites
Actions
| Member | Description |
|---|---|
beginYMorph(fromTops: Map<string, number>, fromMaxY: number) => void | |
setMorphProgress(t: number) => void | |
advanceAnimation(nowMs: number) => void | the chrome's frame clock |
endAnimation() => void | |
| setRpcData | Stage a region as fetched — the store's raw write with this display's payload shape, so a test stands up a loaded display in one call. |
startRenderingBackend(backend: CanvasFeatureRenderingBackend) => void | |
togglePinnedFeature(featureId: string) => void | |
clearPinnedFeatures() => void | |
toggleExpandedGene(featureId: string) => void | Open or re-collapse one gene's isoforms, from the badge on the gene's label. |
clearExpandedGenes() => void | Re-collapse every gene opened from a badge. |
toggleSoloFeature(featureId: string) => void | |
applySolo() => void | |
soloFeature(featureId: string) => void | |
clearSolo() => void | |
hideFeature(featureId: string) => void | |
() => void | |
| setHover | |
clearHover() => void | |
setFeatureHighlights(highlights: FeatureHighlight[]) => void | |
setSearchHighlight(highlight: FeatureHighlight) => void | A text search's highlight replaces the previous search's and leaves the right-click ones, which have a featureId, alone. |
addFeatureHighlightForItem(target: HighlightTarget, refName: string) => void | |
removeFeatureHighlightsForId(featureId: string) => void | |
clearFeatureHighlights() => void | |
(info: FeatureContextMenuInfo) => void | Drops the hover first, so its tooltip does not sit under the menu; the highlight box stays on the target through hoverBoxFeature. |
| openFeatureDetails | Open the feature-details widget on what fetch resolves to, with the adapter's header metadata beside it; a lookup that resolves to nothing is reported as a miss. |
selectFeature(feature: Feature) => void | Open the feature-details widget on a feature already in hand. |
clearSelection() => void | |
| setShowLabels | |
setFilter(filters?: string[] | undefined) => void | Write the filter list's expressions, its other entries kept; undefined returns them to what the track's config declares. |
setShowOutline(value: boolean) => void | |
setSequenceHoverPosition(pos: SequenceHoverPosition | undefined) => void | |
openFilterDialog() => void | |
| setDisplayMode | |
dropGroupState() => void | The stack starts over from the top when its sections change. |
openSolidColorDialog() => void | the picker Color by's Solid color... opens |
| fetchFullFeature | |
| selectFeatureById | |
reload() => void | Clears the loaded regions and fetches straight away, rather than waiting out FetchVisibleRegions' 600ms debounce as the rest of the family does — Retry and Force load are both clicks, and this is the display the user is most often clicking on. |
fetchNeeded(needed: IndexedRegion[]) => void | |
openPlotDialog(seed?: Plot | undefined) => void | "Edit plot...", seeded with a draft a dialog has not applied. |
applyGroupBy(field: string | undefined, colorByGroup: boolean) => void | What the Group by dialog applies: groupByPlot, the draft its Edit plot button shows. |
openColorByAttributeDialog() => void | |
clearHoveredFeature() => void | Fills BaseDisplay's hover-clear hook, which the fetch foundation's reaction calls on every viewport change. |
openGroupByDialog() => void |
53 inherited actions from 14 models
From HiddenGroupsMixin: hideGroup, showAllGroups
From ContextMenuMixin:
From CanvasFeatureGateMixin: setDensityStats, clearGateMeasurements, commitGateMeasurements
From FacetWritesMixin: facetByField, setFacetSort
From ColorWritesMixin: colorByField, setColorValue, pickDefaultColor, pickSolidColor
From ParkedColorMixin: parkColor
From LegendMixin: setShowLegend, dismissLegendSection
From MultiRegionDisplayMixin: setLoadedRegion, evictRegionStore, dropLoadedRegion, clearDisplaySpecificData, clearSettingsBakedData, clearAllRpcData, invalidateSettings, fetchRegions, afterAttach
From FetchMixin: setError, setStatusMessage, stopActiveFetch, openStatusStream, cancelFetch, cancelFetchByUser, beforeDestroy, beginFetch, endFetch, runFetch
From RenderLifecycleMixin: markCanvasDrawn, resetCanvasDrawn, stopRenderingBackend, renderNow, setOffScreen, setRenderError, attachRenderingBackend
From RegionTooLargeMixin: clearByteEstimate, setForceLoadTrack, commitFetchBytes, forceLoad
From HeightModeMixin: setHeightMode, resizeHeight
From TrackHeightMixin: setScrollTop, setHostHeight, setHeight, expandToContentHeight