12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import * as clazzUtil from '../util/clazz.js';
- import ComponentModel from '../model/Component.js';
- import GlobalModel from '../model/Global.js';
- import ExtensionAPI from '../core/ExtensionAPI.js';
- import { Payload, ViewRootGroup, ECActionEvent, EventQueryItem, ECElementEvent } from '../util/types.js';
- import Element from 'zrender/lib/Element.js';
- import SeriesModel from '../model/Series.js';
- interface ComponentView {
- /**
- * Implement it if needed.
- */
- updateTransform?(model: ComponentModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void | {
- update: true;
- };
- /**
- * Pass only when return `true`.
- * Implement it if needed.
- */
- filterForExposedEvent(eventType: string, query: EventQueryItem, targetEl: Element, packedEvent: ECActionEvent | ECElementEvent): boolean;
- /**
- * Find dispatchers for highlight/downplay by name.
- * If this methods provided, hover link (within the same name) is enabled in component.
- * That is, in component, a name can correspond to multiple dispatchers.
- * Those dispatchers can have no common ancestor.
- * The highlight/downplay state change will be applied on the
- * dispatchers and their descendents.
- *
- * @return Must return an array but not null/undefined.
- */
- findHighDownDispatchers?(name: string): Element[];
- focusBlurEnabled?: boolean;
- }
- declare class ComponentView {
- readonly group: ViewRootGroup;
- readonly uid: string;
- __model: ComponentModel;
- __alive: boolean;
- __id: string;
- constructor();
- init(ecModel: GlobalModel, api: ExtensionAPI): void;
- render(model: ComponentModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
- dispose(ecModel: GlobalModel, api: ExtensionAPI): void;
- updateView(model: ComponentModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
- updateLayout(model: ComponentModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
- updateVisual(model: ComponentModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
- /**
- * Hook for toggle blur target series.
- * Can be used in marker for blur or leave blur the markers
- */
- toggleBlurSeries(seriesModels: SeriesModel[], isBlur: boolean, ecModel: GlobalModel): 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 registerClass: clazzUtil.ClassManager['registerClass'];
- }
- export declare type ComponentViewConstructor = typeof ComponentView & clazzUtil.ExtendableConstructor & clazzUtil.ClassManager;
- export default ComponentView;
|