index.d.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import LogicFlow, { BaseNodeModel } from '@logicflow/core';
  2. import GroupNode from './GroupNode';
  3. declare type BaseNodeId = string;
  4. declare type GroupId = string;
  5. declare type Bounds = {
  6. x1: number;
  7. y1: number;
  8. x2: number;
  9. y2: number;
  10. };
  11. declare class Group {
  12. static pluginName: string;
  13. lf: LogicFlow;
  14. topGroupZIndex: number;
  15. activeGroup: any;
  16. nodeGroupMap: Map<BaseNodeId, GroupId>;
  17. constructor({ lf }: {
  18. lf: any;
  19. });
  20. /**
  21. * 获取一个节点内部所有的子节点,包裹分组的子节点
  22. */
  23. getNodeAllChild(model: any): any[];
  24. graphRendered: (data: any) => void;
  25. appendNodeToGroup: ({ data }: {
  26. data: any;
  27. }) => void;
  28. deleteGroupChild: ({ data }: {
  29. data: any;
  30. }) => void;
  31. setActiveGroup: ({ data }: {
  32. data: any;
  33. }) => void;
  34. /**
  35. * 1. 分组节点默认在普通节点下面。
  36. * 2. 分组节点被选中后,会将分组节点以及其内部的其他分组节点放到其余分组节点的上面。
  37. * 3. 分组节点取消选中后,不会将分组节点重置为原来的高度。
  38. * 4. 由于LogicFlow核心目标是支持用户手动绘制流程图,所以不考虑一张流程图超过1000个分组节点的情况。
  39. */
  40. nodeSelected: ({ data, isMultiple, isSelected }: {
  41. data: any;
  42. isMultiple: any;
  43. isSelected: any;
  44. }) => void;
  45. toFrontGroup: (model: any) => void;
  46. /**
  47. * 获取自定位置其所属分组
  48. * 当分组重合时,优先返回最上层的分组
  49. */
  50. getGroup(bounds: Bounds, nodeData: BaseNodeModel): BaseNodeModel | undefined;
  51. /**
  52. * 获取某个节点所属的groupModel
  53. */
  54. getNodeGroup(nodeId: any): BaseNodeModel;
  55. }
  56. export { Group, GroupNode, };