@visactor/vchart
Version:
charts lib based @visactor/VGrammar
45 lines (44 loc) • 2.81 kB
TypeScript
import type { Maybe, RenderMode } from '../../../typings';
import type { TooltipData, ITooltipActual, TooltipActiveType, ITooltipHandler, ITooltipPositionActual } from '../../../typings/tooltip';
import type { IGroup } from '@visactor/vrender-core';
import type { IContainerSize } from '@visactor/vrender-components';
import type { IChartOption } from '../../../chart/interface';
import type { ITooltipSpec, Tooltip, TooltipHandlerParams } from '../../../component/tooltip';
import { TooltipResult } from '../../../component/tooltip';
import type { IComponentPlugin, IComponentPluginService } from '../interface';
import { BasePlugin } from '../../base/base-plugin';
import type { ITooltipHandlerOptions } from './interface';
import type { ICompiler } from '../../../compile/interface/compilable-item';
type ChangeTooltipFunc = (visible: boolean, params: TooltipHandlerParams, data?: TooltipData) => TooltipResult;
type ChangeTooltipPositionFunc = (params: TooltipHandlerParams, data: TooltipData) => TooltipResult;
export declare abstract class BaseTooltipHandler extends BasePlugin implements ITooltipHandler, IComponentPlugin {
static readonly pluginType: 'component';
static readonly specKey = "tooltip";
readonly type: string;
protected _visible: boolean;
protected _option: ITooltipHandlerOptions;
protected _chartOption: IChartOption;
protected _env: RenderMode;
get env(): "desktop-browser" | "mobile-browser" | "node" | "worker" | "miniApp" | "wx" | "tt" | "harmony" | "desktop-miniApp" | "lynx";
protected _component: Tooltip;
protected _chartContainer: Maybe<HTMLElement>;
protected _compiler: ICompiler;
protected _container: Maybe<IGroup | HTMLElement>;
protected _isReleased: boolean;
onAdd(service: IComponentPluginService<any>): void;
showTooltip: (activeType: TooltipActiveType, data: TooltipData, params: TooltipHandlerParams) => TooltipResult;
protected changeTooltip: ChangeTooltipFunc;
protected changeTooltipPosition: ChangeTooltipPositionFunc;
hideTooltip(params: TooltipHandlerParams): TooltipResult;
release(): void;
protected abstract _updateTooltip(visible: boolean, params: TooltipHandlerParams): void;
protected abstract _removeTooltip(): void;
protected abstract _getTooltipBoxSize(actualTooltip: ITooltipActual, changePositionOnly: boolean): IContainerSize | undefined;
protected _getDefaultOption(): ITooltipHandlerOptions;
protected _getActualTooltipPosition: (actualTooltip: ITooltipActual, params: TooltipHandlerParams, tooltipBoxSize: IContainerSize | undefined) => ITooltipPositionActual;
protected _getParentElement(spec: ITooltipSpec): HTMLElement;
getTooltipContainer(): IGroup | HTMLElement;
protected _initFromSpec(): void;
reInit(): void;
}
export {};