Chart Layout

Description

Chart layout widget. It provides the layout for the chart. It includes the axis, the grid, and the legend. It should not be used directly. It is used by the chart widgets.

Hierarchy

  • BaseChart
    • ChartLayout

Constructors

Properties

animationInstances: AnimationInstance<Widget>[] = []
centerX: number
centerY: number
children: Widget[] = []

The child-widgets of the widget.

cross: ChartAxis

The cross-axis of the chart.

data: BaseChartData

The data of the chart.

dateFormatOptions?: DateTimeFormatOptions

The date format options of the index-axis.

display: boolean = true
edgeOffset: boolean

Whether the grid aligns with the edge.

Default

false

Description

Whether the grid aligns with the edge.

eventInstances: EventInstance<Widget>[] = []
fillPaint: Paint
gridAlign: boolean

Whether the grid aligns with the index-axis.

Default

true

Description

Whether the grid aligns with the index-axis.

hasSet: boolean = false
index: ChartAxis

The index-axis of the chart.

indexAxis: "x" | "y"

The index-axis of the chart.

Default

'x'

Description

The index-axis of the chart.

indexIntervalUnit?: DateTimeUnit

The interval unit of the index-axis.

indexType: "number" | "label" | "date"

The type of the index-axis.

Default

'label'

Description

BaseChartOptions#indexType

isImplemented: boolean = false
key: string = ...
last: Widget = ...
legendLabels: Text[]

The legend labels of the chart.

legends: Rect[]

The legends of the chart.

paint: Paint

The paint of the chart layout.

parent: Widget
plugins: WidgetPlugin[] = []
progress: number
registeredEvents: Map<string, Event<Widget>> = ...
setups: {
    generator: Generator<number | {
        animation: Animation<any>;
        duration: number;
        mode: "async" | "sync";
        params: Record<string, any>;
        setAsync: (() => { animation: Animation<any>; mode: "async" | "sync"; duration: number; params: Record<string, any>; setAsync: () => ...; setSync: () => ...; });
        setSync: (() => { animation: Animation<any>; mode: "async" | "sync"; duration: number; params: Record<string, any>; setAsync: () => ...; setSync: () => ...; });
    }, void, unknown>;
    nextFrame: number;
}[] = []

Type declaration

  • generator: Generator<number | {
        animation: Animation<any>;
        duration: number;
        mode: "async" | "sync";
        params: Record<string, any>;
        setAsync: (() => { animation: Animation<any>; mode: "async" | "sync"; duration: number; params: Record<string, any>; setAsync: () => ...; setSync: () => ...; });
        setSync: (() => { animation: Animation<any>; mode: "async" | "sync"; duration: number; params: Record<string, any>; setAsync: () => ...; setSync: () => ...; });
    }, void, unknown>
  • nextFrame: number
size: {
    height: number;
    width: number;
}

The size of the chart layout.

Type declaration

  • height: number

    The height of the chart layout.

    Default

    300
    

    Description

    The height of the chart layout. To be noted that the height is the height of chart layout (excluding label, legend, etc.).

  • width: number

    The width of the chart layout.

    Default

    300
    

    Description

    The width of the chart layout. To be noted that the width is the width of chart layout (excluding label, legend, etc.).

Default

{ width: 300, height: 300 }

Description

The size of the chart layout.

status: Status = 'unborn'
strokePaint: Paint

The style of the chart layout.

updates: (<T>(elapsed, widget) => void)[] = []

Type declaration

    • <T>(elapsed, widget): void
    • Type Parameters

      Parameters

      • elapsed: number
      • widget: T

      Returns void

x: number
y: number

Accessors

  • get range(): WidgetRange
  • The range of the widget, taking into account the children, based on the parent coordinate. To be noted that this method should not be overridden.

    Returns WidgetRange

    The range of the widget.

  • get singleRange(): WidgetRange
  • The range of the widget, taking into account the children, based on the parent coordinate. To be noted that this method should not be overridden.

    Returns WidgetRange

    The range of the widget.

Methods

  • Add children widgets for the widget.

    Parameters

    • Rest ...children: Widget[] | ((parent) => Widget)[]

      The added children.

    Returns this

  • Parameters

    • animation: Animation<any>
    • startAt: number
    • duration: number
    • Optional params: Record<string, any>

    Returns this

  • Calculate the range of the widget, based on the self-coordinate. To be noted that this method should be overridden.

    Parameters

    • _x: number
    • _y: number

    Returns boolean

  • Calculate the range of the widget, based on the self-coordinate. To be noted that this method should be overridden.

    Returns WidgetRange

    The range of the widget.

  • Parameters

    • x: number
    • y: number

    Returns {
        x: number;
        y: number;
    }

    • x: number
    • y: number
  • Parameters

    • x: number
    • y: number

    Returns {
        x: number;
        y: number;
    }

    • x: number
    • y: number
  • Parameters

    • name: string
    • Rest ...args: any[]

    Returns this

  • Private

    Generate the axis range and the positions of the axis labels.

    Parameters

    • axis: ChartAxis

      The axis.

    • data: number[]

      The data.

    Returns void

  • Determine whether the point is in the widget, based on the parent coordinate. To be noted that this method should not be overridden.

    Parameters

    • x: number
    • y: number

    Returns boolean

  • Parameters

    • event: string | Event<Widget>
    • effect: ((widget, ...args) => any)
        • (widget, ...args): any
        • Parameters

          • widget: Widget
          • Rest ...args: any[]

          Returns any

    Returns this

  • Called when the parameters are changed.

    Parameters

    • ck: CanvasKit

      The namespace of CanvasKit-WASM.

    • Optional propertyChanged: string

    Returns void

  • Parameters

    • elapsed: number
    • ck: CanvasKit

    Returns void

  • Parameters

    • element: HTMLCanvasElement

    Returns void

  • Set up an update function to call it when the widget is changed.

    Parameters

    • updateFunc: (<T>(elapsed, widget) => void)

      The frame from having gone to current frame.

        • <T>(elapsed, widget): void
        • Type Parameters

          Parameters

          • elapsed: number
          • widget: T

          Returns void

    Returns this

  • Update the object according to the style of the widget. Called when the style is changed.

    Parameters

    • canvas: Canvas

      The canvas object of CanvasKit-WASM.

    Returns void

  • Parameters

    • widget: Widget
    • x: number
    • y: number

    Returns {
        x: number;
        y: number;
    }

    • x: number
    • y: number
  • Parameters

    Returns {
        x: number;
        y: number;
    }

    • x: number
    • y: number