# Interface: Plugin<TType, O>

# Type parameters

Name Type
TType extends ChartType = ChartType
O AnyObject

# Hierarchy

# Properties

# id

id: string

# Defined in

index.esm.d.ts:808 (opens new window)

# Methods

# afterBuildTicks

Optional afterBuildTicks(chart, args, options): void

desc Called after scale has build its ticks. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:967 (opens new window)


# afterDataLimits

Optional afterDataLimits(chart, args, options): void

desc Called after scale data limits are calculated. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:951 (opens new window)


# afterDatasetDraw

Optional afterDatasetDraw(chart, args, options): void

desc Called after the chart datasets at the given args.index have been drawn (datasets are drawn in the reverse order). Note that this hook will not be called if the datasets drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1049 (opens new window)


# afterDatasetUpdate

Optional afterDatasetUpdate(chart, args, options): void

desc Called after the chart datasets at the given args.index has been updated. Note that this hook will not be called if the datasets update has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable false -
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:926 (opens new window)


# afterDatasetsDraw

Optional afterDatasetsDraw(chart, args, options, cancelable): void

desc Called after the chart datasets have been drawn. Note that this hook will not be called if the datasets drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.
cancelable false -

# Returns

void

# Defined in

index.esm.d.ts:1026 (opens new window)


# afterDatasetsUpdate

Optional afterDatasetsUpdate(chart, args, options): void

desc Called after the chart datasets have been updated. Note that this hook will not be called if the datasets update has been previously cancelled.

since version 2.1.5

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:903 (opens new window)


# afterDestroy

Optional afterDestroy(chart, args, options): void

Called after the chart has been destroyed.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1102 (opens new window)


# afterDraw

Optional afterDraw(chart, args, options): void

desc Called after the chart has been drawn. Note that this hook will not be called if the drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1009 (opens new window)


# afterEvent

Optional afterEvent(chart, args, options): void

desc Called after the event has been consumed. Note that this hook will not be called if the event has been previously discarded.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable false -
args.changed? boolean -
args.event ChartEvent The event object.
args.inChartArea boolean The event position is inside chartArea
args.replay boolean True if this event is replayed from Chart.update
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1072 (opens new window)


# afterInit

Optional afterInit(chart, args, options): void

desc Called after chart has been initialized and before the first update.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:847 (opens new window)


# afterLayout

Optional afterLayout(chart, args, options): void

desc Called after the chart has been laid out. Note that this hook will not be called if the layout update has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:975 (opens new window)


# afterRender

Optional afterRender(chart, args, options): void

desc Called after the chart has been fully rendered (and animation completed). Note that this hook will not be called if the rendering has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:992 (opens new window)


# afterTooltipDraw

Optional afterTooltipDraw(chart, args, options): void

desc Called after drawing the tooltip. Note that this hook will not be called if the tooltip drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.tooltip TooltipModel<TType> The tooltip.
options O The plugin options.

# Returns

void

# Inherited from

ExtendedPlugin.afterTooltipDraw

# Defined in

index.esm.d.ts:2601 (opens new window)


# afterUpdate

Optional afterUpdate(chart, args, options): void

desc Called after chart has been updated and before rendering. Note that this hook will not be called if the chart update has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:866 (opens new window)


# beforeBuildTicks

Optional beforeBuildTicks(chart, args, options): void

desc Called before scale builds its ticks. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:959 (opens new window)


# beforeDataLimits

Optional beforeDataLimits(chart, args, options): void

desc Called before scale data limits are calculated. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:943 (opens new window)


# beforeDatasetDraw

Optional beforeDatasetDraw(chart, args, options): boolean | void

desc Called before drawing the chart dataset at the given args.index (datasets are drawn in the reverse order). If any plugin returns false, the datasets drawing is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
options O The plugin options.

# Returns

boolean | void

false to cancel the chart datasets drawing.

# Defined in

index.esm.d.ts:1038 (opens new window)


# beforeDatasetUpdate

Optional beforeDatasetUpdate(chart, args, options): boolean | void

desc Called before updating the chart dataset at the given args.index. If any plugin returns false, the datasets update is cancelled until another update is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options O The plugin options.

# Returns

boolean | void

false to cancel the chart datasets drawing.

# Defined in

index.esm.d.ts:915 (opens new window)


# beforeDatasetsDraw

Optional beforeDatasetsDraw(chart, args, options): boolean | void

desc Called before drawing the chart datasets. If any plugin returns false, the datasets drawing is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options O The plugin options.

# Returns

boolean | void

false to cancel the chart datasets drawing.

# Defined in

index.esm.d.ts:1018 (opens new window)


# beforeDatasetsUpdate

Optional beforeDatasetsUpdate(chart, args, options): boolean | void

desc Called before updating the chart datasets. If any plugin returns false, the datasets update is cancelled until another update is triggered.

since version 2.1.5

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options O The plugin options.

# Returns

boolean | void

false to cancel the datasets update.

# Defined in

index.esm.d.ts:893 (opens new window)


# beforeDestroy

Optional beforeDestroy(chart, args, options): void

Called before the chart is being destroyed.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1087 (opens new window)


# beforeDraw

Optional beforeDraw(chart, args, options): boolean | void

desc Called before drawing chart at every animation frame. If any plugin returns false, the frame drawing is cancelled untilanother render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options O The plugin options.

# Returns

boolean | void

false to cancel the chart drawing.

# Defined in

index.esm.d.ts:1001 (opens new window)


# beforeElementsUpdate

Optional beforeElementsUpdate(chart, args, options): void

desc Called during the update process, before any chart elements have been created. This can be used for data decimation by changing the data array inside a dataset.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:874 (opens new window)


# beforeEvent

Optional beforeEvent(chart, args, options): boolean | void

desc Called before processing the specified event. If any plugin returns false, the event will be discarded.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.event ChartEvent The event object.
args.inChartArea boolean The event position is inside chartArea
args.replay boolean True if this event is replayed from Chart.update
options O The plugin options.

# Returns

boolean | void

# Defined in

index.esm.d.ts:1060 (opens new window)


# beforeInit

Optional beforeInit(chart, args, options): void

desc Called before initializing chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:840 (opens new window)


# beforeLayout

Optional beforeLayout(chart, args, options): boolean | void

desc Called before laying out chart. If any plugin returns false, the layout update is cancelled until another update is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options O The plugin options.

# Returns

boolean | void

false to cancel the chart layout.

# Defined in

index.esm.d.ts:935 (opens new window)


# beforeRender

Optional beforeRender(chart, args, options): boolean | void

desc Called before rendering chart. If any plugin returns false, the rendering is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options O The plugin options.

# Returns

boolean | void

false to cancel the chart rendering.

# Defined in

index.esm.d.ts:984 (opens new window)


# beforeTooltipDraw

Optional beforeTooltipDraw(chart, args, options): boolean | void

desc Called before drawing the tooltip. If any plugin returns false, the tooltip drawing is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.tooltip TooltipModel<TType> The tooltip.
options O The plugin options.

# Returns

boolean | void

false to cancel the chart tooltip drawing.

# Inherited from

ExtendedPlugin.beforeTooltipDraw

# Defined in

index.esm.d.ts:2592 (opens new window)


# beforeUpdate

Optional beforeUpdate(chart, args, options): boolean | void

desc Called before updating chart. If any plugin returns false, the update is cancelled (and thus subsequent render(s)) until another update is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode
options O The plugin options.

# Returns

boolean | void

false to cancel the chart update.

# Defined in

index.esm.d.ts:857 (opens new window)


# destroy

Optional destroy(chart, args, options): void

Called after the chart has been destroyed.

deprecated since version 3.7.0 in favour of afterDestroy

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1095 (opens new window)


# install

Optional install(chart, args, options): void

desc Called when plugin is installed for this chart instance. This hook is also invoked for disabled plugins (options === false).

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:817 (opens new window)


# reset

Optional reset(chart, args, options): void

desc Called during chart reset

since version 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:882 (opens new window)


# resize

Optional resize(chart, args, options): void

desc Called after the chart as been resized.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.size Object The new canvas display size (eq. canvas.style width & height).
args.size.height number -
args.size.width number -
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1080 (opens new window)


# start

Optional start(chart, args, options): void

desc Called when a plugin is starting. This happens when chart is created or plugin is enabled.

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:825 (opens new window)


# stop

Optional stop(chart, args, options): void

desc Called when a plugin stopping. This happens when chart is destroyed or plugin is disabled.

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:833 (opens new window)


# uninstall

Optional uninstall(chart, args, options): void

Called after chart is destroyed on all plugins that were installed for that chart. This hook is also invoked for disabled plugins (options === false).

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1110 (opens new window)