# 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

ProtectedapplyStack(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

ProtectedgetLabelAndValue(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

ProtectedgetMaxOverflow(): 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

ProtectedgetMinMax(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

ProtectedgetParsed(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

ProtectedgetSharedOptions(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

ProtectedincludeOptions(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

ProtectedparseArrayData(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

ProtectedparseObjectData(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

ProtectedparsePrimitiveData(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

ProtectedresolveDataElementOptions(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

ProtectedresolveDatasetElementOptions(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

ProtectedupdateElement(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

ProtectedupdateRangeFromParsed(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

ProtectedupdateSharedOptions(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)