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

Source code

GitHub page

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'
// 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
// 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