container.d.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import { IContainer, IShape, IGroup, IElement } from '../interfaces';
  2. import { BBox, ElementFilterFn } from '../types';
  3. import Element from './element';
  4. declare abstract class Container extends Element implements IContainer {
  5. isCanvas(): boolean;
  6. getBBox(): BBox;
  7. getCanvasBBox(): BBox;
  8. getDefaultCfg(): {
  9. visible: boolean;
  10. capture: boolean;
  11. zIndex: number;
  12. };
  13. onAttrChange(name: any, value: any, originValue: any): void;
  14. applyMatrix(matrix: number[]): void;
  15. _applyChildrenMarix(totalMatrix: any): void;
  16. addShape(...args: any[]): IShape;
  17. addGroup(...args: any[]): IGroup;
  18. getCanvas(): any;
  19. getShape(x: number, y: number, ev: Event): IShape;
  20. _findShape(children: IElement[], x: number, y: number, ev: Event): any;
  21. add(element: IElement): void;
  22. _applyElementMatrix(element: any): void;
  23. getChildren(): IElement[];
  24. sort(): void;
  25. clear(): void;
  26. destroy(): void;
  27. /**
  28. * 获取第一个子元素
  29. * @return {IElement} 第一个元素
  30. */
  31. getFirst(): IElement;
  32. /**
  33. * 获取最后一个子元素
  34. * @return {IElement} 元素
  35. */
  36. getLast(): IElement;
  37. /**
  38. * 根据索引获取子元素
  39. * @return {IElement} 第一个元素
  40. */
  41. getChildByIndex(index: number): IElement;
  42. /**
  43. * 子元素的数量
  44. * @return {number} 子元素数量
  45. */
  46. getCount(): number;
  47. /**
  48. * 是否包含对应元素
  49. * @param {IElement} element 元素
  50. * @return {boolean}
  51. */
  52. contain(element: IElement): boolean;
  53. /**
  54. * 移除对应子元素
  55. * @param {IElement} element 子元素
  56. * @param {boolean} destroy 是否销毁子元素,默认为 true
  57. */
  58. removeChild(element: IElement, destroy?: boolean): void;
  59. /**
  60. * 查找所有匹配的元素
  61. * @param {ElementFilterFn} fn 匹配函数
  62. * @return {IElement[]} 元素数组
  63. */
  64. findAll(fn: ElementFilterFn): IElement[];
  65. /**
  66. * 查找元素,找到第一个返回
  67. * @param {ElementFilterFn} fn 匹配函数
  68. * @return {IElement|null} 元素,可以为空
  69. */
  70. find(fn: ElementFilterFn): IElement;
  71. /**
  72. * 根据 ID 查找元素
  73. * @param {string} id 元素 id
  74. * @return {IElement|null} 元素
  75. */
  76. findById(id: string): IElement;
  77. /**
  78. * 该方法即将废弃,不建议使用
  79. * 根据 className 查找元素
  80. * TODO: 该方式定义暂时只给 G6 3.3 以后的版本使用,待 G6 中的 findByClassName 方法移除后,G 也需要同步移除
  81. * @param {string} className 元素 className
  82. * @return {IElement | null} 元素
  83. */
  84. findByClassName(className: string): IElement;
  85. /**
  86. * 根据 name 查找元素列表
  87. * @param {string} name 元素名称
  88. * @return {IElement[]} 元素
  89. */
  90. findAllByName(name: string): IElement[];
  91. }
  92. export default Container;