Board track configuration object

interface RcsbFvRowExtendedConfigInterface<
    P extends { [k: string]: any } = {},
    S extends { [k: string]: any } = {},
    R extends { [k: string]: any } = {},
    M extends { [k: string]: any } = {},
> {
    boardId: string;
    borderColor?: string;
    borderWidth?: number;
    displayColor?: string | RcsbFvColorGradient;
    displayConfig?: RcsbFvDisplayConfigInterface[];
    displayDomain?: [number, number];
    displayType: RcsbFvDisplayTypes;
    dynamicDisplay?: boolean;
    elementClickCallback?: (
        d?: RcsbFvTrackDataElementInterface,
        e?: MouseEvent,
    ) => void;
    elementEnterCallback?: (
        d?: RcsbFvTrackDataElementInterface,
        e?: MouseEvent,
    ) => void;
    elementId?: string;
    elementLeaveCallback?: (
        d?: RcsbFvTrackDataElementInterface,
        e?: MouseEvent,
    ) => void;
    externalRowTitle?: {
        rowTitleAdditionalProps: P;
        rowTitleComponent: RowTitleComponentType<P, S>;
    };
    fitTitleWidth?: boolean;
    hideEmptyTrackFlag?: boolean;
    hideInnerBorder?: boolean;
    hideRowGlow?: boolean;
    highlightHoverCallback?: (n: RcsbFvTrackDataElementInterface[]) => void;
    highlightHoverElement?: boolean;
    highlightHoverPosition?: boolean;
    includeTooltip?: boolean;
    interpolationType?: string;
    length?: number;
    metadata?: M;
    minRatio?: number;
    nonEmptyDisplay?: boolean;
    overlap?: boolean;
    range?: { max: number; min: number };
    rowMark?: RcsbFvRowMarkPublicInterface<R>;
    rowPrefix?: string;
    rowTitle?: string | RcsbFvLink;
    rowTitleWidth?: number;
    selectDataInRangeFlag?: boolean;
    titleFlagColor?: string;
    tooltipGenerator?: RcsbFvTooltipInterface;
    trackColor?: string;
    trackData?: RcsbFvTrackData<{ [k: string]: any }>;
    trackHeight?: number;
    trackId: string;
    trackVisibility?: boolean;
    trackWidth?: number;
    updateDataOnMove?: (
        d: LocationViewInterface,
    ) => Promise<RcsbFvTrackData<{ [k: string]: any }>>;
}

Type Parameters

  • P extends { [k: string]: any } = {}
  • S extends { [k: string]: any } = {}
  • R extends { [k: string]: any } = {}
  • M extends { [k: string]: any } = {}

Hierarchy (View Summary)

Implemented by

Properties

boardId: string

DOM element Id where the PFV will be rendered

borderColor?: string

Sequence feature cell Border color

borderWidth?: number

Feature cell border width

displayColor?: string | RcsbFvColorGradient

Annotation elements color

Array of display configurations in composite displays

displayDomain?: [number, number]

Y scale domain range

displayType: RcsbFvDisplayTypes

Type of data representation

dynamicDisplay?: boolean

Type of data representation

elementClickCallback?: (
    d?: RcsbFvTrackDataElementInterface,
    e?: MouseEvent,
) => void

Function that will be called when annotations in this track are clicked

elementEnterCallback?: (
    d?: RcsbFvTrackDataElementInterface,
    e?: MouseEvent,
) => void

Function that will be called when clicking annotations in this track

elementId?: string

DOM element Id where the board track is displayed

elementLeaveCallback?: (
    d?: RcsbFvTrackDataElementInterface,
    e?: MouseEvent,
) => void

Function that will be called when mouse-leaving a track annotation

externalRowTitle?: {
    rowTitleAdditionalProps: P;
    rowTitleComponent: RowTitleComponentType<P, S>;
}

Custom row title react component

fitTitleWidth?: boolean

Compute the title/prefix width based on the relative proportion length

hideEmptyTrackFlag?: boolean

Hide tracks with no visible data. Needs selectDataInRangeFlag = true

hideInnerBorder?: boolean

Hide bottom border (last row is ignored)

hideRowGlow?: boolean

Hide row hover glow

highlightHoverCallback?: (n: RcsbFvTrackDataElementInterface[]) => void

Function call on hover event

highlightHoverElement?: boolean

Set highlight hover track elements

highlightHoverPosition?: boolean

Set highlight hover position

includeTooltip?: boolean

Show tooltip when hovering annotations in this specific track

interpolationType?: string

Interpolation type for sequence scalar annotations

length?: number

Length of the track. If length is provided the track coordinates will range from 1 to

metadata?: M

External metadata

minRatio?: number

Residue density threshold used to display/hide annotations

nonEmptyDisplay?: boolean

Flag used in sequence display type to force displaying a line when sequence objects are not visible

overlap?: boolean

If true, track annotations can overlap

range?: { max: number; min: number }

Range of the track. If range is provided the track coordinates will range from to

Track mark events callbacks

rowPrefix?: string

Row title txt prefix

rowTitle?: string | RcsbFvLink

Row title text or link

rowTitleWidth?: number

Length of the track title cell

selectDataInRangeFlag?: boolean

Only data that fall in the current feature viewer range in rendered

titleFlagColor?: string

Color displayed between track title and track annotations

tooltipGenerator?: RcsbFvTooltipInterface

Tooltip generation

trackColor?: string

Background color of the track

trackData?: RcsbFvTrackData<{ [k: string]: any }>

Data structure containing the annotations

trackHeight?: number

Full length of the track

trackId: string

Id used to identify the board track

trackVisibility?: boolean

The track must dbe hide

trackWidth?: number

Full length of the track

updateDataOnMove?: (
    d: LocationViewInterface,
) => Promise<RcsbFvTrackData<{ [k: string]: any }>>

Function that will be called to update track displayed data when the board is moved or zoomed