import type { TooltipStyleProps } from '@antv/component'; import type { RuntimeContext } from '../runtime/types'; import type { ElementDatum, ID, IElementEvent } from '../types'; import type { BasePluginOptions } from './base-plugin'; import { BasePlugin } from './base-plugin'; /** * 提示框插件配置项 * * Tooltip plugin options */ export interface TooltipOptions extends BasePluginOptions, Pick { /** * 触发行为,可选 hover | click * - `'hover'`:鼠标移入元素时触发 * - `'click'`:鼠标点击元素时触发 * * Trigger behavior, optional hover | click * - `'hover'`:mouse hover element * - `'click'`:mouse click element * @defaultValue 'hover */ trigger?: 'hover' | 'click'; /** * 自定义内容 * * Function for getting tooltip content */ getContent?: (event: IElementEvent, items: ElementDatum[]) => Promise; /** * 是否启用 * * Is enable * @defaultValue true */ enable?: boolean | ((event: IElementEvent, items: ElementDatum[]) => boolean); /** * 显示隐藏的回调 * * Callback executed when visibility of the tooltip card is changed */ onOpenChange: (open: boolean) => void; } /** * 提示框插件 * * Tooltip plugin */ export declare class Tooltip extends BasePlugin { static defaultOptions: Partial; private currentTarget; private tooltipElement; private container; constructor(context: RuntimeContext, options: TooltipOptions); /** * 获取事件及处理事件的方法 * * Get event and handle event methods * @returns 事件及处理事件的方法 | Event and handling event methods */ private getEvents; /** * 更新tooltip配置 * * Update the tooltip configuration * @param options - 配置项 | options * @internal */ update(options: Partial): void; private render; private unbindEvents; private bindEvents; private isEnable; /** * 点击事件 * * Click event * @param event - 元素 | element */ onClick: (event: IElementEvent) => void; /** * 在目标元素(node/edge/combo)上移动 * * Move on target element (node/edge/combo) * @param event - 目标元素 | target element */ onPointerMove: (event: IElementEvent) => void; /** * 点击画布/触发拖拽/出现上下文菜单隐藏tooltip * * Hide tooltip when clicking canvas/triggering drag/appearing context menu * @param event - 目标元素 | target element */ onPointerLeave: (event: IElementEvent) => void; /** * 移动画布 * * Move canvas * @param event - 目标元素 | target element */ onCanvasMove: (event: IElementEvent) => void; private onPointerOver; /** * 显示目标元素的提示框 * * Show tooltip of target element * @param id - 元素 ID | element ID */ showById: (id: ID) => Promise; private getElementData; /** * 在目标元素上显示tooltip * * Show tooltip on target element * @param event - 目标元素 | target element * @internal */ show: (event: IElementEvent) => Promise; /** * 隐藏tooltip * * Hidden tooltip * @param event - 目标元素,不传则为外部调用 | Target element, not passed in as external call */ hide: (event?: IElementEvent) => void; private get tooltipStyleProps(); private initTooltip; /** * 销毁tooltip * * Destroy tooltip * @internal */ destroy(): void; }