首发于 语雀文档

可以分为这么几类:

  1. 官方自定义动作事件
  2. 编辑器事件
  3. 通用事件
  4. 节点事件
  5. 边事件
  6. 画布事件

(以上链接均可点击,点击后将跳转至 ggeditor 的 github 仓库)

手册

不一定是最新版本,以 gg-editor 的 github 仓库为准

官方自定义动作事件

  1. export enum GraphCustomEvent {
  2. /** 调用 add / addItem 方法之前触发 */
  3. onBeforeAddItem = 'beforeadditem',
  4. /** 调用 add / addItem 方法之后触发 */
  5. onAfterAddItem = 'afteradditem',
  6. /** 调用 remove / removeItem 方法之前触发 */
  7. onBeforeRemoveItem = 'beforeremoveitem',
  8. /** 调用 remove / removeItem 方法之后触发 */
  9. onAfterRemoveItem = 'afterremoveitem',
  10. /** 调用 update / updateItem 方法之前触发 */
  11. onBeforeUpdateItem = 'beforeupdateitem',
  12. /** 调用 update / updateItem 方法之后触发 */
  13. onAfterUpdateItem = 'afterupdateitem',
  14. /** 调用 showItem / hideItem 方法之前触发 */
  15. onBeforeItemVisibilityChange = 'beforeitemvisibilitychange',
  16. /** 调用 showItem / hideItem 方法之后触发 */
  17. onAfterItemVisibilityChange = 'afteritemvisibilitychange',
  18. /** 调用 setItemState 方法之前触发 */
  19. onBeforeItemStateChange = 'beforeitemstatechange',
  20. /** 调用 setItemState 方法之后触发 */
  21. onAfterItemStateChange = 'afteritemstatechange',
  22. /** 调用 refreshItem 方法之前触发 */
  23. onBeforeRefreshItem = 'beforerefreshitem',
  24. /** 调用 refreshItem 方法之后触发 */
  25. onAfterRefreshItem = 'afterrefreshitem',
  26. /** 调用 clearItemStates 方法之前触发 */
  27. onBeforeItemStatesClear = 'beforeitemstatesclear',
  28. /** 调用 clearItemStates 方法之后触发 */
  29. onAfterItemStatesClear = 'afteritemstatesclear',
  30. /** 布局前触发。调用 render 时会进行布局,因此 render 时会触发。或用户主动调用图的 layout 时触发 */
  31. onBeforeLayout = 'beforelayout',
  32. /** 布局完成后触发。调用 render 时会进行布局,因此 render 时布局完成后会触发。或用户主动调用图的 layout 时布局完成后触发 */
  33. onAfterLayout = 'afterlayout',
  34. /** 连线完成之前触发 */
  35. onBeforeConnect = 'beforeconnect',
  36. /** 连线完成之后触发 */
  37. onAfterConnect = 'afterconnect',
  38. }

编辑器事件

  1. export enum EditorEvent {
  2. /** 调用命令之前触发 */
  3. onBeforeExecuteCommand = 'onBeforeExecuteCommand',
  4. /** 调用命令之后触发 */
  5. onAfterExecuteCommand = 'onAfterExecuteCommand',
  6. /** 改变画面状态触发 */
  7. onGraphStateChange = 'onGraphStateChange',
  8. /** 改变标签状态触发 */
  9. onLabelStateChange = 'onLabelStateChange',
  10. }

通用事件

  1. export enum GraphCommonEvent {
  2. /** 单击鼠标左键或者按下回车键时触发 */
  3. onClick = 'click',
  4. /** 双击鼠标左键时触发 */
  5. onDoubleClick = 'dblclick',
  6. /** 鼠标移入元素范围内触发,该事件不冒泡,即鼠标移到其后代元素上时不会触发 */
  7. onMouseEnter = 'mouseenter',
  8. /** 鼠标在元素内部移到时不断触发,不能通过键盘触发 */
  9. onMouseMove = 'mousemove',
  10. /** 鼠标移出目标元素后触发 */
  11. onMouseOut = 'mouseout',
  12. /** 鼠标移入目标元素上方,鼠标移到其后代元素上时会触发 */
  13. onMouseOver = 'mouseover',
  14. /** 鼠标移出元素范围时触发,该事件不冒泡,即鼠标移到其后代元素时不会触发 */
  15. onMouseLeave = 'mouseleave',
  16. /** 鼠标按钮被按下(左键或者右键)时触发,不能通过键盘触发 */
  17. onMouseDown = 'mousedown',
  18. /** 鼠标按钮被释放弹起时触发,不能通过键盘触发 */
  19. onMouseUp = 'mouseup',
  20. /** 用户右击鼠标时触发并打开上下文菜单 */
  21. onContextMenu = 'contextmenu',
  22. /** 当拖拽元素开始被拖拽的时候触发的事件,此事件作用在被拖曳元素上 */
  23. onDragStart = 'dragstart',
  24. /** 当拖拽元素在拖动过程中时触发的事件,此事件作用于被拖拽元素上 */
  25. onDrag = 'drag',
  26. /** 当拖拽完成后触发的事件,此事件作用在被拖曳元素上 */
  27. onDragEnd = 'dragend',
  28. /** 当拖曳元素进入目标元素的时候触发的事件,此事件作用在目标元素上 */
  29. onDragEnter = 'dragenter',
  30. /** 当拖曳元素离开目标元素的时候触发的事件,此事件作用在目标元素上 */
  31. onDragLeave = 'dragleave',
  32. /** 被拖拽的元素在目标元素上同时鼠标放开触发的事件,此事件作用在目标元素上 */
  33. onDrop = 'drop',
  34. /** 按下键盘键触发该事件 */
  35. onKeyDown = 'keydown',
  36. /** 释放键盘键触发该事件 */
  37. onKeyUp = 'keyup',
  38. /** 当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发 */
  39. onTouchStart = 'touchstart',
  40. /** 当手指在屏幕上滑动的时候连续地触发。在这个事件发生期间,调用 preventDefault() 事件可以阻止滚动。 */
  41. onTouchMove = 'touchmove',
  42. /** 当手指从屏幕上离开的时候触发 */
  43. onTouchEnd = 'touchend',
  44. }

节点事件

  1. export enum GraphNodeEvent {
  2. /** 鼠标左键单击节点时触发 */
  3. onNodeClick = 'node:click',
  4. /** 鼠标双击左键节点时触发 */
  5. onNodeDoubleClick = 'node:dblclick',
  6. /** 鼠标移入节点时触发 */
  7. onNodeMouseEnter = 'node:mouseenter',
  8. /** 鼠标在节点内部移到时不断触发,不能通过键盘触发 */
  9. onNodeMouseMove = 'node:mousemove',
  10. /** 鼠标移出节点后触发 */
  11. onNodeMouseOut = 'node:mouseout',
  12. /** 鼠标移入节点上方时触发 */
  13. onNodeMouseOver = 'node:mouseover',
  14. /** 鼠标移出节点时触发 */
  15. onNodeMouseLeave = 'node:mouseleave',
  16. /** 鼠标按钮在节点上按下(左键或者右键)时触发,不能通过键盘触发 */
  17. onNodeMouseDown = 'node:mousedown',
  18. /** 节点上按下的鼠标按钮被释放弹起时触发,不能通过键盘触发 */
  19. onNodeMouseUp = 'node:mouseup',
  20. /** 用户在节点上右击鼠标时触发并打开右键菜单 */
  21. onNodeContextMenu = 'node:contextmenu',
  22. /** 当节点开始被拖拽的时候触发的事件,此事件作用在被拖曳节点上 */
  23. onNodeDragStart = 'node:dragstart',
  24. /** 当节点在拖动过程中时触发的事件,此事件作用于被拖拽节点上 */
  25. onNodeDrag = 'node:drag',
  26. /** 当拖拽完成后触发的事件,此事件作用在被拖曳节点上 */
  27. onNodeDragEnd = 'node:dragend',
  28. /** 当拖曳节点进入目标元素的时候触发的事件,此事件作用在目标元素上 */
  29. onNodeDragEnter = 'node:dragenter',
  30. /** 当拖曳节点离开目标元素的时候触发的事件,此事件作用在目标元素上 */
  31. onNodeDragLeave = 'node:dragleave',
  32. /** 被拖拽的节点在目标元素上同时鼠标放开触发的事件,此事件作用在目标元素上 */
  33. onNodeDrop = 'node:drop',
  34. }

边事件

  1. export enum GraphEdgeEvent {
  2. /** 鼠标左键单击边时触发 */
  3. onEdgeClick = 'edge:click',
  4. /** 鼠标双击左键边时触发 */
  5. onEdgeDoubleClick = 'edge:dblclick',
  6. /** 鼠标移入边时触发 */
  7. onEdgeMouseEnter = 'edge:mouseenter',
  8. /** 鼠标在边上移到时不断触发,不能通过键盘触发 */
  9. onEdgeMouseMove = 'edge:mousemove',
  10. /** 鼠标移出边后触发 */
  11. onEdgeMouseOut = 'edge:mouseout',
  12. /** 鼠标移入边上方时触发 */
  13. onEdgeMouseOver = 'edge:mouseover',
  14. /** 鼠标移出边时触发 */
  15. onEdgeMouseLeave = 'edge:mouseleave',
  16. /** 鼠标按钮在边上按下(左键或者右键)时触发,不能通过键盘触发 */
  17. onEdgeMouseDown = 'edge:mousedown',
  18. /** 边上按下的鼠标按钮被释放弹起时触发,不能通过键盘触发 */
  19. onEdgeMouseUp = 'edge:mouseup',
  20. /** 用户在边上右击鼠标时触发并打开右键菜单 */
  21. onEdgeContextMenu = 'edge:contextmenu',
  22. }

画布事件

  1. export enum GraphCanvasEvent {
  2. /** 鼠标左键单击画布时触发 */
  3. onCanvasClick = 'canvas:click',
  4. /** 鼠标双击左键画布时触发 */
  5. onCanvasDoubleClick = 'canvas:dblclick',
  6. /** 鼠标移入画布时触发 */
  7. onCanvasMouseEnter = 'canvas:mouseenter',
  8. /** 鼠标在画布内部移到时不断触发,不能通过键盘触发 */
  9. onCanvasMouseMove = 'canvas:mousemove',
  10. /** 鼠标移出画布后触发 */
  11. onCanvasMouseOut = 'canvas:mouseout',
  12. /** 鼠标移入画布上方时触发 */
  13. onCanvasMouseOver = 'canvas:mouseover',
  14. /** 鼠标移出画布时触发 */
  15. onCanvasMouseLeave = 'canvas:mouseleave',
  16. /** 鼠标按钮在画布上按下(左键或者右键)时触发,不能通过键盘触发 */
  17. onCanvasMouseDown = 'canvas:mousedown',
  18. /** 画布上按下的鼠标按钮被释放弹起时触发,不能通过键盘触发 */
  19. onCanvasMouseUp = 'canvas:mouseup',
  20. /** 用户在画布上右击鼠标时触发并打开右键菜单 */
  21. onCanvasContextMenu = 'canvas:contextmenu',
  22. /** 当画布开始被拖拽的时候触发的事件,此事件作用在被拖曳画布上 */
  23. onCanvasDragStart = 'canvas:dragstart',
  24. /** 当画布在拖动过程中时触发的事件,此事件作用于被拖拽画布上 */
  25. onCanvasDrag = 'canvas:drag',
  26. /** 当拖拽完成后触发的事件,此事件作用在被拖曳画布上 */
  27. onCanvasDragEnd = 'canvas:dragend',
  28. /** 当拖曳画布进入目标元素的时候触发的事件,此事件作用在目标元素上 */
  29. onCanvasDragEnter = 'canvas:dragenter',
  30. /** 当拖曳画布离开目标元素的时候触发的事件,此事件作用在目标元素上 */
  31. onCanvasDragLeave = 'canvas:dragleave',
  32. }