# Class: DatasetController<TType, TElement, TDatasetElement, TParsedData>

# Type parameters

Name Type Default
TType ChartType ChartType
TElement Element Element
TDatasetElement Element Element
TParsedData - ParsedDataType<TType>

# Hierarchy

# Constructors

# constructor

+ new DatasetController<TType, TElement, TDatasetElement, TParsedData>(chart: Chart<"bar" | "line" | "scatter" | "bubble" | "pie" | "doughnut" | "polarArea" | "radar", (number | ScatterDataPoint | BubbleDataPoint)[], unknown>, datasetIndex: number): DatasetController<TType, TElement, TDatasetElement, TParsedData>

# Type parameters

Name Type Default
TType "bar" | "line" | "scatter" | "bubble" | "pie" | "doughnut" | "polarArea" | "radar" "bar" | "line" | "scatter" | "bubble" | "pie" | "doughnut" | "polarArea" | "radar"
TElement Element<{}, {}, TElement> Element<{}, {}>
TDatasetElement Element<{}, {}, TDatasetElement> Element<{}, {}>
TParsedData - ParsedDataType<TType>

# Parameters

Name Type
chart Chart<"bar" | "line" | "scatter" | "bubble" | "pie" | "doughnut" | "polarArea" | "radar", (number | ScatterDataPoint | BubbleDataPoint)[], unknown>
datasetIndex number

Returns: DatasetController<TType, TElement, TDatasetElement, TParsedData>

Defined in: index.esm.d.ts:532 (opens new window)

# Properties

# _cachedMeta

Readonly _cachedMeta: ChartMeta<TElement, TDatasetElement>

Defined in: index.esm.d.ts:537 (opens new window)


# chart

Readonly chart: Chart<"bar" | "line" | "scatter" | "bubble" | "pie" | "doughnut" | "polarArea" | "radar", (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

Defined in: index.esm.d.ts:535 (opens new window)


# enableOptionSharing

enableOptionSharing: boolean

Defined in: index.esm.d.ts:538 (opens new window)


# index

Readonly index: number

Defined in: index.esm.d.ts:536 (opens new window)

# Methods

# addElements

addElements(): void

Returns: void

Defined in: index.esm.d.ts:554 (opens new window)


# applyStack

Protected applyStack(scale: Scale<CoreScaleOptions>, parsed: unknown[]): number

# Parameters

Name Type
scale Scale<CoreScaleOptions>
parsed unknown[]

Returns: number

Defined in: index.esm.d.ts:590 (opens new window)


# buildOrUpdateElements

buildOrUpdateElements(resetNewElements?: boolean): void

# Parameters

Name Type
resetNewElements? boolean

Returns: void

Defined in: index.esm.d.ts:555 (opens new window)


# configure

configure(): void

Returns: void

Defined in: index.esm.d.ts:552 (opens new window)


# draw

draw(): void

Returns: void

Defined in: index.esm.d.ts:547 (opens new window)


# getAllParsedValues

getAllParsedValues(scale: Scale<CoreScaleOptions>): number[]

# Parameters

Name Type
scale Scale<CoreScaleOptions>

Returns: number[]

Defined in: index.esm.d.ts:541 (opens new window)


# getDataset

getDataset(): ChartDataset<"bar" | "line" | "scatter" | "bubble" | "pie" | "doughnut" | "polarArea" | "radar", (number | ScatterDataPoint | BubbleDataPoint)[]>

Returns: ChartDataset<"bar" | "line" | "scatter" | "bubble" | "pie" | "doughnut" | "polarArea" | "radar", (number | ScatterDataPoint | BubbleDataPoint)[]>

Defined in: index.esm.d.ts:549 (opens new window)


# getLabelAndValue

Protected getLabelAndValue(index: number): object

# Parameters

Name Type
index number

Returns: object

Name Type
label string
value string

Defined in: index.esm.d.ts:542 (opens new window)


# getMaxOverflow

Protected getMaxOverflow(): number | boolean

Returns: number | boolean

Defined in: index.esm.d.ts:546 (opens new window)


# getMeta

getMeta(): ChartMeta<TElement, TDatasetElement>

Returns: ChartMeta<TElement, TDatasetElement>

Defined in: index.esm.d.ts:550 (opens new window)


# getMinMax

Protected getMinMax(scale: Scale<CoreScaleOptions>, canStack?: boolean): object

# Parameters

Name Type
scale Scale<CoreScaleOptions>
canStack? boolean

Returns: object

Name Type
max number
min number

Defined in: index.esm.d.ts:597 (opens new window)


# getParsed

Protected getParsed(index: number): TParsedData

# Parameters

Name Type
index number

Returns: TParsedData

Defined in: index.esm.d.ts:589 (opens new window)


# getScaleForId

getScaleForId(scaleID: string): Scale<CoreScaleOptions>

# Parameters

Name Type
scaleID string

Returns: Scale<CoreScaleOptions>

Defined in: index.esm.d.ts:551 (opens new window)


# getSharedOptions

Protected getSharedOptions(options: Record<string, unknown>): Record<string, unknown>

Utility for checking if the options are shared and should be animated separately.

# Parameters

Name Type
options Record<string, unknown>

Returns: Record<string, unknown>

Defined in: index.esm.d.ts:564 (opens new window)


# getStyle

getStyle(index: number, active: boolean): Record<string, unknown>

# Parameters

Name Type
index number
active boolean

Returns: Record<string, unknown>

Defined in: index.esm.d.ts:557 (opens new window)


# includeOptions

Protected includeOptions(mode: "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active", sharedOptions: Record<string, unknown>): boolean

Utility for determining if options should be included in the updated properties

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"
sharedOptions Record<string, unknown>

Returns: boolean

Defined in: index.esm.d.ts:569 (opens new window)


# initialize

initialize(): void

Returns: void

Defined in: index.esm.d.ts:553 (opens new window)


# linkScales

linkScales(): void

Returns: void

Defined in: index.esm.d.ts:540 (opens new window)


# parse

parse(start: number, count: number): void

# Parameters

Name Type
start number
count number

Returns: void

Defined in: index.esm.d.ts:585 (opens new window)


# parseArrayData

Protected parseArrayData(meta: ChartMeta<TElement, TDatasetElement>, data: Record<string, unknown>[], start: number, count: number): Record<string, unknown>[]

# Parameters

Name Type
meta ChartMeta<TElement, TDatasetElement>
data Record<string, unknown>[]
start number
count number

Returns: Record<string, unknown>[]

Defined in: index.esm.d.ts:587 (opens new window)


# parseObjectData

Protected parseObjectData(meta: ChartMeta<TElement, TDatasetElement>, data: Record<string, unknown>[], start: number, count: number): Record<string, unknown>[]

# Parameters

Name Type
meta ChartMeta<TElement, TDatasetElement>
data Record<string, unknown>[]
start number
count number

Returns: Record<string, unknown>[]

Defined in: index.esm.d.ts:588 (opens new window)


# parsePrimitiveData

Protected parsePrimitiveData(meta: ChartMeta<TElement, TDatasetElement>, data: Record<string, unknown>[], start: number, count: number): Record<string, unknown>[]

# Parameters

Name Type
meta ChartMeta<TElement, TDatasetElement>
data Record<string, unknown>[]
start number
count number

Returns: Record<string, unknown>[]

Defined in: index.esm.d.ts:586 (opens new window)


# removeHoverStyle

removeHoverStyle(element: TElement, datasetIndex: number, index: number): void

# Parameters

Name Type
element TElement
datasetIndex number
index number

Returns: void

Defined in: index.esm.d.ts:582 (opens new window)


# reset

reset(): void

Returns: void

Defined in: index.esm.d.ts:548 (opens new window)


# resolveDataElementOptions

Protected resolveDataElementOptions(index: number, mode: "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"): Record<string, unknown>

# Parameters

Name Type
index number
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

Returns: Record<string, unknown>

Defined in: index.esm.d.ts:559 (opens new window)


# resolveDatasetElementOptions

Protected resolveDatasetElementOptions(mode: "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"): Record<string, unknown>

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

Returns: Record<string, unknown>

Defined in: index.esm.d.ts:558 (opens new window)


# setHoverStyle

setHoverStyle(element: TElement, datasetIndex: number, index: number): void

# Parameters

Name Type
element TElement
datasetIndex number
index number

Returns: void

Defined in: index.esm.d.ts:583 (opens new window)


# update

update(mode: "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"): void

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

Returns: void

Defined in: index.esm.d.ts:544 (opens new window)


# updateElement

Protected updateElement(element: TElement | TDatasetElement, index: number, properties: Record<string, unknown>, mode: "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"): void

Utility for updating an element with new properties, using animations when appropriate.

# Parameters

Name Type
element TElement | TDatasetElement
index number
properties Record<string, unknown>
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

Returns: void

Defined in: index.esm.d.ts:575 (opens new window)


# updateElements

updateElements(elements: TElement[], start: number, count: number, mode: "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"): void

# Parameters

Name Type
elements TElement[]
start number
count number
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

Returns: void

Defined in: index.esm.d.ts:543 (opens new window)


# updateIndex

updateIndex(datasetIndex: number): void

# Parameters

Name Type
datasetIndex number

Returns: void

Defined in: index.esm.d.ts:545 (opens new window)


# updateRangeFromParsed

Protected updateRangeFromParsed(range: { max: number ; min: number }, scale: Scale<CoreScaleOptions>, parsed: unknown[], stack: string | boolean): void

# Parameters

Name Type
range object
range.max number
range.min number
scale Scale<CoreScaleOptions>
parsed unknown[]
stack string | boolean

Returns: void

Defined in: index.esm.d.ts:591 (opens new window)


# updateSharedOptions

Protected updateSharedOptions(sharedOptions: Record<string, unknown>, mode: "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active", newOptions: Record<string, unknown>): void

Utility to animate the shared options, that are potentially affecting multiple elements.

# Parameters

Name Type
sharedOptions Record<string, unknown>
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"
newOptions Record<string, unknown>

Returns: void

Defined in: index.esm.d.ts:581 (opens new window)