@antv/g2plot
Version:
G2 Plot, a market of plots built with the Grammar of Graphics'
76 lines (75 loc) • 2.16 kB
TypeScript
import EventEmitter from '@antv/event-emitter';
import * as G from '@antv/g';
import { RecursivePartial, LooseMap } from '../interface/types';
import StateManager from '../util/state-manager';
import Layer from './layer';
export interface PlotConfig {
forceFit?: boolean;
width?: number;
renderer?: string;
height?: number;
pixelRatio?: number;
theme?: LooseMap | string;
}
export default class BasePlot<T extends PlotConfig = PlotConfig> extends EventEmitter {
width: number;
height: number;
forceFit: boolean;
renderer: string;
pixelRatio: number;
theme: string | object;
canvas: G.Canvas;
destroyed: boolean;
protected layers: Array<Layer<any>>;
private canvasController;
private eventController;
private containerDOM;
constructor(container: HTMLElement, props: T);
/** 生命周期 */
destroy(): void;
/**
* 重新绘制图形
*/
repaint(): void;
updateConfig(config: RecursivePartial<T>, all?: boolean): void;
changeData(data: any[], all?: boolean): void;
getPlotTheme(): any;
getData(): any;
/**
* 绑定一个外部的stateManager
* 先直接传递给各个子 Layer
*
* @param stateManager
* @param cfg
*/
bindStateManager(stateManager: StateManager, cfg: any): void;
/**
* 响应状态量更新的快捷方法
*
* @param condition
* @param style
*/
setActive(condition: any, style: any): void;
setSelected(condition: any, style: any): void;
setDisable(condition: any, style: any): void;
setNormal(condition: any): void;
/**
* 获取图形下的图层 Layer,默认第一个 Layer
* @param idx
*/
getLayer(idx?: number): Layer<any>;
getCanvas(): G.Canvas;
getLayers(): Layer<any>[];
render(): void;
protected eachLayer(cb: (layer: Layer<any>) => void): void;
/**
* add children layer
* @param layer
*/
addLayer(layer: Layer<any>): void;
protected createLayers(props: T & {
type?: string;
layers?: any;
}): void;
protected parseEvents(props: any): void;
}