BreakpointSplitView
Note: this document is automatically generated from @jbrowse/mobx-state-tree objects in our source code. See Core concepts and intro to pluggable elements for more info
Also note: this document represents the state model API for the current released version of jbrowse. If you are not using the current version, please cross reference the markdown files in our repo of the checked out git tag
Links
Docs
extends
BreakpointSplitView - Properties
property: type
// type signature
ISimpleType<"BreakpointSplitView">
// code
type: types.literal('BreakpointSplitView')
property: height
// type signature
IOptionalIType<ISimpleType<number>, [undefined]>
// code
height: types.optional(types.number, defaultHeight)
property: trackSelectorType
// type signature
string
// code
trackSelectorType: 'hierarchical'
property: showIntraviewLinks
// type signature
true
// code
showIntraviewLinks: true
property: linkViews
// type signature
false
// code
linkViews: false
property: interactiveOverlay
// type signature
true
// code
interactiveOverlay: true
property: showHeader
// type signature
true
// code
showHeader: true
property: views
// type signature
IArrayType<IModelType<{ id: IOptionalIType<ISimpleType<string>, [undefined]>; displayName: IMaybe<ISimpleType<string>>; minimized: IType<boolean | undefined, boolean, boolean>; } & { ...; }, { ...; } & ... 16 more ... & { ...; }, ModelCreationType<...>, ModelSnapshotType<...>>>
// code
views: types.array(
pluginManager.getViewType('LinearGenomeView')!
.stateModel as LinearGenomeViewStateModel,
)
property: init
used for initializing the view from a session snapshot
// type signature
IType<BreakpointSplitViewInit | undefined, BreakpointSplitViewInit | undefined, BreakpointSplitViewInit | undefined>
// code
init: types.frozen<BreakpointSplitViewInit | undefined>()
BreakpointSplitView - Getters
getter: hasSomethingToShow
// type
boolean
getter: initialized
// type
boolean
getter: showImportForm
// type
boolean
getter: assembly
// type
({ configuration: any; } & NonEmptyObject & { error: unknown; loadingP: Promise<void> | undefined; volatileRegions: BasicRegion[] | undefined; refNameAliases: RefNameAliases | undefined; canonicalToSeqAdapterRefNames: Record<...> | undefined; cytobands: Feature[] | undefined; lowerCaseRefNameAliases: RefNameAliases ...
getter: matchedTracks
Find all track ids that match across multiple views, or return just the single view's track if only a single row is used
// type
(IMSTArray<IAnyType> & IStateTreeNode<IArrayType<IAnyType>>) | { configuration: { trackId: string; }; }[]
getter: overlayMatches
Zero-arg cached getter: classifies each matched track, pairs its features, looks up layout rectangles, and returns a Map keyed by trackId. Mobx caches this across renders and only invalidates when the underlying feature or layout reads change — so horizontal/vertical scrolling and track resizing do NOT trigger re-pairing or re-lookup.
// type
Map<string, OverlayMatch>
BreakpointSplitView - Methods
method: exportSvg
creates an svg export and save using FileSaver
// type signature
exportSvg: (opts?: ExportSvgOptions) => Promise<void>
method: getMatchedTracks
Get tracks with a given trackId across multiple views
// type signature
getMatchedTracks: (trackConfigId: string) => any[]
method: getTrackFeatures
Get a composite map of featureId->feature map for a track across multiple views
// type signature
getTrackFeatures: (trackConfigId: string) => Map<string, Feature>
method: getTrackOverlayData
Per-render precompute for an overlay track. Gathers scroll top, display height, coverage offset, and view offsetPx per level, then returns getX/getY closures for converting feature layout records to SVG coordinates.
yOffsetsOverride — SVG export: fixed track tops, scrollTops zeroed.
domYOffsets — live rendering: DOM-measured track tops (relative to the overlay
SVG), scrollTops still read from model.
// type signature
getTrackOverlayData: (trackId: string, yOffsetsOverride?: number[] | undefined, domYOffsets?: number[] | undefined) => { tracks: any[]; yOffsets: any[]; heights: any[]; getX: (level: number, refName: string, coord: number) => number | undefined; getY: (level: number, c: LayoutRecord) => any; }
method: menuItems
// type signature
menuItems: () => ({ label: string; subMenu: MenuItem[]; } | { label: string; onClick: () => void; icon?: undefined; subMenu?: undefined; } | { label: string; icon: OverridableComponent<SvgIconTypeMap<{}, "svg">> & { ...; }; onClick: () => void; subMenu?: undefined; } | { ...; })[]
method: rubberBandMenuItems
// type signature
rubberBandMenuItems: () => { label: string; onClick: () => void; }[]
BreakpointSplitView - Actions
action: setWidth
// type signature
setWidth: (newWidth: number) => void
action: setInteractiveOverlay
// type signature
setInteractiveOverlay: (arg: boolean) => void
action: setShowIntraviewLinks
// type signature
setShowIntraviewLinks: (arg: boolean) => void
action: setLinkViews
// type signature
setLinkViews: (arg: boolean) => void
action: setShowHeader
// type signature
setShowHeader: (arg: boolean) => void
action: setMatchedTrackFeatures
// type signature
setMatchedTrackFeatures: (obj: Record<string, Feature[][]>) => void
action: reverseViewOrder
// type signature
reverseViewOrder: () => void
action: squareView
// type signature
squareView: () => void
action: setInit
// type signature
setInit: (init?: BreakpointSplitViewInit | undefined) => void
action: setViews
// type signature
setViews: (viewInits: { loc?: string | undefined; assembly: string; tracks?: string[] | undefined; }[]) => void