UNPKG

echarts

Version:

Apache ECharts is a powerful, interactive charting and data visualization library for browser

86 lines (85 loc) 3.63 kB
import * as clazzUtil from '../util/clazz.js'; import SeriesModel from '../model/Series.js'; import GlobalModel from '../model/Global.js'; import ExtensionAPI from '../core/ExtensionAPI.js'; import Element from 'zrender/lib/Element.js'; import { Payload, ViewRootGroup, ECActionEvent, EventQueryItem, StageHandlerProgressParams, ECElementEvent } from '../util/types.js'; import { SeriesTask } from '../core/Scheduler.js'; interface ChartView { /** * Rendering preparation in progressive mode. * Implement it if needed. */ incrementalPrepareRender(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; /** * Render in progressive mode. * Implement it if needed. * @param params See taskParams in `stream/task.js` */ incrementalRender(params: StageHandlerProgressParams, seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; /** * Update transform directly. * Implement it if needed. */ updateTransform(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void | { update: true; }; /** * The view contains the given point. * Implement it if needed. */ containPoint(point: number[], seriesModel: SeriesModel): boolean; /** * Pass only when return `true`. * Implement it if needed. */ filterForExposedEvent(eventType: string, query: EventQueryItem, targetEl: Element, packedEvent: ECActionEvent | ECElementEvent): boolean; } declare class ChartView { type: string; readonly group: ViewRootGroup; readonly uid: string; readonly renderTask: SeriesTask; /** * Ignore label line update in global stage. Will handle it in chart itself. * Used in pie / funnel */ ignoreLabelLineUpdate: boolean; __alive: boolean; __model: SeriesModel; __id: string; static protoInitialize: void; constructor(); init(ecModel: GlobalModel, api: ExtensionAPI): void; render(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; /** * Highlight series or specified data item. */ highlight(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; /** * Downplay series or specified data item. */ downplay(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; /** * Remove self. */ remove(ecModel: GlobalModel, api: ExtensionAPI): void; /** * Dispose self. */ dispose(ecModel: GlobalModel, api: ExtensionAPI): void; updateView(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; updateLayout(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; updateVisual(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; /** * Traverse the new rendered elements. * * It will traverse the new added element in progressive rendering. * And traverse all in normal rendering. */ eachRendered(cb: (el: Element) => boolean | void): void; static markUpdateMethod(payload: Payload, methodName: keyof ChartView): void; static registerClass: clazzUtil.ClassManager['registerClass']; } export declare type ChartViewConstructor = typeof ChartView & clazzUtil.ExtendableConstructor & clazzUtil.ClassManager; export default ChartView;