@visactor/vrender-components
Version:
components library for dp visualization
202 lines (201 loc) • 6.64 kB
TypeScript
import type { IGroup } from '@visactor/vrender-core';
import type { IBoundsLike, IPointLike } from '@visactor/vutils';
import { AbstractComponent } from '../core/base';
import type { TagAttributes } from '../tag';
import { Tag } from '../tag';
import { DataZoomActiveTag } from './type';
import type { DataZoomAttributes } from './type';
import type { ComponentOptions } from '../interface';
export declare class DataZoom extends AbstractComponent<Required<DataZoomAttributes>> {
name: string;
static defaultAttributes: {
orient: string;
showDetail: string;
brushSelect: boolean;
zoomLock: boolean;
minSpan: number;
maxSpan: number;
delayType: string;
delayTime: number;
realTime: boolean;
backgroundStyle: {
fill: string;
stroke: string;
lineWidth: number;
cornerRadius: number;
};
dragMaskStyle: {
fill: string;
fillOpacity: number;
};
backgroundChartStyle: {
area: {
visible: boolean;
stroke: string;
lineWidth: number;
fill: string;
};
line: {
visible: boolean;
stroke: string;
lineWidth: number;
};
};
selectedBackgroundStyle: {
fill: string;
fillOpacity: number;
};
selectedBackgroundChartStyle: {
area: {
visible: boolean;
stroke: string;
lineWidth: number;
fill: string;
};
line: {
visible: boolean;
stroke: string;
lineWidth: number;
};
};
middleHandlerStyle: {
visible: boolean;
background: {
size: number;
style: {
fill: string;
stroke: string;
cornerRadius: number;
};
};
icon: {
size: number;
fill: string;
stroke: string;
symbolType: string;
lineWidth: number;
};
};
startHandlerStyle: {
visible: boolean;
triggerMinSize: number;
symbolType: string;
fill: string;
stroke: string;
lineWidth: number;
};
endHandlerStyle: {
visible: boolean;
triggerMinSize: number;
symbolType: string;
fill: string;
stroke: string;
lineWidth: number;
};
startTextStyle: {
padding: number;
textStyle: {
fontSize: number;
fill: string;
};
};
endTextStyle: {
padding: number;
textStyle: {
fontSize: number;
fill: string;
};
};
};
private _isHorizontal;
private _background;
private _container;
private _startHandlerMask;
private _startHandler;
private _middleHandlerSymbol;
private _middleHandlerRect;
private _endHandlerMask;
private _endHandler;
private _selectedBackground;
private _dragMask;
private _startText;
private _endText;
private _startValue;
private _endValue;
private _showText;
private _previewData;
private _previewGroup;
private _previewLine;
private _previewArea;
private _selectedPreviewGroupClip;
private _selectedPreviewGroup;
private _selectedPreviewLine;
private _selectedPreviewArea;
protected _activeTag: DataZoomActiveTag;
protected _activeItem: any;
protected _activeState: boolean;
protected _activeCache: {
startPos: IPointLike;
lastPos: IPointLike;
};
protected _layoutCache: {
attPos: 'x' | 'y';
attSize: 'width' | 'height';
max: number;
};
readonly state: {
start: number;
end: number;
};
protected _spanCache: number;
private _previewPointsX;
private _previewPointsY;
private _previewPointsX1;
private _previewPointsY1;
private _statePointToData;
private _layoutAttrFromConfig;
setPropsFromAttrs(): void;
constructor(attributes: DataZoomAttributes, options?: ComponentOptions);
setAttributes(params: Partial<Required<DataZoomAttributes>>, forceUpdateTag?: boolean): void;
protected bindEvents(): void;
private _handleTouchMove;
protected dragMaskSize(): number;
protected setStateAttr(start: number, end: number, shouldRender: boolean): void;
private _clearDragEvents;
private _onHandlerPointerDown;
private _pointerMove;
private _onHandlerPointerMove;
private _onHandlerPointerUp;
private _onHandlerPointerEnter;
private _onHandlerPointerLeave;
protected backgroundDragZoom(startPos: IPointLike, endPos: IPointLike): void;
protected moveZoomWithMiddle(middle: number): void;
protected renderDragMask(): void;
protected isTextOverflow(componentBoundsLike: IBoundsLike, textBounds: IBoundsLike | null, layout: 'start' | 'end'): boolean;
protected setTextAttr(startTextBounds: IBoundsLike, endTextBounds: IBoundsLike): void;
protected renderText(): void;
protected getLayoutAttrFromConfig(): any;
protected render(): void;
computeBasePoints(): {
basePointStart: any;
basePointEnd: any;
};
protected simplifyPoints(points: IPointLike[]): IPointLike[];
protected getPreviewLinePoints(): any;
protected getPreviewAreaPoints(): any;
protected setPreviewAttributes(type: 'line' | 'area', group: IGroup): void;
protected setSelectedPreviewAttributes(type: 'area' | 'line', group: IGroup): void;
protected maybeAddLabel(container: IGroup, attributes: TagAttributes, name: string): Tag;
setStartAndEnd(start?: number, end?: number): void;
setPreviewData(data: any[]): void;
setText(text: string, tag: 'start' | 'end'): void;
getStartValue(): string | number;
getEndTextValue(): string | number;
getMiddleHandlerSize(): number;
setPreviewPointsX(callback: (d: any) => number): void;
setPreviewPointsY(callback: (d: any) => number): void;
setPreviewPointsX1(callback: (d: any) => number): void;
setPreviewPointsY1(callback: (d: any) => number): void;
setStatePointToData(callback: (state: number) => any): void;
release(all?: boolean): void;
}