@visactor/vchart
Version:
charts lib based @visactor/VGrammar
80 lines (79 loc) • 3.43 kB
TypeScript
import type { IBoundsLike } from '@visactor/vutils';
import { Tag } from '@visactor/vrender-components';
import type { IGraphic } from '@visactor/vrender-core';
import { BaseComponent } from '../base/base-component';
import type { IPoint, StringOrNumber, TooltipActiveType, TooltipData } from '../../typings';
import type { IComponentOption } from '../interface';
import type { ICrossHair, CrossHairTrigger, ICartesianCrosshairSpec, IPolarCrosshairSpec, ICrosshairCategoryFieldSpec, IAxisInfo, CrossHairStateByField } from './interface';
import type { IAxis } from '../axis/interface';
export declare abstract class BaseCrossHair<T extends ICartesianCrosshairSpec | IPolarCrosshairSpec> extends BaseComponent<T> implements ICrossHair {
static specKey: string;
specKey: string;
layoutType: 'none';
gridZIndex: number;
labelZIndex: number;
trigger: CrossHairTrigger;
enable: boolean;
showDefault: boolean;
triggerOff: 'none' | number;
protected _stateByField: CrossHairStateByField;
private _timer?;
private _clickLock?;
private _hasActive?;
private _onlyLockClick?;
get enableRemain(): boolean;
private _limitBounds;
constructor(spec: T, options: IComponentOption);
protected abstract _layoutCrosshair(x: number, y: number, tooltipData?: TooltipData, activeType?: TooltipActiveType): void;
abstract setAxisValue(v: StringOrNumber, axis: IAxis): void;
abstract layoutByValue(enableRemain?: boolean): void;
protected abstract _getDatumAtPoint(axis: IAxis, point: IPoint): number | string;
protected _setAllAxisValues(axisMap: IAxisInfo<IAxis>, point: IPoint, field: string): boolean;
clearAxisValue(): void;
hideCrosshair(): void;
showCrosshair(dimInfo: {
axis: IAxis;
value: string | number;
}[]): void;
protected _getLimitBounds(): IBoundsLike;
protected _showDefaultCrosshairBySpec(): void;
protected _updateVisibleCrosshair(): void;
protected _showDefaultCrosshair(): void;
setAttrFromSpec(): void;
created(): void;
_compareSpec(spec: T, prevSpec: T): {
change: boolean;
reMake: boolean;
reRender: boolean;
reSize: boolean;
reCompile: boolean;
};
protected _initEvent(): void;
private _registerEvent;
private _eventOff;
updateLayoutAttribute(): void;
protected calculateTriggerPoint(params: any): {
x: number;
y: number;
};
private _handleIn;
private _handleClickInEvent;
private _handleHoverInEvent;
private _handleOutEvent;
private _getTriggerEvent;
private _registerTooltipEvent;
private _handleTooltipShow;
private _handleTooltipHideOrRelease;
protected _getAxisInfoByField<T = IAxis>(field: 'x' | 'y' | 'category' | 'value'): IAxisInfo<T>;
onLayoutEnd(): void;
protected _releaseEvent(): void;
protected _parseFieldInfo(): void;
protected _parseCrosshairSpec(): void;
protected _parseField(field: ICrosshairCategoryFieldSpec, fieldName: string): any;
protected _filterAxisByPoint<T>(axisMap: IAxisInfo<T>, relativeX: number, relativeY: number): IAxisInfo<T>;
protected _updateCrosshairLabel(label: Tag, labelAttrs: any, callback: (label: Tag) => void): void;
protected clearOutEvent(): void;
protected _hideByField(field: string): void;
hide(): void;
protected _getNeedClearVRenderComponents(): IGraphic[];
}