| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- 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;
|