import { Action } from '@antv/g2'; import { Data } from '../../types'; import { DrillDownCfg } from '../../types/drill-down'; export declare const PADDING_TOP = 5; /** Group name of breadCrumb: 面包屑 */ export declare const BREAD_CRUMB_NAME = "drilldown-bread-crumb"; export declare const DEFAULT_BREAD_CRUMB_CONFIG: DrillDownCfg['breadCrumb']; /** * hierarchy 数据转换的参数 */ export declare const HIERARCHY_DATA_TRANSFORM_PARAMS = "hierarchy-data-transform-params"; /** * Hierarchy plot 节点的数据 */ export type HierarchyNode = { /** 节点的原始数据,树型结构(todo 是否更正 key 为 origin) */ data: { name: string; value?: any; children: { name: string; value?: any; }[]; }; /** 在构建节点数据时候,增加的扩展配置, 用于存储 transformData 的入参配置 */ [HIERARCHY_DATA_TRANSFORM_PARAMS]: object; /** 当前的层级结构,每一次下钻都会更新. 不是 unique */ depth: number; /** 当前所处高度,depth + height = 总的层级 */ height: number; parent: N; children: N[]; }; type HistoryCache = { name: string; id: string; children: Data; }[]; /** * @description 下钻交互的 action * @author liuzhenying * * 适用于:hierarchy plot */ export declare class DrillDownAction extends Action { /** Action name */ name: string; protected historyCache: HistoryCache; private breadCrumbGroup; private breadCrumbCfg; /** * 点击事件, 下钻数据,并绘制面包屑 */ click(): boolean; /** * 重置位置,初始化及触发 chart afterchangesize 回调时使用 */ resetPosition(): void; /** * 返回上一层 */ back(): void; /** * 重置 */ reset(): void; /** * 下钻数据并更新 view 显示层 * @param nodeInfo 下钻数据 */ protected drill(nodeInfo: HierarchyNode): void; /** * 回退事件,点击面包屑时触发 * @param historyCache 当前要回退到的历史 */ protected backTo(historyCache: HistoryCache): void; /** * 获取 mix 默认的配置和用户配置 */ private getButtonCfg; /** * 显示面包屑 */ private drawBreadCrumb; /** * 绘制 Button 和 文本 */ private drawBreadCrumbGroup; /** * 隐藏面包屑 */ private hideCrumbGroup; /** * @override * destroy: 销毁资源 */ destroy(): void; } export {};