UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

80 lines (79 loc) 3.43 kB
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[]; }