UNPKG

realchart

Version:

Wooritech charting library

115 lines (110 loc) 3.78 kB
import * as RealChart from 'realchart'; import { IChart, AxisCollection, Axis, ChartItem, SplitOptions, ISplit, Annotation, PaneOptions, ChartItemOptions, Body, PaneBodyOptions, GaugeBase, Series } from 'realchart'; declare class PaneAxes { _axes: Axis[]; } declare abstract class PaneAxisMatrix { chart: IChart; isX: boolean; protected _matrix: PaneAxes[][]; constructor(chart: IChart, isX: boolean); rows(): number; cols(): number; abstract _prepare(axes: AxisCollection, rows: number, cols: number): void; get(row: number, col: number): PaneAxes; getRow(row: number): PaneAxes[]; getColumn(col: number): PaneAxes[]; _buildTicks(lens: number[]): void; _calcPoints(lens: number[], phase: number): void; } declare class PaneBody extends Body<PaneBodyOptions> { pane: Pane; static defaults: PaneBodyOptions; constructor(pane: Pane); base(): Body; contains(obj: GaugeBase | Series): boolean; } declare class Pane extends ChartItem<PaneOptions> { row: number; col: number; private _body; constructor(chart: IChart, row: number, col: number); protected _doInitChildren(op: { [child: string]: ChartItemOptions; }): void; /** * Body 모델. */ get body(): PaneBody; /** */ width: number; /** */ height: number; /** */ inverted: boolean; _prepareRender(): void; } /** * 다중 분할 panes.<br/> * 각 pane에 해당하는 x, y축이 반드시 존재해야 한다. * axis는 {@page config.base.axis#row row}, {@page config.base.axis#col col} 속성으로 위치를 지정한다. * 시리즈는 {@page config.base.series#row row}, {@page config.base.series#col col} 속성으로 지정하거나, 아니면 axis 위치에 따라 자동으로 결정된다. * // 현재 문서 구조로 SeriesGroup을 가리킬 수 없음. * // 시리즈그룹은 {@page SeriesGroup.row row}, {@page SeriesGroup.col col} 속성으로 지정하거나, 아니면 axis 위치에 따라 자동으로 결정된다. * * @modules split */ declare class Split extends ChartItem<SplitOptions> implements ISplit { static defaults: SplitOptions; constructor(chart: IChart); private _cols; private _rows; private _widths; private _heights; private _panes; _xAxes: PaneAxisMatrix; _yAxes: PaneAxisMatrix; _vcols: number; _vrows: number; private _vwidths; private _vheights; private _vpanes; count(): number; rowCount(): number; colCount(): number; paneCount(): number; getPane(row: number, col: number): Pane; getRow(row: number): Pane[]; getColumn(col: number): Pane[]; protected _doLoadProp(prop: string, value: any): boolean; protected _doSetSimple(source: any): boolean; _load(source: any): ChartItem; protected _doPrepareRender(chart: IChart): void; getXLens(length: number): number[]; getYLens(length: number): number[]; layoutAxes(width: number, height: number, inverted: boolean, phase: number): void; private $_calcAxesPoints; calcAxesPoints(xLens: number[], yLens: number[]): void; /** * body들의 표시 크기를 계산한다. */ calcSizes(width: number, height: number): void; getAnnotation(name: string): Annotation; prepareRender(xAxes: AxisCollection, yAxes: AxisCollection): void; /** * number | (`${number}*` | '*')[] // '*'은 '1*'과 동일. */ private $_parseSizes; private $_parsePanes; private $_loadPanes; /** * 축이 연결되지 않은 pane들은 skip한다. */ private $_collectPanes; private $_calcSizes; } declare function registerSplit(chart: typeof RealChart): void; export { Split, registerSplit as default };