@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,199 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow 实例
5
+ order: 2
6
+ title: 画布相关
7
+ toc: content
8
+ order: 8
9
+ ---
10
+
11
+ 本页汇总 LogicFlow 实例中与画布尺寸、视口变换、坐标换算和边动画相关的方法。
12
+
13
+ ### resize
14
+
15
+ 调整画布尺寸;未传参数时自动按容器尺寸重算。
16
+
17
+ **签名**
18
+
19
+ ```ts
20
+ resize(width?: number, height?: number): void
21
+ ```
22
+
23
+ **参数**
24
+
25
+ | 名称 | 类型 | 必传 | 说明 |
26
+ | :--- | :--- | :--- | :--- |
27
+ | `width` | `number` | 否 | 目标宽度。 |
28
+ | `height` | `number` | 否 | 目标高度。 |
29
+
30
+ ### focusOn
31
+
32
+ 将视口中心定位到指定节点,或指定坐标点。
33
+
34
+ **签名**
35
+
36
+ ```ts
37
+ focusOn(focusOnArgs: { id?: string; coordinate?: { x: number; y: number } }): void
38
+ ```
39
+
40
+ **参数**
41
+
42
+ | 名称 | 类型 | 必传 | 说明 |
43
+ | :--- | :--- | :--- | :--- |
44
+ | `focusOnArgs` | `object` | 是 | `id` 与 `coordinate` 二选一。 |
45
+
46
+ ### zoom
47
+
48
+ 按步进或指定倍率缩放画布,并可指定缩放原点。
49
+
50
+ **签名**
51
+
52
+ ```ts
53
+ zoom(zoomSize?: boolean | number, point?: [number, number]): string
54
+ ```
55
+
56
+ **返回值**
57
+
58
+ - `string`:当前缩放比例百分比。
59
+
60
+ ### resetZoom
61
+
62
+ 将画布缩放比例重置为 `1`。
63
+
64
+ **签名**
65
+
66
+ ```ts
67
+ resetZoom(): void
68
+ ```
69
+
70
+ ### setZoomMiniSize
71
+
72
+ 设置画布允许的最小缩放倍数。
73
+
74
+ **签名**
75
+
76
+ ```ts
77
+ setZoomMiniSize(size: number): void
78
+ ```
79
+
80
+ ### setZoomMaxSize
81
+
82
+ 设置画布允许的最大缩放倍数。
83
+
84
+ **签名**
85
+
86
+ ```ts
87
+ setZoomMaxSize(size: number): void
88
+ ```
89
+
90
+ ### getTransform
91
+
92
+ 获取当前画布变换状态(缩放与平移)。
93
+
94
+ **签名**
95
+
96
+ ```ts
97
+ getTransform(): {
98
+ SCALE_X: number;
99
+ SCALE_Y: number;
100
+ TRANSLATE_X: number;
101
+ TRANSLATE_Y: number;
102
+ }
103
+ ```
104
+
105
+ ### translate
106
+
107
+ 按相对偏移量平移画布。
108
+
109
+ **签名**
110
+
111
+ ```ts
112
+ translate(x: number, y: number): void
113
+ ```
114
+
115
+ ### resetTranslate
116
+
117
+ 将画布平移状态重置到初始位置。
118
+
119
+ **签名**
120
+
121
+ ```ts
122
+ resetTranslate(): void
123
+ ```
124
+
125
+ ### translateCenter
126
+
127
+ 将当前图内容居中显示在画布视口内。
128
+
129
+ **签名**
130
+
131
+ ```ts
132
+ translateCenter(): void
133
+ ```
134
+
135
+ ### fitView
136
+
137
+ 自动调整缩放与平移,使图内容尽可能完整显示在当前视口。
138
+
139
+ **签名**
140
+
141
+ ```ts
142
+ fitView(verticalOffset?: number, horizontalOffset?: number): void
143
+ ```
144
+
145
+ ### getPointByClient
146
+
147
+ 将页面坐标转换为画布坐标(同时返回 DOM 层与 SVG 层坐标)。
148
+
149
+ **签名**
150
+
151
+ ```ts
152
+ getPointByClient(x: number, y: number): {
153
+ domOverlayPosition: { x: number; y: number };
154
+ canvasOverlayPosition: { x: number; y: number };
155
+ }
156
+ ```
157
+
158
+ ### toFront
159
+
160
+ 将指定节点或边置于更高层级。
161
+
162
+ **签名**
163
+
164
+ ```ts
165
+ toFront(id: string): void
166
+ ```
167
+
168
+ ### openEdgeAnimation
169
+
170
+ 开启指定边的动画效果。
171
+
172
+ **签名**
173
+
174
+ ```ts
175
+ openEdgeAnimation(edgeId: string): void
176
+ ```
177
+
178
+ ### closeEdgeAnimation
179
+
180
+ 关闭指定边的动画效果。
181
+
182
+ **签名**
183
+
184
+ ```ts
185
+ closeEdgeAnimation(edgeId: string): void
186
+ ```
187
+
188
+ ### 常见组合示例
189
+
190
+ ```ts
191
+ // 先自适应,再居中,再按指定倍率缩放
192
+ lf.resize();
193
+ lf.translateCenter();
194
+ lf.zoom(1.2);
195
+
196
+ // 点坐标转换后定位到该处
197
+ const point = lf.getPointByClient(300, 200);
198
+ lf.focusOn({ coordinate: point.canvasOverlayPosition });
199
+ ```
@@ -0,0 +1,273 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow Instance
5
+ order: 2
6
+ title: Edges
7
+ toc: content
8
+ order: 3
9
+ ---
10
+
11
+ This page documents instance helpers for creating, querying, updating, and deleting edges.
12
+
13
+ ### setDefaultEdgeType
14
+
15
+ Sets the default edge type used when users draw new connections.
16
+
17
+ **Signature**
18
+
19
+ ```ts
20
+ setDefaultEdgeType(type: string): void
21
+ ```
22
+
23
+ **Parameters**
24
+
25
+ | Name | Type | Required | Description |
26
+ | :--- | :--- | :--- | :--- |
27
+ | `type` | `string` | Yes | Edge type such as `line`, `polyline`, or `bezier`. |
28
+
29
+ **Example**
30
+
31
+ ```ts
32
+ lf.setDefaultEdgeType('line');
33
+ ```
34
+
35
+ ### addEdge
36
+
37
+ Creates an edge between two nodes.
38
+
39
+ **Signature**
40
+
41
+ ```ts
42
+ addEdge(edgeConfig: EdgeConfig): BaseEdgeModel
43
+ ```
44
+
45
+ **Parameters**
46
+
47
+ | Name | Type | Required | Description |
48
+ | :--- | :--- | :--- | :--- |
49
+ | `edgeConfig` | [`EdgeConfig`](../type/MainTypes.en.md#edgeconfig) | Yes | Edge configuration. |
50
+
51
+ **Returns**
52
+
53
+ | Type | Description |
54
+ | :--- | :--- |
55
+ | `BaseEdgeModel` | New edge model. |
56
+
57
+ **Example**
58
+
59
+ ```ts
60
+ lf.addEdge({
61
+ sourceNodeId: '10',
62
+ targetNodeId: '21',
63
+ text: 'Label',
64
+ });
65
+ ```
66
+
67
+ ### getEdgeDataById
68
+
69
+ Returns serialized edge data.
70
+
71
+ **Signature**
72
+
73
+ ```ts
74
+ getEdgeDataById(edgeId: string): EdgeConfig | undefined
75
+ ```
76
+
77
+ **Parameters**
78
+
79
+ | Name | Type | Required | Description |
80
+ | :--- | :--- | :--- | :--- |
81
+ | `edgeId` | `string` | Yes | Edge id. |
82
+
83
+ **Returns**
84
+
85
+ | Type | Description |
86
+ | :--- | :--- |
87
+ | [`EdgeConfig`](../type/MainTypes.en.md#edgeconfig) \| `undefined` | Data snapshot. |
88
+
89
+ **Example**
90
+
91
+ ```ts
92
+ lf.getEdgeDataById('edge_1');
93
+ ```
94
+
95
+ ### getEdgeModelById
96
+
97
+ Returns the live edge model.
98
+
99
+ **Signature**
100
+
101
+ ```ts
102
+ getEdgeModelById(edgeId: string): BaseEdgeModel | undefined
103
+ ```
104
+
105
+ **Parameters**
106
+
107
+ | Name | Type | Required | Description |
108
+ | :--- | :--- | :--- | :--- |
109
+ | `edgeId` | `string` | Yes | Edge id. |
110
+
111
+ **Returns**
112
+
113
+ | Type | Description |
114
+ | :--- | :--- |
115
+ | `BaseEdgeModel \| undefined` | Model or `undefined`. |
116
+
117
+ **Example**
118
+
119
+ ```ts
120
+ lf.getEdgeModelById('edge_1');
121
+ ```
122
+
123
+ ### getEdgeModels
124
+
125
+ Filters edge models by endpoints or other fields.
126
+
127
+ **Signature**
128
+
129
+ ```ts
130
+ getEdgeModels(edgeFilter: EdgeFilter): BaseEdgeModel[]
131
+ ```
132
+
133
+ **Parameters**
134
+
135
+ | Name | Type | Required | Description |
136
+ | :--- | :--- | :--- | :--- |
137
+ | `edgeFilter` | `EdgeFilter` | Yes | Filter object (commonly `sourceNodeId` / `targetNodeId`; see types). |
138
+
139
+ **Returns**
140
+
141
+ | Type | Description |
142
+ | :--- | :--- |
143
+ | `BaseEdgeModel[]` | Matching models. |
144
+
145
+ **Example**
146
+
147
+ ```ts
148
+ lf.getEdgeModels({
149
+ sourceNodeId: 'nodeA_id',
150
+ targetNodeId: 'nodeB_id',
151
+ });
152
+ ```
153
+
154
+ ### changeEdgeId
155
+
156
+ Renames an edge; generates an id when `newId` is omitted.
157
+
158
+ **Signature**
159
+
160
+ ```ts
161
+ changeEdgeId(oldId: string, newId?: string): void
162
+ ```
163
+
164
+ **Parameters**
165
+
166
+ | Name | Type | Required | Description |
167
+ | :--- | :--- | :--- | :--- |
168
+ | `oldId` | `string` | Yes | Current id. |
169
+ | `newId` | `string` | No | New id. |
170
+
171
+ **Example**
172
+
173
+ ```ts
174
+ lf.changeEdgeId('oldId', 'newId');
175
+ ```
176
+
177
+ ### changeEdgeType
178
+
179
+ Swaps the registered edge type.
180
+
181
+ **Signature**
182
+
183
+ ```ts
184
+ changeEdgeType(edgeId: string, type: string): void
185
+ ```
186
+
187
+ **Parameters**
188
+
189
+ | Name | Type | Required | Description |
190
+ | :--- | :--- | :--- | :--- |
191
+ | `edgeId` | `string` | Yes | Edge id. |
192
+ | `type` | `string` | Yes | New type. |
193
+
194
+ **Example**
195
+
196
+ ```ts
197
+ lf.changeEdgeType('edgeId', 'bezier');
198
+ ```
199
+
200
+ ### deleteEdge
201
+
202
+ Deletes an edge by id.
203
+
204
+ **Signature**
205
+
206
+ ```ts
207
+ deleteEdge(id: string): void
208
+ ```
209
+
210
+ **Parameters**
211
+
212
+ | Name | Type | Required | Description |
213
+ | :--- | :--- | :--- | :--- |
214
+ | `id` | `string` | Yes | Edge id. |
215
+
216
+ **Example**
217
+
218
+ ```ts
219
+ lf.deleteEdge('edge_1');
220
+ ```
221
+
222
+ ### deleteEdgeByNodeId
223
+
224
+ Deletes edges matching endpoint filters.
225
+
226
+ **Signature**
227
+
228
+ ```ts
229
+ deleteEdgeByNodeId(config: EdgeFilter): void
230
+ ```
231
+
232
+ **Parameters**
233
+
234
+ | Name | Type | Required | Description |
235
+ | :--- | :--- | :--- | :--- |
236
+ | `config` | `EdgeFilter` | Yes | Endpoint filter (see [`EdgeConfig`](../type/MainTypes.en.md#edgeconfig) fields). |
237
+
238
+ **Example**
239
+
240
+ ```ts
241
+ lf.deleteEdgeByNodeId({
242
+ sourceNodeId: 'id1',
243
+ targetNodeId: 'id2',
244
+ });
245
+ ```
246
+
247
+ ### getNodeEdges
248
+
249
+ Lists all edge models attached to a node.
250
+
251
+ **Signature**
252
+
253
+ ```ts
254
+ getNodeEdges(id: string): BaseEdgeModel[]
255
+ ```
256
+
257
+ **Parameters**
258
+
259
+ | Name | Type | Required | Description |
260
+ | :--- | :--- | :--- | :--- |
261
+ | `id` | `string` | Yes | Node id. |
262
+
263
+ **Returns**
264
+
265
+ | Type | Description |
266
+ | :--- | :--- |
267
+ | `BaseEdgeModel[]` | Related edges. |
268
+
269
+ **Example**
270
+
271
+ ```ts
272
+ const edgeModels = lf.getNodeEdges('node_id');
273
+ ```
@@ -0,0 +1,273 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow 实例
5
+ order: 2
6
+ title: 边相关
7
+ toc: content
8
+ order: 3
9
+ ---
10
+
11
+ 本页汇总 LogicFlow 实例中与边的创建、查询、修改和删除相关的方法。
12
+
13
+ ### setDefaultEdgeType
14
+
15
+ 设置默认边类型(用于用户手动连线时的新边类型)。
16
+
17
+ **签名**
18
+
19
+ ```ts
20
+ setDefaultEdgeType(type: string): void
21
+ ```
22
+
23
+ **参数**
24
+
25
+ | 名称 | 类型 | 必传 | 说明 |
26
+ | :--- | :--- | :--- | :--- |
27
+ | `type` | `string` | 是 | 默认边类型,例如 `line` / `polyline` / `bezier`。 |
28
+
29
+ **示例**
30
+
31
+ ```ts
32
+ lf.setDefaultEdgeType('line');
33
+ ```
34
+
35
+ ### addEdge
36
+
37
+ 创建连接两个节点的边。
38
+
39
+ **签名**
40
+
41
+ ```ts
42
+ addEdge(edgeConfig: EdgeConfig): BaseEdgeModel
43
+ ```
44
+
45
+ **参数**
46
+
47
+ | 名称 | 类型 | 必传 | 说明 |
48
+ | :--- | :--- | :--- | :--- |
49
+ | `edgeConfig` | [`EdgeConfig`](../type/MainTypes.zh.md#edgeconfig边配置) | 是 | 边配置。 |
50
+
51
+ **返回值**
52
+
53
+ | 类型 | 说明 |
54
+ | :--- | :--- |
55
+ | `BaseEdgeModel` | 新增边的 model 实例。 |
56
+
57
+ **示例**
58
+
59
+ ```ts
60
+ lf.addEdge({
61
+ sourceNodeId: '10',
62
+ targetNodeId: '21',
63
+ text: '边文案',
64
+ });
65
+ ```
66
+
67
+ ### getEdgeDataById
68
+
69
+ 通过 ID 获取边的数据。
70
+
71
+ **签名**
72
+
73
+ ```ts
74
+ getEdgeDataById(edgeId: string): EdgeConfig | undefined
75
+ ```
76
+
77
+ **参数**
78
+
79
+ | 名称 | 类型 | 必传 | 说明 |
80
+ | :--- | :--- | :--- | :--- |
81
+ | `edgeId` | `string` | 是 | 边 ID。 |
82
+
83
+ **返回值**
84
+
85
+ | 类型 | 说明 |
86
+ | :--- | :--- |
87
+ | [`EdgeConfig`](../type/MainTypes.zh.md#edgeconfig边配置) \| `undefined` | 边数据;不存在时返回 `undefined`。 |
88
+
89
+ **示例**
90
+
91
+ ```ts
92
+ lf.getEdgeDataById('edge_1');
93
+ ```
94
+
95
+ ### getEdgeModelById
96
+
97
+ 通过 ID 获取边的 model。
98
+
99
+ **签名**
100
+
101
+ ```ts
102
+ getEdgeModelById(edgeId: string): BaseEdgeModel | undefined
103
+ ```
104
+
105
+ **参数**
106
+
107
+ | 名称 | 类型 | 必传 | 说明 |
108
+ | :--- | :--- | :--- | :--- |
109
+ | `edgeId` | `string` | 是 | 边 ID。 |
110
+
111
+ **返回值**
112
+
113
+ | 类型 | 说明 |
114
+ | :--- | :--- |
115
+ | `BaseEdgeModel \| undefined` | 边 model;不存在时返回 `undefined`。 |
116
+
117
+ **示例**
118
+
119
+ ```ts
120
+ lf.getEdgeModelById('edge_1');
121
+ ```
122
+
123
+ ### getEdgeModels
124
+
125
+ 按过滤条件获取边 model 列表。
126
+
127
+ **签名**
128
+
129
+ ```ts
130
+ getEdgeModels(edgeFilter: EdgeFilter): BaseEdgeModel[]
131
+ ```
132
+
133
+ **参数**
134
+
135
+ | 名称 | 类型 | 必传 | 说明 |
136
+ | :--- | :--- | :--- | :--- |
137
+ | `edgeFilter` | [`EdgeFilter`](../type/MainTypes.zh.md#edgeconfig边配置) | 是 | 边过滤条件。 |
138
+
139
+ **返回值**
140
+
141
+ | 类型 | 说明 |
142
+ | :--- | :--- |
143
+ | `BaseEdgeModel[]` | 满足条件的边 model 列表。 |
144
+
145
+ **示例**
146
+
147
+ ```ts
148
+ lf.getEdgeModels({
149
+ sourceNodeId: 'nodeA_id',
150
+ targetNodeId: 'nodeB_id',
151
+ });
152
+ ```
153
+
154
+ ### changeEdgeId
155
+
156
+ 修改边 ID;若不传新 ID,会自动生成一个唯一 ID。
157
+
158
+ **签名**
159
+
160
+ ```ts
161
+ changeEdgeId(oldId: string, newId?: string): void
162
+ ```
163
+
164
+ **参数**
165
+
166
+ | 名称 | 类型 | 必传 | 说明 |
167
+ | :--- | :--- | :--- | :--- |
168
+ | `oldId` | `string` | 是 | 当前边 ID。 |
169
+ | `newId` | `string` | 否 | 新边 ID。 |
170
+
171
+ **示例**
172
+
173
+ ```ts
174
+ lf.changeEdgeId('oldId', 'newId');
175
+ ```
176
+
177
+ ### changeEdgeType
178
+
179
+ 切换边类型。
180
+
181
+ **签名**
182
+
183
+ ```ts
184
+ changeEdgeType(edgeId: string, type: string): void
185
+ ```
186
+
187
+ **参数**
188
+
189
+ | 名称 | 类型 | 必传 | 说明 |
190
+ | :--- | :--- | :--- | :--- |
191
+ | `edgeId` | `string` | 是 | 边 ID。 |
192
+ | `type` | `string` | 是 | 新边类型。 |
193
+
194
+ **示例**
195
+
196
+ ```ts
197
+ lf.changeEdgeType('edgeId', 'bezier');
198
+ ```
199
+
200
+ ### deleteEdge
201
+
202
+ 按边 ID 删除边。
203
+
204
+ **签名**
205
+
206
+ ```ts
207
+ deleteEdge(id: string): void
208
+ ```
209
+
210
+ **参数**
211
+
212
+ | 名称 | 类型 | 必传 | 说明 |
213
+ | :--- | :--- | :--- | :--- |
214
+ | `id` | `string` | 是 | 边 ID。 |
215
+
216
+ **示例**
217
+
218
+ ```ts
219
+ lf.deleteEdge('edge_1');
220
+ ```
221
+
222
+ ### deleteEdgeByNodeId
223
+
224
+ 按起点/终点节点过滤删除边。
225
+
226
+ **签名**
227
+
228
+ ```ts
229
+ deleteEdgeByNodeId(config: EdgeFilter): void
230
+ ```
231
+
232
+ **参数**
233
+
234
+ | 名称 | 类型 | 必传 | 说明 |
235
+ | :--- | :--- | :--- | :--- |
236
+ | `config` | [`EdgeFilter`](../type/MainTypes.zh.md#edgeconfig边配置) | 是 | 起点/终点过滤条件。 |
237
+
238
+ **示例**
239
+
240
+ ```ts
241
+ lf.deleteEdgeByNodeId({
242
+ sourceNodeId: 'id1',
243
+ targetNodeId: 'id2',
244
+ });
245
+ ```
246
+
247
+ ### getNodeEdges
248
+
249
+ 获取节点关联的所有边 model。
250
+
251
+ **签名**
252
+
253
+ ```ts
254
+ getNodeEdges(id: string): BaseEdgeModel[]
255
+ ```
256
+
257
+ **参数**
258
+
259
+ | 名称 | 类型 | 必传 | 说明 |
260
+ | :--- | :--- | :--- | :--- |
261
+ | `id` | `string` | 是 | 节点 ID。 |
262
+
263
+ **返回值**
264
+
265
+ | 类型 | 说明 |
266
+ | :--- | :--- |
267
+ | `BaseEdgeModel[]` | 节点关联边的 model 列表。 |
268
+
269
+ **示例**
270
+
271
+ ```ts
272
+ const edgeModels = lf.getNodeEdges('node_id');
273
+ ```