RadialChart

class RadialChart<P extends RenderParams>

This Chart class is designed for rendering features in a circular context, e.g. bacterial genomes.

Type parameters

  • P: RenderParams

Constructors

(config: RadialChartConfig <P>): RadialChart

Type parameters

  • P: RenderParams

Parameters

  • config: RadialChartConfig

Properties

_axisAnn

_axisAnn: undefined | Annotation

The Annotation object that is used to render the horizontal axis (if enabled).

_containerSelection

_containerSelection: undefined | Selection <any, any, any, any>

A d3 selection of the Chart’s DOM container. This is a pre-existing DOM element (probably a div).

_padHeight

_padHeight: number

The height in pixels of the Chart’s SVG pad.

_padWidth

_padWidth: number

The width in pixels of the Chart’s SVG pad.

_renderParams

_renderParams: undefined | P

The last used render parameters.

_rowStripePatternSelection

_rowStripePatternSelection: undefined | Selection <SVGPatternElement, any, any, any>

A D3 selection of the SVG pattern that is used for row striping.

_rowStripeRectSelection

_rowStripeRectSelection: undefined | Selection <SVGRectElement, any, any, any>

A D3 Selection of the SVG rectangle that is used for row striping.

_selector

_selector: undefined | string

A string that can be used to uniquely select the target DOM container.

_transform

_transform: Transform

The Transform object that describes the current zoom transformation.

_viewportHeight

_viewportHeight: number

The height in pixels of the Chart’s SVG viewport.

_viewportWidth

_viewportWidth: number

The width in pixels of the Chart’s SVG viewport.

axisRadius

axisRadius: undefined | number

The radius of the circle that defines the axis placement.

axisType

axisType: undefined | Bottom | Top

This indicates whether or not the Chart has a horizontal axis.

defSelection

defSelection: Selection <any, any, any, any>

A d3 selection of the Chart’s defs element. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs

divHeight

divHeight: undefined | string | number

The CSS height property of the Chart’s div.

divMargin

divMargin: undefined | number

The CSS margin property of the Chart’s div.

divOutline

divOutline: undefined | string

The CSS outline property of the Chart’s div.

divOverflowX

divOverflowX: undefined | string

The CSS overflow-x property of the Chart’s div.

divOverflowY

divOverflowY: undefined | string

The CSS overflow-y property of the Chart’s div.

divSelection

divSelection: Selection <any, any, any, any>

A d3 selection of the Chart’s inner div. This is created when the Chart is instantiated and placed inside of the selected container in the DOM.

divWidth

divWidth: undefined | string | number

The CSS width property of the Chart’s div.

domainConstraint

domainConstraint: (chart: Chart <P>): None

This constrains the Chart’s domain, which in turn constrains both zoom level and panning. The parameter is a callback function that is evaluated after each zoom event to produce an interval that constrains the domain.

glyphModifiers

glyphModifiers: GlyphModifier <any, any> []

A list of GlyphModifiers that control the glyphs rendered in the Chart.

highlightSelection

highlightSelection: Selection <any, any, any, any>

A d3 selection of the Chart’s highlight.

id

id: string

A unique identifier for the Chart.

inRender

inRender: (params: P): void

The second rendering callback function.

initialDomain

initialDomain: None

The initialized domain of the Chart when render() is called with the initializeXScale flag.

innerRadius

innerRadius: number

The inner radius of the conceptual annulus that defines the Chart annotation track.

leftPadSize

leftPadSize: number

The number of pixels of padding on the left side of the Chart.

lowerPadSize

lowerPadSize: number

The number of pixels of padding on the bottom of the Chart.

observers

observers: ChartObserver []

A list of observers attached to the Chart.

outerRadius

outerRadius: number

The outer radius of the conceptual annulus that defines the Chart annotation track.

overflowViewportSelection

overflowViewportSelection: Selection <any, any, any, any>

A d3 selection of the Chart’s viewport that allows rendering overflow.

padSelection

padSelection: Selection <any, any, any, any>

A d3 selection of the viewport’s padding container.

padSize

padSize: number

The number of pixels of padding around each edge of the Chart.

postRender

postRender: (params: P): void

The final rendering callback function.

postResize

postResize: (): void

The callback function that the Chart executes after resize() is called.

postZoom

postZoom: (): void

The callback function that the Chart executes after zoom() is called.

preRender

preRender: (params: P): void

The first rendering callback function.

resizable

resizable: boolean

This controls whether or not the Chart has automatic resizing enabled.

rightPadSize

rightPadSize: number

The number of pixels of padding on the right side of the Chart.

rowCount

rowCount: number

The number of rows in the Chart.

rowHeight

rowHeight: number

The height in pixels of a horizontal row in the Chart. This defaults to a value of 10.

rowStripes

rowStripes: boolean

This controls whether or not the rows will be colored in an alternating pattern.

trackHeight

trackHeight: number

The “height” of the radial track on which annotations will be rendered. Conceptually, this is equal to to the difference of the radii of two concentric circles that define an annulus.

trackOutlineSelection

trackOutlineSelection: undefined | Selection <any, any, any, any>

A d3 selection to the track outline.

upperPadSize

upperPadSize: number

The number of pixels of padding on the top of the Chart.

viewportSelection

viewportSelection: Selection <any, any, any, any>

A d3 selection of the Chart’s viewport.

xScale

xScale: ScaleLinear <number, number>

A D3 scale that the Chart will use to translate between semantic and viewport coordinates. This scale will be periodically re-scaled after zoom events.

zoomConstraint

zoomConstraint: None

A Chart’s contents are scaled by a scaling factor k. If a zoomConstraint of the form [min_k, max_k] is provided, the scaling factor will be constrained to that range. This will not constrain panning.

zoomable

zoomable: boolean

This controls whether or not the Chart has zooming enabled.

Accessors

containerSelection

get containerSelection(): Selection <any, any, any, any>

Get a D3 selection of the Chart’s DOM Container. This throws an exception if the value is undefined, which probably means the entire chart is detached from the DOM.

padHeight

get padHeight(): number

Getter for the padHeight property.

set padHeight(height: number): void

Setter for the padHeight property. This actually adjusts the height attribute on the viewport DOM element.

padWidth

get padWidth(): number

Getter for the padWidth property.

set padWidth(width: number): void

Setter for the padWidth property. This actually adjusts the width attribute on the viewport DOM element.

renderParams

get renderParams(): P

Getter for the Chart’s most recently used RenderParams.

set renderParams(params: P): void

Setter for the renderParms property.

rowStripePatternSelection

get rowStripePatternSelection(): Selection <SVGPatternElement, any, any, any>

A getter for the rowStripePatternSelection property. This serves as a null guard.

rowStripeRectSelection

get rowStripeRectSelection(): Selection <SVGRectElement, any, any, any>

A getter for the rowStripeSelection property. This serves as a null guard.

selector

get selector(): string

A getter for the Chart’s selector property. The selector should be able to uniquely select the Chart’s DOM container.

transform

get transform(): Transform

Getter for the transform property. This also updates the internal transform on the Chart’s pad DOM element.

set transform(transform: Transform): void

Setter for the transform property.

viewportHeight

get viewportHeight(): number

Getter for the viewportHeight property.

set viewportHeight(height: number): void

Setter for the viewportHeight property. This actually adjusts the height property on the viewport DOM element.

viewportWidth

get viewportWidth(): number

Getter for the viewportWidth property.

set viewportWidth(width: number): void

Setter for the viewportWidth property. This actually adjusts the width property on the viewport DOM element.

Methods

addAxis

addAxis(): void

Returns: void

addGlyphModifier

addGlyphModifier(modifier: GlyphModifier <A, C>, initialize: boolean): void

This adds a GlyphModifier to the Chart.

Type parameters

  • A: Annotation

  • C: Chart

Parameters

  • modifier: GlyphModifier <A, C>

  • initialize: boolean

Returns: void

addTrackOutline

addTrackOutline(): void

Returns: void

alertObservers

alertObservers(): void

This calls each of this Chart’s attached observer’s alert() method.

Returns: void

applyGlyphModifiers

applyGlyphModifiers(): void

This applies each of the Chart’s GlyphModifier.zoom() methods, resulting in each of the glyphs in the Chart being appropriately redrawn for the current zoom level.

Returns: void

applyLayoutAndSetRowCount

applyLayoutAndSetRowCount(params: P): void

Parameters

  • params: P

Returns: void

calculateContainerDimensions

calculateContainerDimensions(): DOMRect

This uses d3 to select the Chart’s DOM container and returns a DOMRect that describes that containers dimensions.

Returns: DOMRect

calculateDivDimensions

calculateDivDimensions(): DOMRect

Returns: DOMRect

calculatePadDimensions

calculatePadDimensions(): DOMRect

This returns a DOMRect that describes the pad dimensions.

Returns: DOMRect

calculatePadHeight

calculatePadHeight(): number

This calculates and returns the width of the SVG viewport in pixels.

Returns: number

calculatePadWidth

calculatePadWidth(): number

This calculates and returns the width of the SVG viewport in pixels.

Returns: number

calculateViewportDimensions

calculateViewportDimensions(): DOMRect

This returns a DOMRect that describes the viewport’s dimensions.

Returns: DOMRect

calculateViewportHeight

calculateViewportHeight(): number

This checks the current height of the viewport in the DOM and returns it.

Returns: number

calculateViewportWidth

calculateViewportWidth(): number

This calculates the current width of the viewport in the DOM and returns it.

Returns: number

clear

clear(): void

This method clears all glyphs that have been rendered in the Chart.

Returns: void

clearHighlight

clearHighlight(selector: string): void

Parameters

  • selector: string

Returns: void

configureResize

configureResize(): void

This configures the Chart to respond to browser resize events. The default resize behavior is for the Chart to maintain the current semantic view range, either stretching or shrinking the current view.

Returns: void

configureZoom

configureZoom(): void

Returns: void

defaultInRender

defaultInRender(params: P): void

Type parameters

  • P: RenderParams

Parameters

  • params: P

Returns: void

defaultPostRender

defaultPostRender(): void

Type parameters

  • P: RenderParams

Returns: void

defaultPreRender

defaultPreRender(params: P): void

Parameters

  • params: P

Returns: void

disableZoom

disableZoom(): void

This disables zooming on the Chart.

Returns: void

domainFromMousemoveEvent

domainFromMousemoveEvent(transform: Transform, sourceEvent: WheelEvent): None

Parameters

  • transform: Transform

  • sourceEvent: WheelEvent

Returns: None

domainFromWheelEvent

domainFromWheelEvent(transform: Transform, sourceEvent: WheelEvent): None

Parameters

  • transform: Transform

  • sourceEvent: WheelEvent

Returns: None

fitPadHeight

fitPadHeight(): void

This fits the Chart’s SVG padding based off of the rowCount, rowHeight and padSize properties.

Returns: void

fitRadialDimensions

fitRadialDimensions(): void

Returns: void

fitRowStripes

fitRowStripes(): void

This automatically sets the dimensions of the row stripe DOM elements.

Returns: void

fitViewport

fitViewport(): void

This fits the Chart’s SVG viewport based off of the Chart’s pad size.

Returns: void

getContainerHeight

getContainerHeight(): number

This calculates and returns the Chart’s DOM container’s height in pixels.

Returns: number

getContainerWidth

getContainerWidth(): number

This calculates and returns the Chart’s DOM container’s width in pixels.

Returns: number

getSemanticViewRange

getSemanticViewRange(): ViewRange

Returns: ViewRange

highlight

highlight(config: HighlightConfig): string

Parameters

  • config: HighlightConfig

Returns: string

initializeXScale

initializeXScale(start: number, end: number): void

This initializes an x translation scale with the provided coordinates and the dimensions of the Chart.

Parameters

  • start: number

  • end: number

Returns: void

initializeXScaleFromRenderParams

initializeXScaleFromRenderParams(params: P): void

This initializes an x translation scale with the provided RenderParams and the dimensions of the Chart.

Parameters

  • params: P

Returns: void

render

render(params: P): void

This method stores the render parameters on the Chart and calls preRender(), inRender(), and postRender().

Parameters

  • params: P

Returns: void

renderAxis

renderAxis(): void

Returns: void

renderTrackOutline

renderTrackOutline(): void

Returns: void

resetTransform

resetTransform(): void

Reset the Chart’s transform to the zoom identity (no translation, no zoom).

Returns: void

resize

resize(): void

Returns: void

setDomain

setDomain(domain: None): void

Set the domain of the Chart’s x scale.

Parameters

  • domain: None

Returns: void

setRange

setRange(range: None): void

Set the range of the Chart’s x scale.

Parameters

  • range: None

Returns: void

setRowStripes

setRowStripes(): void

This initializes the DOM elements that form the row stripes in the Chart, if enabled.

Returns: void

setToContainerDimensions

setToContainerDimensions(): void

This calculates the Chart’s DOM container’s dimensions and sets the Chart’s SVG pad to fill those dimensions.

Returns: void

squareToContainerHeight

squareToContainerHeight(): void

This calculates the height of the Chart’s DOM container and sets the Chart’s SVG pad to a square with that height.

Returns: void

squareToContainerWidth

squareToContainerWidth(): void

This calculates the width of the Chart’s DOM container and sets the Chart’s SVG pad to a square with that width.

Returns: void

squareToDivWidth

squareToDivWidth(): void

Returns: void

updateDivProperties

updateDivProperties(): void

Returns: void

updateRange

updateRange(): void

Returns: void

zoom

zoom(): void

Returns: void

zoomHighlight

zoomHighlight(): void

Returns: void

inferRenderRange

inferRenderRange(params: P): None

A utility function to attempt to infer a semantic range on RenderParams when no range is explicitly supplied.

Type parameters

  • P: RenderParams

Parameters

  • params: P

Returns: None