@visactor/vrender-components
Version:
components library for dp visualization
66 lines (65 loc) • 2.13 kB
TypeScript
import { IDataZoomInteractiveEvent, type DataZoomAttributes } from './type';
import type { Dict, Matrix } from '@visactor/vutils';
import type { IGroup, IRect, ISymbol, IStage } from '@visactor/vrender-core';
import { EventEmitter } from '@visactor/vutils';
export interface InteractionAttributes {
stage: IStage;
attribute: Partial<Required<DataZoomAttributes>>;
startHandlerMask?: IRect;
endHandlerMask?: IRect;
middleHandlerSymbol?: ISymbol;
middleHandlerRect?: IRect;
selectedBackground?: IRect;
background?: IRect;
previewGroup?: IGroup;
selectedPreviewGroup?: IGroup;
getLayoutAttrFromConfig?: any;
getState: () => {
start: number;
end: number;
};
setState: (state: {
start: number;
end: number;
}) => void;
getGlobalTransMatrix: () => Matrix;
}
export declare class DataZoomInteraction extends EventEmitter {
stage: IStage;
attribute: Partial<Required<DataZoomAttributes>>;
private _getLayoutAttrFromConfig;
private _getState;
private _setState;
private _getGlobalTransMatrix;
private _startHandlerMask;
private _middleHandlerSymbol;
private _middleHandlerRect;
private _endHandlerMask;
private _background;
private _previewGroup;
private _selectedPreviewGroup;
private _selectedBackground;
private _activeTag;
private _activeItem;
private _activeState;
private _activeCache;
private _layoutCache;
private _spanCache;
private _onHandlerPointerMove;
constructor(props: InteractionAttributes);
setAttributes(props: InteractionAttributes): void;
private _initAttrs;
clearDragEvents(): void;
clearVGlobalEvents(): void;
bindEvents(): void;
private _handleTouchMove;
private _onHandlerPointerDown;
private _pointerMove;
private _setStateAttr;
private _moveZoomWithMiddle;
private _moveZoomWithHandler;
private _moveZoomWithBackground;
private _onHandlerPointerUp;
private _eventPosToStagePos;
protected _dispatchEvent(eventName: IDataZoomInteractiveEvent, details?: Dict<any>): void;
}