UNPKG

@antv/g2plot

Version:

G2 Plot, a market of plots built with the Grammar of Graphics'

76 lines (75 loc) 2.16 kB
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; }