drill-down.d.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. import { Action } from '@antv/g2';
  2. import { Data } from '../../types';
  3. import { DrillDownCfg } from '../../types/drill-down';
  4. export declare const PADDING_TOP = 5;
  5. /** Group name of breadCrumb: 面包屑 */
  6. export declare const BREAD_CRUMB_NAME = "drilldown-bread-crumb";
  7. export declare const DEFAULT_BREAD_CRUMB_CONFIG: DrillDownCfg['breadCrumb'];
  8. /**
  9. * hierarchy 数据转换的参数
  10. */
  11. export declare const HIERARCHY_DATA_TRANSFORM_PARAMS = "hierarchy-data-transform-params";
  12. /**
  13. * Hierarchy plot 节点的数据
  14. */
  15. export type HierarchyNode<N = any /** 节点 */> = {
  16. /** 节点的原始数据,树型结构(todo 是否更正 key 为 origin) */
  17. data: {
  18. name: string;
  19. value?: any;
  20. children: {
  21. name: string;
  22. value?: any;
  23. }[];
  24. };
  25. /** 在构建节点数据时候,增加的扩展配置, 用于存储 transformData 的入参配置 */
  26. [HIERARCHY_DATA_TRANSFORM_PARAMS]: object;
  27. /** 当前的层级结构,每一次下钻都会更新. 不是 unique */
  28. depth: number;
  29. /** 当前所处高度,depth + height = 总的层级 */
  30. height: number;
  31. parent: N;
  32. children: N[];
  33. };
  34. type HistoryCache = {
  35. name: string;
  36. id: string;
  37. children: Data;
  38. }[];
  39. /**
  40. * @description 下钻交互的 action
  41. * @author liuzhenying
  42. *
  43. * 适用于:hierarchy plot
  44. */
  45. export declare class DrillDownAction extends Action {
  46. /** Action name */
  47. name: string;
  48. protected historyCache: HistoryCache;
  49. private breadCrumbGroup;
  50. private breadCrumbCfg;
  51. /**
  52. * 点击事件, 下钻数据,并绘制面包屑
  53. */
  54. click(): boolean;
  55. /**
  56. * 重置位置,初始化及触发 chart afterchangesize 回调时使用
  57. */
  58. resetPosition(): void;
  59. /**
  60. * 返回上一层
  61. */
  62. back(): void;
  63. /**
  64. * 重置
  65. */
  66. reset(): void;
  67. /**
  68. * 下钻数据并更新 view 显示层
  69. * @param nodeInfo 下钻数据
  70. */
  71. protected drill(nodeInfo: HierarchyNode): void;
  72. /**
  73. * 回退事件,点击面包屑时触发
  74. * @param historyCache 当前要回退到的历史
  75. */
  76. protected backTo(historyCache: HistoryCache): void;
  77. /**
  78. * 获取 mix 默认的配置和用户配置
  79. */
  80. private getButtonCfg;
  81. /**
  82. * 显示面包屑
  83. */
  84. private drawBreadCrumb;
  85. /**
  86. * 绘制 Button 和 文本
  87. */
  88. private drawBreadCrumbGroup;
  89. /**
  90. * 隐藏面包屑
  91. */
  92. private hideCrumbGroup;
  93. /**
  94. * @override
  95. * destroy: 销毁资源
  96. */
  97. destroy(): void;
  98. }
  99. export {};