@zhouchangju/standard-chart
Version:
标准范式组件
105 lines (104 loc) • 3.74 kB
TypeScript
import ExtensionAPI from 'echarts/lib/core/ExtensionAPI';
import GlobalModel from 'echarts/lib/model/Global';
import ComponentView from 'echarts/lib/view/Component';
import RoamController from 'echarts/lib/component/helper/RoamController';
import { Payload } from 'echarts/lib/util/types';
import { type ElementAnimateConfig } from 'zrender/lib/Element';
import { type AxesControllerHost } from './axesRoamHelper';
import RoamModel from './RoamModel';
import { type ControllerHost } from './roamHelper';
declare class RoamView extends ComponentView {
static type: string;
type: string;
/** 被影响的部分 */
static readonly seriesType: string[];
static readonly axesType: string[];
roamModel: RoamModel;
ecModel: GlobalModel;
api: ExtensionAPI;
private __axesGroupArr;
private __seriesGroupArr;
private __overflowTimer;
private __overflowPosArr;
protected __controller: RoamController;
/**
* 非重复结构:
* {
* target: Element[],
* zoom: number,
* zoomLimit: number,
* }
*/
private __seriesControllerHosts;
private __axesControllerHosts;
private __defaultCenter;
private __defaultZoom;
private __initRendered;
private __panDirection;
init(ecModel: GlobalModel, api: ExtensionAPI): void;
render(roamModel: RoamModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
private __initCenterAndZoom;
private __getSeriesGroupArr;
private __getAxesGroupArr;
private __handleMouseUp;
private __controllerHandler;
private __panHandler;
private __zoomHandler;
private __getContentRect;
private __getWindowRect;
private __roamLimitHandler;
private __clipHandler;
getController(): RoamController;
getCenterAndZoom(): {
center: number[];
zoom: number;
};
getAllViewState(): {
[seriesIndex: number]: Pick<ControllerHost, "zoom" | "zoomLimit">;
};
getSeriesViewState(seriesIndex: number): {
zoom: number;
zoomLimit: {
min?: number;
max?: number;
};
};
/**
* ! 该方法只会更新状态,但不会刷新视图
*/
setSeriesViewState(seriesIndex: number, { zoom, zoomLimit }: Pick<ControllerHost, 'zoom' | 'zoomLimit'>): void;
updateAllViewOnPanAndZoom({ dx, dy, zoomDelta, zoomX, zoomY, dirty }: {
dx?: number;
dy?: number;
zoomDelta?: number;
zoomX?: number;
zoomY?: number;
dirty?: boolean;
}, animation?: boolean | ElementAnimateConfig, triggerEvent?: boolean, needLimit?: boolean): void;
updateSeriesViewOnPanAndZoom(seriesIndex: number, { dx, dy, zoomDelta, zoomX, zoomY, dirty }: {
dx?: number;
dy?: number;
zoomDelta?: number;
zoomX?: number;
zoomY?: number;
dirty?: boolean;
}, animation?: boolean | ElementAnimateConfig, triggerEvent?: boolean, roamLimit?: boolean): void;
updateAxesViewOnPanAndZoom(controllerHost: AxesControllerHost, { dx, dy, zoomDelta, zoomX, zoomY, dirty }: {
dx?: number;
dy?: number;
zoomDelta?: number;
zoomX?: number;
zoomY?: number;
dirty?: boolean;
}, animation?: boolean | ElementAnimateConfig, triggerEvent?: boolean): void;
handleUpdateViewOnPanAndZoom(controllerHost: ControllerHost, { dx, dy, zoomDelta, zoomX, zoomY, dirty }: {
dx?: number;
dy?: number;
zoomDelta?: number;
zoomX?: number;
zoomY?: number;
dirty?: boolean;
}, updateFn: any, animation?: boolean | ElementAnimateConfig, triggerEvent?: boolean): void;
setCenterAndZoom(): void;
}
export default RoamView;