@logicflow/core 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/dist/docs/api/logicflow-constructor/index.en.md +106 -0
  2. package/dist/docs/api/logicflow-constructor/index.zh.md +106 -0
  3. package/dist/docs/api/logicflow-constructor/use.en.md +61 -0
  4. package/dist/docs/api/logicflow-constructor/use.zh.md +61 -0
  5. package/dist/docs/api/logicflow-instance/canvas.en.md +197 -0
  6. package/dist/docs/api/logicflow-instance/canvas.zh.md +199 -0
  7. package/dist/docs/api/logicflow-instance/edge.en.md +273 -0
  8. package/dist/docs/api/logicflow-instance/edge.zh.md +273 -0
  9. package/dist/docs/api/logicflow-instance/edit-config.en.md +59 -0
  10. package/dist/docs/api/logicflow-instance/edit-config.zh.md +59 -0
  11. package/dist/docs/api/logicflow-instance/element.en.md +375 -0
  12. package/dist/docs/api/logicflow-instance/element.zh.md +379 -0
  13. package/dist/docs/api/logicflow-instance/event.en.md +326 -0
  14. package/dist/docs/api/logicflow-instance/event.zh.md +406 -0
  15. package/dist/docs/api/logicflow-instance/history.en.md +38 -0
  16. package/dist/docs/api/logicflow-instance/history.zh.md +38 -0
  17. package/dist/docs/api/logicflow-instance/index.en.md +41 -0
  18. package/dist/docs/api/logicflow-instance/index.zh.md +41 -0
  19. package/dist/docs/api/logicflow-instance/node.en.md +308 -0
  20. package/dist/docs/api/logicflow-instance/node.zh.md +308 -0
  21. package/dist/docs/api/logicflow-instance/register.en.md +76 -0
  22. package/dist/docs/api/logicflow-instance/register.zh.md +76 -0
  23. package/dist/docs/api/logicflow-instance/render-and-data.en.md +179 -0
  24. package/dist/docs/api/logicflow-instance/render-and-data.zh.md +181 -0
  25. package/dist/docs/api/logicflow-instance/text.en.md +60 -0
  26. package/dist/docs/api/logicflow-instance/text.zh.md +60 -0
  27. package/dist/docs/api/logicflow-instance/theme.en.md +179 -0
  28. package/dist/docs/api/logicflow-instance/theme.zh.md +179 -0
  29. package/dist/docs/api/runtime-model/edgeModel.en.md +29 -0
  30. package/dist/docs/api/runtime-model/edgeModel.zh.md +325 -0
  31. package/dist/docs/api/runtime-model/graphModel.en.md +275 -0
  32. package/dist/docs/api/runtime-model/graphModel.zh.md +1153 -0
  33. package/dist/docs/api/runtime-model/nodeModel.en.md +37 -0
  34. package/dist/docs/api/runtime-model/nodeModel.zh.md +644 -0
  35. package/dist/docs/api/type/MainTypes.en.md +598 -0
  36. package/dist/docs/api/type/MainTypes.zh.md +867 -0
  37. package/dist/docs/api/type/Theme.en.md +187 -0
  38. package/dist/docs/api/type/Theme.zh.md +187 -0
  39. package/dist/docs/api/type/canvas-types.en.md +25 -0
  40. package/dist/docs/api/type/canvas-types.zh.md +25 -0
  41. package/dist/docs/api/type/index.en.md +96 -0
  42. package/dist/docs/api/type/index.zh.md +99 -0
  43. package/dist/docs/api/type/node-types.en.md +21 -0
  44. package/dist/docs/api/type/node-types.zh.md +21 -0
  45. package/dist/docs/api/type/plugin-types.en.md +24 -0
  46. package/dist/docs/api/type/plugin-types.zh.md +24 -0
  47. package/dist/docs/index.md +11 -0
  48. package/dist/docs/tutorial/about.en.md +38 -0
  49. package/dist/docs/tutorial/about.zh.md +65 -0
  50. package/dist/docs/tutorial/advanced/dnd.en.md +62 -0
  51. package/dist/docs/tutorial/advanced/dnd.zh.md +52 -0
  52. package/dist/docs/tutorial/advanced/edge.en.md +64 -0
  53. package/dist/docs/tutorial/advanced/edge.zh.md +66 -0
  54. package/dist/docs/tutorial/advanced/keyboard.en.md +70 -0
  55. package/dist/docs/tutorial/advanced/keyboard.zh.md +67 -0
  56. package/dist/docs/tutorial/advanced/node.en.md +338 -0
  57. package/dist/docs/tutorial/advanced/node.zh.md +338 -0
  58. package/dist/docs/tutorial/advanced/react.en.md +106 -0
  59. package/dist/docs/tutorial/advanced/react.zh.md +114 -0
  60. package/dist/docs/tutorial/advanced/silent-mode.en.md +75 -0
  61. package/dist/docs/tutorial/advanced/silent-mode.zh.md +71 -0
  62. package/dist/docs/tutorial/advanced/snapline.en.md +54 -0
  63. package/dist/docs/tutorial/advanced/vue.en.md +249 -0
  64. package/dist/docs/tutorial/advanced/vue.zh.md +248 -0
  65. package/dist/docs/tutorial/ai.en.md +64 -0
  66. package/dist/docs/tutorial/ai.zh.md +64 -0
  67. package/dist/docs/tutorial/basic/background.en.md +50 -0
  68. package/dist/docs/tutorial/basic/canvas.en.md +164 -0
  69. package/dist/docs/tutorial/basic/canvas.zh.md +183 -0
  70. package/dist/docs/tutorial/basic/class.en.md +106 -0
  71. package/dist/docs/tutorial/basic/class.zh.md +103 -0
  72. package/dist/docs/tutorial/basic/edge.en.md +151 -0
  73. package/dist/docs/tutorial/basic/edge.zh.md +152 -0
  74. package/dist/docs/tutorial/basic/event.en.md +70 -0
  75. package/dist/docs/tutorial/basic/event.zh.md +66 -0
  76. package/dist/docs/tutorial/basic/grid.en.md +77 -0
  77. package/dist/docs/tutorial/basic/node.en.md +358 -0
  78. package/dist/docs/tutorial/basic/node.zh.md +318 -0
  79. package/dist/docs/tutorial/basic/theme.en.md +154 -0
  80. package/dist/docs/tutorial/basic/theme.zh.md +157 -0
  81. package/dist/docs/tutorial/extension/adapter.en.md +446 -0
  82. package/dist/docs/tutorial/extension/adapter.zh.md +429 -0
  83. package/dist/docs/tutorial/extension/bpmn-element.en.md +1427 -0
  84. package/dist/docs/tutorial/extension/bpmn-element.zh.md +1472 -0
  85. package/dist/docs/tutorial/extension/control.en.md +117 -0
  86. package/dist/docs/tutorial/extension/control.zh.md +118 -0
  87. package/dist/docs/tutorial/extension/curved-edge.en.md +46 -0
  88. package/dist/docs/tutorial/extension/curved-edge.zh.md +46 -0
  89. package/dist/docs/tutorial/extension/custom.en.md +142 -0
  90. package/dist/docs/tutorial/extension/custom.zh.md +138 -0
  91. package/dist/docs/tutorial/extension/dnd-panel.en.md +109 -0
  92. package/dist/docs/tutorial/extension/dnd-panel.zh.md +109 -0
  93. package/dist/docs/tutorial/extension/dynamic-group.en.md +606 -0
  94. package/dist/docs/tutorial/extension/dynamic-group.zh.md +606 -0
  95. package/dist/docs/tutorial/extension/group.en.md +217 -0
  96. package/dist/docs/tutorial/extension/group.zh.md +209 -0
  97. package/dist/docs/tutorial/extension/highlight.en.md +50 -0
  98. package/dist/docs/tutorial/extension/highlight.zh.md +50 -0
  99. package/dist/docs/tutorial/extension/insert-node-in-polyline.en.md +52 -0
  100. package/dist/docs/tutorial/extension/insert-node-in-polyline.zh.md +47 -0
  101. package/dist/docs/tutorial/extension/intro.en.md +72 -0
  102. package/dist/docs/tutorial/extension/intro.zh.md +95 -0
  103. package/dist/docs/tutorial/extension/label.en.md +136 -0
  104. package/dist/docs/tutorial/extension/label.zh.md +135 -0
  105. package/dist/docs/tutorial/extension/layout.en.md +156 -0
  106. package/dist/docs/tutorial/extension/layout.zh.md +156 -0
  107. package/dist/docs/tutorial/extension/menu.en.md +319 -0
  108. package/dist/docs/tutorial/extension/menu.zh.md +377 -0
  109. package/dist/docs/tutorial/extension/minimap.en.md +164 -0
  110. package/dist/docs/tutorial/extension/minimap.zh.md +180 -0
  111. package/dist/docs/tutorial/extension/node-resize.en.md +199 -0
  112. package/dist/docs/tutorial/extension/node-resize.zh.md +221 -0
  113. package/dist/docs/tutorial/extension/pool.en.md +227 -0
  114. package/dist/docs/tutorial/extension/pool.zh.md +227 -0
  115. package/dist/docs/tutorial/extension/proximity-connect.en.md +104 -0
  116. package/dist/docs/tutorial/extension/proximity-connect.zh.md +107 -0
  117. package/dist/docs/tutorial/extension/selection.en.md +166 -0
  118. package/dist/docs/tutorial/extension/selection.zh.md +150 -0
  119. package/dist/docs/tutorial/extension/snapshot.en.md +276 -0
  120. package/dist/docs/tutorial/extension/snapshot.zh.md +276 -0
  121. package/dist/docs/tutorial/get-started.en.md +501 -0
  122. package/dist/docs/tutorial/get-started.zh.md +139 -0
  123. package/dist/docs/tutorial/update.en.md +213 -0
  124. package/dist/docs/tutorial/update.zh.md +212 -0
  125. package/dist/index.css +3 -2
  126. package/dist/index.min.js +1 -1
  127. package/dist/index.min.js.map +1 -1
  128. package/es/LogicFlow.d.ts +9 -0
  129. package/es/LogicFlow.js +0 -1
  130. package/es/constant/index.d.ts +1 -1
  131. package/es/constant/index.js +1 -1
  132. package/es/constant/theme.d.ts +136 -0
  133. package/es/constant/theme.js +680 -0
  134. package/es/index.css +3 -2
  135. package/es/model/GraphModel.d.ts +10 -2
  136. package/es/model/GraphModel.js +48 -14
  137. package/es/model/TransformModel.js +9 -9
  138. package/es/model/edge/BaseEdgeModel.js +7 -2
  139. package/es/model/edge/PolylineEdgeModel.d.ts +7 -0
  140. package/es/model/edge/PolylineEdgeModel.js +136 -7
  141. package/es/model/node/BaseNodeModel.d.ts +12 -1
  142. package/es/model/node/BaseNodeModel.js +9 -2
  143. package/es/model/node/HtmlNodeModel.d.ts +12 -0
  144. package/es/model/node/HtmlNodeModel.js +19 -0
  145. package/es/model/node/PolygonNodeModel.js +3 -3
  146. package/es/options.d.ts +4 -2
  147. package/es/style/index.css +3 -2
  148. package/es/style/index.less +3 -2
  149. package/es/style/raw.d.ts +1 -1
  150. package/es/style/raw.js +1 -1
  151. package/es/tool/MultipleSelectTool.js +10 -5
  152. package/es/util/drag.js +0 -1
  153. package/es/util/edge.d.ts +40 -1
  154. package/es/util/edge.js +43 -9
  155. package/es/util/geometry.d.ts +8 -0
  156. package/es/util/geometry.js +79 -0
  157. package/es/util/theme.d.ts +2 -65
  158. package/es/util/theme.js +4 -281
  159. package/es/view/Anchor.d.ts +1 -0
  160. package/es/view/Anchor.js +24 -21
  161. package/es/view/Control.d.ts +5 -0
  162. package/es/view/Control.js +44 -57
  163. package/es/view/edge/BaseEdge.js +9 -0
  164. package/es/view/edge/PolylineEdge.js +13 -2
  165. package/es/view/node/BaseNode.d.ts +1 -0
  166. package/es/view/node/BaseNode.js +23 -11
  167. package/es/view/node/HtmlNode.js +2 -4
  168. package/es/view/overlay/CanvasOverlay.js +5 -2
  169. package/es/view/overlay/Grid.d.ts +12 -1
  170. package/es/view/overlay/Grid.js +85 -23
  171. package/es/view/overlay/OutlineOverlay.d.ts +1 -0
  172. package/es/view/overlay/OutlineOverlay.js +18 -17
  173. package/es/view/overlay/gridConfig.d.ts +46 -0
  174. package/es/view/overlay/gridConfig.js +99 -0
  175. package/es/view/shape/Polygon.d.ts +0 -7
  176. package/es/view/shape/Polygon.js +12 -43
  177. package/lib/LogicFlow.d.ts +9 -0
  178. package/lib/LogicFlow.js +0 -1
  179. package/lib/constant/index.d.ts +1 -1
  180. package/lib/constant/index.js +16 -2
  181. package/lib/constant/theme.d.ts +136 -0
  182. package/lib/constant/theme.js +683 -0
  183. package/lib/index.css +3 -2
  184. package/lib/model/GraphModel.d.ts +10 -2
  185. package/lib/model/GraphModel.js +49 -15
  186. package/lib/model/TransformModel.js +9 -9
  187. package/lib/model/edge/BaseEdgeModel.js +7 -2
  188. package/lib/model/edge/PolylineEdgeModel.d.ts +7 -0
  189. package/lib/model/edge/PolylineEdgeModel.js +136 -7
  190. package/lib/model/node/BaseNodeModel.d.ts +12 -1
  191. package/lib/model/node/BaseNodeModel.js +9 -2
  192. package/lib/model/node/HtmlNodeModel.d.ts +12 -0
  193. package/lib/model/node/HtmlNodeModel.js +19 -0
  194. package/lib/model/node/PolygonNodeModel.js +3 -3
  195. package/lib/options.d.ts +4 -2
  196. package/lib/style/index.css +3 -2
  197. package/lib/style/index.less +3 -2
  198. package/lib/style/raw.d.ts +1 -1
  199. package/lib/style/raw.js +1 -1
  200. package/lib/tool/MultipleSelectTool.js +10 -5
  201. package/lib/util/drag.js +0 -1
  202. package/lib/util/edge.d.ts +40 -1
  203. package/lib/util/edge.js +43 -9
  204. package/lib/util/geometry.d.ts +8 -0
  205. package/lib/util/geometry.js +81 -1
  206. package/lib/util/theme.d.ts +2 -65
  207. package/lib/util/theme.js +15 -292
  208. package/lib/view/Anchor.d.ts +1 -0
  209. package/lib/view/Anchor.js +24 -21
  210. package/lib/view/Control.d.ts +5 -0
  211. package/lib/view/Control.js +44 -57
  212. package/lib/view/edge/BaseEdge.js +9 -0
  213. package/lib/view/edge/PolylineEdge.js +13 -2
  214. package/lib/view/node/BaseNode.d.ts +1 -0
  215. package/lib/view/node/BaseNode.js +22 -10
  216. package/lib/view/node/HtmlNode.js +1 -3
  217. package/lib/view/overlay/CanvasOverlay.js +5 -2
  218. package/lib/view/overlay/Grid.d.ts +12 -1
  219. package/lib/view/overlay/Grid.js +83 -21
  220. package/lib/view/overlay/OutlineOverlay.d.ts +1 -0
  221. package/lib/view/overlay/OutlineOverlay.js +18 -17
  222. package/lib/view/overlay/gridConfig.d.ts +46 -0
  223. package/lib/view/overlay/gridConfig.js +104 -0
  224. package/lib/view/shape/Polygon.d.ts +0 -7
  225. package/lib/view/shape/Polygon.js +13 -45
  226. package/package.json +9 -2
  227. package/scripts/postinstall-ai-prompt.js +67 -0
  228. package/.turbo/turbo-build$colon$dev.log +0 -10
  229. package/.turbo/turbo-build.log +0 -33
  230. package/CHANGELOG.md +0 -1849
  231. package/__tests__/algorithm/egde.test.ts +0 -131
  232. package/__tests__/algorithm/index.test.ts +0 -74
  233. package/__tests__/algorithm/outline.test.ts +0 -43
  234. package/__tests__/bugs/1545-spec.test.ts +0 -42
  235. package/__tests__/event/event.test.ts +0 -22
  236. package/__tests__/history/history.test.ts +0 -28
  237. package/__tests__/logicflow.test.ts +0 -575
  238. package/__tests__/model/graphmodel.test.ts +0 -87
  239. package/__tests__/util/compatible.test.ts +0 -48
  240. package/__tests__/util/edge.test.ts +0 -224
  241. package/__tests__/util/geometry.test.ts +0 -14
  242. package/__tests__/util/graph.test.ts +0 -16
  243. package/__tests__/util/matrix.test.ts +0 -41
  244. package/__tests__/util/node.test.ts +0 -68
  245. package/__tests__/util/sampling.test.ts +0 -12
  246. package/__tests__/util/vector.test.ts +0 -50
  247. package/__tests__/util/zIndex.test.ts +0 -10
  248. package/src/LogicFlow.tsx +0 -2008
  249. package/src/algorithm/edge.ts +0 -67
  250. package/src/algorithm/index.ts +0 -70
  251. package/src/algorithm/outline.ts +0 -77
  252. package/src/algorithm/rotate.ts +0 -55
  253. package/src/common/drag.ts +0 -219
  254. package/src/common/history.ts +0 -108
  255. package/src/common/index.ts +0 -6
  256. package/src/common/keyboard.ts +0 -108
  257. package/src/common/matrix.ts +0 -122
  258. package/src/common/vector.ts +0 -93
  259. package/src/constant/index.ts +0 -179
  260. package/src/event/event.md +0 -66
  261. package/src/event/eventArgs.ts +0 -643
  262. package/src/event/eventEmitter.ts +0 -156
  263. package/src/history/index.ts +0 -119
  264. package/src/index.less +0 -1
  265. package/src/index.ts +0 -26
  266. package/src/keyboard/index.ts +0 -112
  267. package/src/keyboard/shortcut.ts +0 -200
  268. package/src/model/BaseModel.ts +0 -250
  269. package/src/model/EditConfigModel.ts +0 -334
  270. package/src/model/GraphModel.ts +0 -1788
  271. package/src/model/NestedTransformModel.ts +0 -121
  272. package/src/model/SnaplineModel.ts +0 -256
  273. package/src/model/TransformModel.ts +0 -258
  274. package/src/model/edge/BaseEdgeModel.ts +0 -777
  275. package/src/model/edge/BezierEdgeModel.ts +0 -197
  276. package/src/model/edge/LineEdgeModel.ts +0 -36
  277. package/src/model/edge/PolylineEdgeModel.ts +0 -672
  278. package/src/model/edge/index.ts +0 -4
  279. package/src/model/index.ts +0 -9
  280. package/src/model/node/BaseNodeModel.ts +0 -949
  281. package/src/model/node/CircleNodeModel.ts +0 -91
  282. package/src/model/node/DiamondNodeModel.ts +0 -132
  283. package/src/model/node/EllipseNodeModel.ts +0 -98
  284. package/src/model/node/HtmlNodeModel.ts +0 -50
  285. package/src/model/node/PolygonNodeModel.ts +0 -150
  286. package/src/model/node/RectNodeModel.ts +0 -69
  287. package/src/model/node/TextNodeModel.ts +0 -54
  288. package/src/model/node/index.ts +0 -8
  289. package/src/options.ts +0 -145
  290. package/src/style/index.less +0 -261
  291. package/src/style/raw.ts +0 -220
  292. package/src/tool/MultipleSelectTool.tsx +0 -132
  293. package/src/tool/TextEditTool.tsx +0 -193
  294. package/src/tool/index.ts +0 -101
  295. package/src/typings.d.ts +0 -5
  296. package/src/util/animation.ts +0 -29
  297. package/src/util/browser.ts +0 -4
  298. package/src/util/compatible.ts +0 -15
  299. package/src/util/drag.ts +0 -220
  300. package/src/util/edge.ts +0 -1060
  301. package/src/util/geometry.ts +0 -55
  302. package/src/util/graph.ts +0 -46
  303. package/src/util/index.ts +0 -17
  304. package/src/util/matrix.ts +0 -129
  305. package/src/util/mobx.ts +0 -23
  306. package/src/util/node.ts +0 -543
  307. package/src/util/raf.ts +0 -28
  308. package/src/util/resize.ts +0 -606
  309. package/src/util/sampling.ts +0 -85
  310. package/src/util/theme.ts +0 -375
  311. package/src/util/uuid.ts +0 -26
  312. package/src/util/vector.ts +0 -93
  313. package/src/util/zIndex.ts +0 -6
  314. package/src/view/Anchor.tsx +0 -445
  315. package/src/view/Control.tsx +0 -512
  316. package/src/view/Graph.tsx +0 -141
  317. package/src/view/Rotate.tsx +0 -113
  318. package/src/view/behavior/dnd.ts +0 -162
  319. package/src/view/behavior/index.ts +0 -2
  320. package/src/view/behavior/snapline.ts +0 -16
  321. package/src/view/edge/AdjustPoint.tsx +0 -425
  322. package/src/view/edge/Arrow.tsx +0 -54
  323. package/src/view/edge/BaseEdge.tsx +0 -650
  324. package/src/view/edge/BezierEdge.tsx +0 -101
  325. package/src/view/edge/LineEdge.tsx +0 -81
  326. package/src/view/edge/PolylineEdge.tsx +0 -299
  327. package/src/view/edge/index.ts +0 -6
  328. package/src/view/index.ts +0 -8
  329. package/src/view/node/BaseNode.tsx +0 -571
  330. package/src/view/node/CircleNode.tsx +0 -21
  331. package/src/view/node/DiamondNode.tsx +0 -24
  332. package/src/view/node/EllipseNode.tsx +0 -22
  333. package/src/view/node/HtmlNode.tsx +0 -95
  334. package/src/view/node/PolygonNode.tsx +0 -28
  335. package/src/view/node/RectNode.tsx +0 -30
  336. package/src/view/node/TextNode.tsx +0 -39
  337. package/src/view/node/index.ts +0 -8
  338. package/src/view/overlay/BackgroundOverlay.tsx +0 -34
  339. package/src/view/overlay/BezierAdjustOverlay.tsx +0 -150
  340. package/src/view/overlay/CanvasOverlay.tsx +0 -288
  341. package/src/view/overlay/Grid.tsx +0 -162
  342. package/src/view/overlay/ModificationOverlay.tsx +0 -31
  343. package/src/view/overlay/OutlineOverlay.tsx +0 -170
  344. package/src/view/overlay/SnaplineOverlay.tsx +0 -44
  345. package/src/view/overlay/ToolOverlay.tsx +0 -65
  346. package/src/view/overlay/getTransformHoc.tsx +0 -50
  347. package/src/view/overlay/index.ts +0 -8
  348. package/src/view/shape/Circle.tsx +0 -41
  349. package/src/view/shape/Ellipse.tsx +0 -42
  350. package/src/view/shape/Line.tsx +0 -39
  351. package/src/view/shape/Path.tsx +0 -22
  352. package/src/view/shape/Polygon.tsx +0 -91
  353. package/src/view/shape/Polyline.tsx +0 -31
  354. package/src/view/shape/Rect.tsx +0 -44
  355. package/src/view/shape/Text.tsx +0 -169
  356. package/src/view/shape/index.ts +0 -8
  357. package/src/view/text/BaseText.tsx +0 -134
  358. package/src/view/text/LineText.tsx +0 -168
  359. package/src/view/text/index.ts +0 -2
  360. package/stats.html +0 -4842
  361. package/tsconfig.json +0 -18
@@ -0,0 +1,406 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow 实例
5
+ order: 2
6
+ title: 事件
7
+ toc: content
8
+ order: 7
9
+ ---
10
+
11
+ <style>
12
+ table td:first-of-type {
13
+ word-break: normal;
14
+ }
15
+ </style>
16
+
17
+ LogicFlow 提供了事件系统用于告知开发者当前流程图发生的事件。事件的详细用法见[事件](../../tutorial/basic/event.zh.md)。
18
+
19
+ ## 事件方法
20
+
21
+ ### on
22
+
23
+ 监听事件。支持监听单个事件或多个事件。
24
+
25
+ **参数**
26
+
27
+ | 名称 | 类型 | 必传 | 默认值 | 描述 |
28
+ | :------- | :------------ | :--- | :----- | :----------------------------------- |
29
+ | evt | string | ✅ | - | 事件名称,支持用逗号分隔监听多个事件 |
30
+ | callback | EventCallback | ✅ | - | 事件回调函数 |
31
+
32
+ **示例**
33
+
34
+ ```ts
35
+ // 监听单个事件
36
+ lf.on('node:click', (data) => {
37
+ console.log('节点被点击:', data);
38
+ });
39
+
40
+ // 监听多个事件
41
+ lf.on('node:click,edge:click', (data) => {
42
+ console.log('元素被点击:', data);
43
+ });
44
+
45
+ // 监听节点移动事件
46
+ lf.on('node:drag', ({ data }) => {
47
+ console.log('节点拖拽中:', data.id, data.x, data.y);
48
+ });
49
+
50
+ // 监听画布点击事件
51
+ lf.on('blank:click', ({ e }) => {
52
+ console.log('画布被点击:', e.x, e.y);
53
+ });
54
+ ```
55
+
56
+ **注意事项**
57
+
58
+ - 事件名称支持用逗号分隔同时监听多个事件
59
+ - 回调函数的参数格式取决于具体的事件类型
60
+ - 重复监听同一事件会叠加,都会被执行
61
+
62
+ ### off
63
+
64
+ 取消事件监听。
65
+
66
+ **参数**
67
+
68
+ | 名称 | 类型 | 必传 | 默认值 | 描述 |
69
+ | :------- | :------------ | :--- | :----- | :----------------------------------- |
70
+ | evt | string | ✅ | - | 事件名称,支持用逗号分隔取消多个事件 |
71
+ | callback | EventCallback | ✅ | - | 要取消的事件回调函数 |
72
+
73
+ **示例**
74
+
75
+ ```ts
76
+ // 定义回调函数
77
+ const handleNodeClick = (data) => {
78
+ console.log('节点被点击:', data);
79
+ };
80
+
81
+ // 监听事件
82
+ lf.on('node:click', handleNodeClick);
83
+
84
+ // 取消监听
85
+ lf.off('node:click', handleNodeClick);
86
+
87
+ // 取消多个事件监听
88
+ lf.off('node:click,edge:click', handleNodeClick);
89
+ ```
90
+
91
+ **注意事项**
92
+
93
+ - 必须传入监听时使用的同一个回调函数引用
94
+ - 如果回调函数引用不匹配,取消操作无效
95
+ - 支持同时取消多个事件的监听
96
+
97
+ ### once
98
+
99
+ 监听事件,但只触发一次。触发后自动取消监听。
100
+
101
+ **参数**
102
+
103
+ | 名称 | 类型 | 必传 | 默认值 | 描述 |
104
+ | :------- | :------------ | :--- | :----- | :----------------------------------- |
105
+ | evt | string | ✅ | - | 事件名称,支持用逗号分隔监听多个事件 |
106
+ | callback | EventCallback | ✅ | - | 事件回调函数 |
107
+
108
+ **示例**
109
+
110
+ ```ts
111
+ // 只监听一次节点点击事件
112
+ lf.once('node:click', (data) => {
113
+ console.log('首次点击节点:', data);
114
+ // 这个回调只会执行一次
115
+ });
116
+
117
+ // 监听画布首次渲染完成
118
+ lf.once('graph:rendered', (data) => {
119
+ console.log('画布渲染完成:', data);
120
+ // 可以在这里执行一些初始化操作
121
+ });
122
+ ```
123
+
124
+ **注意事项**
125
+
126
+ - 回调函数执行一次后会自动取消监听
127
+ - 适用于只需要响应一次的场景,如初始化操作
128
+ - 支持同时监听多个事件,但每个事件都只触发一次
129
+
130
+ ### emit
131
+
132
+ 手动触发事件。
133
+
134
+ **参数**
135
+
136
+ | 名称 | 类型 | 必传 | 默认值 | 描述 |
137
+ | :-------- | :-------- | :--- | :----- | :------- |
138
+ | evt | string | ✅ | - | 事件名称 |
139
+ | eventArgs | EventArgs | ✅ | - | 事件参数 |
140
+
141
+ **示例**
142
+
143
+ ```ts
144
+ // 触发自定义事件
145
+ lf.emit('custom:event', {
146
+ type: 'custom:event',
147
+ data: {
148
+ message: 'Hello World',
149
+ },
150
+ });
151
+
152
+ // 监听自定义事件
153
+ lf.on('custom:event', (data) => {
154
+ console.log('收到自定义事件:', data);
155
+ });
156
+
157
+ // 触发节点相关事件(谨慎使用)
158
+ lf.emit('node:click', {
159
+ type: 'node:click',
160
+ data: lf.getNodeDataById('node_1'),
161
+ });
162
+ ```
163
+
164
+ **注意事项**
165
+
166
+ - 主要用于触发自定义事件
167
+ - 谨慎触发内置事件,可能会影响 LogicFlow 的正常运行
168
+ - 事件参数格式需要符合对应事件的规范
169
+ - 触发的事件会被所有对应的监听器接收
170
+
171
+ ## 事件名清单
172
+
173
+ ## 节点事件
174
+
175
+ | 事件名 | 说明 | 事件对象 |
176
+ | :-------------------------------------------- | :--------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
177
+ | element:click | 元素单击 | data, e, position |
178
+ | node:click | 节点单击 | data, e, position |
179
+ | node:dbclick | 节点双击 | data, e, position |
180
+ | node:mousedown | 鼠标按下节点 | data, e |
181
+ | node:mouseup | 鼠标抬起节点 | data, e |
182
+ | node:mousemove | 鼠标移动节点 | data, e |
183
+ | node:mouseenter | 鼠标进入节点 | data, e |
184
+ | node:mouseleave | 鼠标离开节点 | data, e |
185
+ | node:delete | 节点的删除 | data |
186
+ | node:add | 节点的添加 | data |
187
+ | node:dnd-add | 外部拖入节点添加时触发 | data |
188
+ | node:dnd-drag | 外部拖入节点拖拽中触发 | data, e |
189
+ | node:dragstart | 节点开始拖拽 | data, e |
190
+ | node:drag | 节点拖拽 | data, e |
191
+ | node:drop | 节点拖拽放开 | data, e |
192
+ | node:contextmenu | 右键点击节点 | data, e, position |
193
+ | node:resize<Badge>2.0 新增</Badge> | 调整节点缩放 | preData, data, model, deltaX, deltaY, index |
194
+ | node:properties-change<Badge>2.0 新增</Badge> | 节点自定义属性变化 | id: 当前节点的id<br/>keys: 当前变更字段的key的集合<br/>preProperties: 改动前的properties<br/>properties: 改动后的properties |
195
+
196
+ 事件对象包含如下内容:
197
+
198
+ | 属性 | 类型 | 值 |
199
+ | :------- | :--------- | :------------------------------------------------------------------------------------------------------------- |
200
+ | data | Object | 节点的[数据属性](../runtime-model/nodeModel.zh.md#数据属性) |
201
+ | e | MouseEvent | 原生的鼠标事件对象 |
202
+ | position | Object | 鼠标触发点在画布中的坐标(参照[getPointByClient](./canvas.zh.md#getpointbyclient)的返回值) |
203
+
204
+ ## 边事件
205
+
206
+ | 事件名 | 说明 | 事件对象 |
207
+ | :--------------------- | :---------------- | :---------------- |
208
+ | element:click | 元素单击 | data, e, position |
209
+ | edge:click | 边单击 | data, e, position |
210
+ | edge:dbclick | 边双击 | data, e |
211
+ | edge:mouseenter | 鼠标进入边 | data, e |
212
+ | edge:mouseleave | 鼠标离开边 | data, e |
213
+ | edge:add | 边增加 | data |
214
+ | edge:delete | 边删除 | data |
215
+ | edge:contextmenu | 边右键 | data, e, position |
216
+ | edge:adjust | 边拖拽调整 | data |
217
+ | edge:exchange-node | 调整边的起点/终点 | data |
218
+ | connection:not-allowed | 不允许建立连接 | data, msg |
219
+
220
+ 事件对象包含如下内容:
221
+
222
+ | 属性 | 类型 | 值 |
223
+ | :------- | :--------- | :------------------------------------------------------------------------------------------------------------- |
224
+ | data | Object | 边的[数据属性](../runtime-model/edgeModel.zh.md#数据属性) |
225
+ | e | MouseEvent | 原生的鼠标事件对象 |
226
+ | position | Object | 鼠标触发点在画布中的坐标(参照[getPointByClient](./canvas.zh.md#getpointbyclient)的返回值) |
227
+ | msg | string | 边校验信息 |
228
+
229
+ ## 锚点事件
230
+
231
+ | 事件名 | 说明 | 事件对象 |
232
+ | :--------------- | :------------------------------------------------------------------------------------------------------ | :---------------------------- |
233
+ | anchor:dragstart | 锚点连线开始拖动 | data, e, nodeModel |
234
+ | anchor:drop | 锚点连线拖动连线成功,只有在创建连线成功的时候才触发。用于区分手动创建的连线和自动创建的连线(`edge:add`) | data, e, nodeModel, edgeModel |
235
+ | anchor:drag | 锚点连线拖动触发 | data, e, nodeModel |
236
+ | anchor:dragend | 锚点连线结束,不管是否创建连线都会触发。 | data, e, nodeModel |
237
+
238
+ 事件对象包含如下内容:
239
+
240
+ | 属性 | 类型 | 值 |
241
+ | :-------- | :--------- | :----------------- |
242
+ | data | Object | 锚点数据 |
243
+ | e | MouseEvent | 原生的鼠标事件对象 |
244
+ | nodeModel | Object | 锚点所属的节点 |
245
+
246
+ ## 画布事件
247
+
248
+ | 事件名 | 说明 | 事件对象 |
249
+ | :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------- |
250
+ | blank:mousedown | 画布鼠标按下 | e |
251
+ | blank:mousemove | 画布鼠标移动 | e |
252
+ | blank:mouseup | 画布鼠标抬起 | e |
253
+ | blank:click | 画布单击 | e |
254
+ | blank:contextmenu | 画布右键 | e, position |
255
+ | blank:dragstart | 画布开始拖拽 | e |
256
+ | blank:drag | 画布拖拽 | e |
257
+ | blank:drop | 画布拖拽放开 | e |
258
+ | text:update | 文案更新 | data |
259
+ | graph:transform | 画布平移或者缩放触发 | data |
260
+ | graph:rendered | 画布渲染数据后触发. 即 lf.render(graphData)方法被调用后触发。 `v1.1.0新增` | graphData |
261
+ | graph:updated | 画布重新更新后触发. 即 lf.render(graphData)方法被调用后或者改变画布(graphModel)上的属性后触发。如果是主动修改某个属性导致画布更新,想要在画布更新后做一些操作,建议注册事件后在回调函数中及时注销该事件,或者使用once事件代替on事件,因为其他属性也可能导致画布更新,触发该事件。`v2.0.0新增` | - |
262
+
263
+ 事件对象包含如下内容:
264
+
265
+ | 属性 | 类型 | 值 |
266
+ | :------- | :--------- | :------------------------------------------------------------------------------------------------------------- |
267
+ | e | MouseEvent | 原生的鼠标事件对象 |
268
+ | position | Object | 鼠标触发点在画布中的坐标(参照[getPointByClient](./canvas.zh.md#getpointbyclient)的返回值) |
269
+
270
+ ## History 事件
271
+
272
+ History 用来记录画布上的每一次改动,当画布上的元素发生变化时会触发 `history:change` 事件。
273
+
274
+ | 事件名 | 说明 | 事件对象 |
275
+ | :------------- | :------- | :------- |
276
+ | history:change | 画布变化 | data |
277
+
278
+ 事件对象中的 data 属性包含以下内容。
279
+
280
+ | 属性 | 类型 | 说明 |
281
+ | :------- | :------ | :------------------ |
282
+ | undos | Array | 可撤销的 graph 快照 |
283
+ | redos | Array | 可重做的 graph 快照 |
284
+ | undoAble | boolean | 是否可以撤销 |
285
+ | redoAble | boolean | 是否可以重做 |
286
+
287
+ ## 选区事件
288
+
289
+ 当同时选中多个节点形成选区时,选区触发的事件
290
+
291
+ | 事件名 | 说明 | 事件对象 |
292
+ | :-------------------- | :------------- | :------------- |
293
+ | selection:selected | 选区框选后触发 | 所有选中的元素 |
294
+ | selection:mousedown | 选区鼠标按下 | e |
295
+ | selection:dragstart | 选区开始拖拽 | e |
296
+ | selection:drag | 选区拖拽 | e |
297
+ | selection:drop | 选区拖拽放开 | e |
298
+ | selection:mousemove | 选区鼠标移动 | e, position |
299
+ | selection:mouseup | 选区鼠标松开 | e |
300
+ | selection:contextmenu | 选区右键 | e |
301
+
302
+ 事件对象包含如下内容:
303
+
304
+ | 属性 | 类型 | 值 |
305
+ | :------- | :--------- | :------------------------------------------------------------------------------------------------------------- |
306
+ | e | MouseEvent | 原生的鼠标事件对象 |
307
+ | position | Object | 鼠标触发点在画布中的坐标(参照[getPointByClient](./canvas.zh.md#getpointbyclient)的返回值) |
308
+
309
+ ## 文本事件
310
+
311
+ 当 Text 文本位置、内容出现变更时,文本触发的事件
312
+
313
+ | 事件名 | 说明 | 事件对象 |
314
+ | :------------- | :------------------- | :---------------------- |
315
+ | text:mousedown | 鼠标按下文本 | e, data |
316
+ | text:dragstart | 开始拖拽文本 | e, data |
317
+ | text:drag | 拖拽文本 | e, data |
318
+ | text:drop | 放开文本 | e, data |
319
+ | text:click | 单击文本 | e |
320
+ | text:dbclick | 双击文本 | e |
321
+ | text:blur | 文本失焦 | e |
322
+ | text:mousemove | 鼠标在文本区内部移动 | e, data, deltaX, deltaY |
323
+ | text:mouseup | 鼠标在文本区内放开 | e, data |
324
+ | text:update | 更新文本 | data |
325
+
326
+ 事件对象包含如下内容:
327
+
328
+ | 属性 | 类型 | 值 |
329
+ | :--- | :--------- | :------------------ |
330
+ | e | MouseEvent | 原生的鼠标事件对象 |
331
+ | data | Object | NodeModel/EdgeModel |
332
+
333
+ ## 插件事件
334
+
335
+ 下面是不同插件中触发的事件
336
+
337
+ ### DndPanel
338
+
339
+ | 事件名 | 说明 | 事件对象 |
340
+ | :-------------------- | :--------------- | :------- |
341
+ | dnd:panel-dbclick | 拖拽面板双击 | e, data |
342
+ | dnd:panel-click | 拖拽面板左键单击 | e, data |
343
+ | dnd:panel-contextmenu | 拖拽面板右键单击 | e, data |
344
+
345
+ 事件对象包含如下内容:
346
+
347
+ | 属性 | 类型 | 值 |
348
+ | :--- | :--------- | :------------------ |
349
+ | e | MouseEvent | 原生的鼠标事件对象 |
350
+ | data | Object | NodeModel/EdgeModel |
351
+
352
+ ### MiniMap
353
+
354
+ | 事件名 | 说明 | 事件对象 |
355
+ | :------------ | :--------------- | :------- |
356
+ | miniMap:close | 小地图隐藏时触发 | - |
357
+
358
+ ### SelectionSelect
359
+
360
+ | 事件名 | 说明 | 事件对象 |
361
+ | :---------------------- | :------------------------------------- | :------------------------------------------------------------------- |
362
+ | selection:selected-area | 选框范围 | topLeft: 左上角坐标, bottomRight: 右下角坐标 |
363
+ | selection:drop | 鼠标放开后如果存在框选选中的元素时触发 | e |
364
+ | selection:selected | 框选完成时触发 | elements: 框选元素集合, topLeft: 左上角坐标, bottomRight: 右下角坐标 |
365
+
366
+ ### DynamicGroup/Group
367
+
368
+ | 事件名 | 说明 | 事件对象 |
369
+ | :-------------------------------------------- | :------------------------------- | :-------------------------------------------- |
370
+ | group:add-node | 节点加入到分组中触发 | data: 分组数据, childId: 新加入节点的id |
371
+ | group:remove-node | 节点从分组中移除触发 | data: 分组数据, childId: 移除节点的id |
372
+ | group:not-allowed | 命中节点不允许加入到分组中时触发 | group: 分组数据, node: 被禁止加入的节点的信息 |
373
+ | dynamicGroup:collapse<Badge>2.1.0新增</Badge> | 分组节点折叠事件 | collapse: 折叠状态,nodeModel: 节点实体 |
374
+
375
+ ### Highlight
376
+
377
+ | 事件名 | 说明 | 事件对象 |
378
+ | :------------------- | :------------------------------- | :------------------- |
379
+ | highlight:single | 单元素高亮模式下,元素触发高亮 | data |
380
+ | highlight:neighbours | 相邻元素高亮模式下,元素触发高亮 | data, relateElements |
381
+ | highlight:path | 路径元素高亮模式下,元素触发高亮 | data, relateElements |
382
+
383
+ 事件对象包含如下内容:
384
+
385
+ | 属性 | 类型 | 值 |
386
+ | :------------- | :----- | :---------------------------- |
387
+ | data | Object | NodeModel/EdgeModel |
388
+ | relateElements | Array | NodeModel/EdgeModel组成的数组 |
389
+
390
+ ### Label
391
+
392
+ | 事件名 | 说明 | 事件对象 |
393
+ | :-------------- | :------------------- | :---------------------- |
394
+ | label:mousedown | 鼠标按下文本 | e, data |
395
+ | label:dragstart | 开始拖拽文本 | e, data |
396
+ | label:drag | 拖拽文本 | e, data |
397
+ | label:drop | 放开文本 | e, data |
398
+ | label:mousemove | 鼠标在文本区内部移动 | e, data, deltaX, deltaY |
399
+ | label:mouseup | 鼠标在文本区内放开 | e, data |
400
+
401
+ 事件对象包含如下内容:
402
+
403
+ | 属性 | 类型 | 值 |
404
+ | :--- | :--------- | :------------------ |
405
+ | e | MouseEvent | 原生的鼠标事件对象 |
406
+ | data | Object | NodeModel/EdgeModel |
@@ -0,0 +1,38 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow Instance
5
+ order: 2
6
+ title: Edit history
7
+ toc: content
8
+ order: 6
9
+ ---
10
+
11
+ This page documents instance APIs related to edit history.
12
+
13
+ ### undo
14
+
15
+ Go one step back in history.
16
+
17
+ **Example**
18
+
19
+ ```ts
20
+ lf.undo();
21
+ ```
22
+
23
+ ### redo
24
+
25
+ Go one step forward in history.
26
+
27
+ **Example**
28
+
29
+ ```ts
30
+ lf.redo();
31
+ ```
32
+
33
+ **Notes**
34
+
35
+ - Check whether redo is allowed before calling.
36
+ - Operations emit the corresponding history events.
37
+
38
+ Constructor toggle: [Constructor options](../logicflow-constructor/index.en.md).
@@ -0,0 +1,38 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow 实例
5
+ order: 2
6
+ title: 编辑历史
7
+ toc: content
8
+ order: 6
9
+ ---
10
+
11
+ 本页汇总 LogicFlow 实例中与编辑历史相关的方法。
12
+
13
+ ### undo
14
+
15
+ 历史记录操作,返回上一步。
16
+
17
+ **示例**
18
+
19
+ ```ts
20
+ lf.undo();
21
+ ```
22
+
23
+ ### redo
24
+
25
+ 历史记录操作,恢复下一步。
26
+
27
+ **示例**
28
+
29
+ ```ts
30
+ lf.redo();
31
+ ```
32
+
33
+ **注意事项**
34
+
35
+ - 调用前请先判断当前是否可重做。
36
+ - 操作会触发对应的历史记录事件。
37
+
38
+ 构造期开关见 [构造方法](../logicflow-constructor/index.zh.md)。
@@ -0,0 +1,41 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow Instance
5
+ order: 2
6
+ title: Overview
7
+ toc: content
8
+ order: 0
9
+ ---
10
+
11
+ ## Instance
12
+
13
+ All runtime operations, events, and listeners on the diagram go through the `LogicFlow` instance.
14
+
15
+ ## Instance properties
16
+
17
+ | Property | Type | Description | Read-only |
18
+ | :--------- | :-------------------- | :----------------------------------------------- | :-------- |
19
+ | container | HTMLElement | DOM container the instance is mounted to | Yes |
20
+ | options | LFOptions.Definition | Instance configuration | Yes |
21
+ | graphModel | [GraphModel](../runtime-model/graphModel.en.md) | Model for the entire canvas | Yes |
22
+ | width | number | Canvas width in pixels | Yes |
23
+ | height | number | Canvas height in pixels | Yes |
24
+
25
+ ## Instance methods
26
+
27
+ - [Rendering and data](./render-and-data.en.md): render, read/write, adapters
28
+ - [Nodes](./node.en.md): create, delete, query
29
+ - [Edges](./edge.en.md): edge types, CRUD, query
30
+ - [Elements](./element.en.md): selection, attributes, batch operations
31
+ - [Text](./text.en.md): text editing and updates
32
+ - [History](./history.en.md): undo and redo
33
+ - [Events](./event.en.md): event APIs and lists
34
+ - [Canvas](./canvas.en.md): zoom, pan, viewport
35
+ - [Theme](./theme.en.md): runtime theming
36
+ - [Register](./register.en.md): node/edge registration
37
+ - [Edit config](./edit-config.en.md): read/update edit configuration
38
+
39
+ ## Constructor relationship
40
+
41
+ Options passed at construction time are documented under [LogicFlow constructor](../logicflow-constructor/index.en.md).
@@ -0,0 +1,41 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow 实例
5
+ order: 2
6
+ title: 总览
7
+ toc: content
8
+ order: 0
9
+ ---
10
+
11
+ ## 实例
12
+
13
+ 流程图上所有的节点实例操作以及事件,行为监听都在 `LogicFlow` 实例上进行。
14
+
15
+ ## 实例属性
16
+
17
+ | 属性 | 类型 | 描述 | 只读 |
18
+ | :--------- | :------------------- | :----------------------------- | :--- |
19
+ | container | HTMLElement | logicflow实例挂载的容器 | 是 |
20
+ | options | LFOptions.Definition | logicflow实例的配置 | 是 |
21
+ | graphModel | [GraphModel](../runtime-model/graphModel.zh.md) | 控制整个 LogicFlow 画布的 model | 是 |
22
+ | width | number | 画布宽度 | 是 |
23
+ | height | number | 画布高度 | 是 |
24
+
25
+ ## 实例方法
26
+
27
+ - [渲染与数据](./render-and-data.zh.md):渲染、读写与数据适配
28
+ - [节点相关](./node.zh.md):节点创建、删除与查询
29
+ - [边相关](./edge.zh.md):边类型、增删改与查询
30
+ - [元素相关](./element.zh.md):元素选择、属性与批量操作
31
+ - [文本编辑](./text.zh.md):文本编辑与更新
32
+ - [编辑历史](./history.zh.md):撤销与重做
33
+ - [事件](./event.zh.md):事件方法与事件清单
34
+ - [画布相关](./canvas.zh.md):缩放、平移与视口控制
35
+ - [主题](./theme.zh.md):运行时主题能力
36
+ - [注册](./register.zh.md):节点/边注册与批量注册
37
+ - [编辑控制](./edit-config.zh.md):读取和更新编辑控制配置项
38
+
39
+ ## 与构造方法的关系
40
+
41
+ 构造期配置见 [LogicFlow 构造方法](../logicflow-constructor/index.zh.md)。