Module

Chartjs.Callbacks

Package
purescript-chartjs
Repository
philippedev101/purescript-chartjs

Callback types and overlays for Chart.js event handling.

#Callbacks Source

type Callbacks = { legendOnClick :: Maybe (EffectFn3 Event LegendItem Legend Unit), legendOnHover :: Maybe (EffectFn3 Event LegendItem Legend Unit), legendOnLeave :: Maybe (EffectFn3 Event LegendItem Legend Unit), onClick :: Maybe (EffectFn3 Event (Array ActiveElement) ChartInstance Unit), onHover :: Maybe (EffectFn3 Event (Array ActiveElement) ChartInstance Unit), onResize :: Maybe (EffectFn2 ChartInstance { height :: Number, width :: Number } Unit), tickCallbacks :: Maybe (Object TickCallback), tooltipCallbacks :: Maybe TooltipCallbacks }

Chart.js event callbacks (click, hover, resize, legend, tooltip, ticks).

#TooltipCallbacks Source

type TooltipCallbacks = { footer :: Maybe (EffectFn1 (Array TooltipItem) String), label :: Maybe (EffectFn1 TooltipItem String), title :: Maybe (EffectFn1 (Array TooltipItem) String) }

Tooltip formatting callbacks for label, title, and footer.

#TickCallback Source

type TickCallback = EffectFn3 Foreign Int (Array Foreign) String

Tick formatting callback: (value, index, ticks) -> formatted label

#ActiveElement Source

data ActiveElement

Opaque type for a Chart.js active element in event callbacks.

#LegendItem Source

data LegendItem

Opaque type for a Chart.js legend item in legend callbacks.

#Legend Source

data Legend

Opaque type for the Chart.js legend object in legend callbacks.

#TooltipItem Source

data TooltipItem

Opaque type for a Chart.js tooltip item in tooltip callbacks.

#ComponentInput Source

type ComponentInput = { callbacks :: Callbacks, config :: ChartConfig }

Input for the Halogen chart component: a config and optional callbacks.

#defaultCallbacks Source

defaultCallbacks :: Callbacks

All optional fields set to Nothing.

#defaultTooltipCallbacks Source

defaultTooltipCallbacks :: TooltipCallbacks

All optional fields set to Nothing.

#simpleInput Source

simpleInput :: ChartConfig -> ComponentInput

Create a ComponentInput from just a ChartConfig (no callbacks).

#callbacksToForeign Source

callbacksToForeign :: Callbacks -> Foreign

Convert Callbacks to a plain JS object for the FFI merge function.

#hasCallbacks Source

hasCallbacks :: Callbacks -> Boolean

Check if any callbacks are set.

#buildOverlays Source

buildOverlays :: Callbacks -> ChartConfig -> Foreign

Build a combined overlays object with callbacks and dataset color overlays.

#hasOverlays Source

hasOverlays :: Callbacks -> ChartConfig -> Boolean

Check if there are any overlays that need to be merged (callbacks or non-CSS colors).