@logicflow/core 2.0.0-beta.0 → 2.0.0-beta.10

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 (479) hide show
  1. package/.turbo/turbo-build$colon$dev.log +2 -2
  2. package/.turbo/turbo-build.log +16 -22
  3. package/__tests__/bugs/1545-spec.test.ts +19 -15
  4. package/__tests__/util/edge.test.ts +57 -57
  5. package/dist/index.min.js +32 -0
  6. package/dist/index.min.js.map +1 -0
  7. package/es/LogicFlow.d.ts +88 -40
  8. package/es/LogicFlow.js +38 -33
  9. package/es/LogicFlow.js.map +1 -1
  10. package/es/algorithm/edge.js.map +1 -1
  11. package/es/algorithm/index.d.ts +2 -0
  12. package/es/algorithm/index.js +2 -0
  13. package/es/algorithm/index.js.map +1 -1
  14. package/es/algorithm/outline.d.ts +1 -1
  15. package/es/common/drag.d.ts +51 -0
  16. package/es/common/drag.js +145 -0
  17. package/es/common/drag.js.map +1 -0
  18. package/es/common/history.d.ts +28 -0
  19. package/es/common/history.js +92 -0
  20. package/es/common/history.js.map +1 -0
  21. package/es/common/index.d.ts +5 -0
  22. package/es/common/index.js +6 -0
  23. package/es/common/index.js.map +1 -0
  24. package/es/common/keyboard.d.ts +34 -0
  25. package/es/common/keyboard.js +80 -0
  26. package/es/common/keyboard.js.map +1 -0
  27. package/es/common/matrix.d.ts +30 -0
  28. package/es/common/matrix.js +155 -0
  29. package/es/common/matrix.js.map +1 -0
  30. package/es/common/vector.d.ts +23 -0
  31. package/es/common/vector.js +97 -0
  32. package/es/common/vector.js.map +1 -0
  33. package/es/constant/index.d.ts +39 -2
  34. package/es/constant/index.js +41 -1
  35. package/es/constant/index.js.map +1 -1
  36. package/es/event/eventArgs.d.ts +103 -25
  37. package/es/event/eventEmitter.d.ts +2 -2
  38. package/es/event/eventEmitter.js +0 -1
  39. package/es/event/eventEmitter.js.map +1 -1
  40. package/es/index.d.ts +6 -1
  41. package/es/index.js +6 -1
  42. package/es/index.js.map +1 -1
  43. package/es/keyboard/index.d.ts +1 -0
  44. package/es/keyboard/index.js +1 -0
  45. package/es/keyboard/index.js.map +1 -1
  46. package/es/keyboard/shortcut.d.ts +8 -0
  47. package/es/keyboard/shortcut.js +70 -8
  48. package/es/keyboard/shortcut.js.map +1 -1
  49. package/es/model/BaseModel.d.ts +16 -7
  50. package/es/model/EditConfigModel.d.ts +97 -36
  51. package/es/model/EditConfigModel.js +169 -82
  52. package/es/model/EditConfigModel.js.map +1 -1
  53. package/es/model/GraphModel.d.ts +36 -14
  54. package/es/model/GraphModel.js +60 -10
  55. package/es/model/GraphModel.js.map +1 -1
  56. package/es/model/SnaplineModel.d.ts +2 -0
  57. package/es/model/TransformModel.js +1 -1
  58. package/es/model/TransformModel.js.map +1 -1
  59. package/es/model/edge/BaseEdgeModel.d.ts +21 -17
  60. package/es/model/edge/BaseEdgeModel.js +64 -42
  61. package/es/model/edge/BaseEdgeModel.js.map +1 -1
  62. package/es/model/edge/BezierEdgeModel.d.ts +5 -3
  63. package/es/model/edge/BezierEdgeModel.js +7 -3
  64. package/es/model/edge/BezierEdgeModel.js.map +1 -1
  65. package/es/model/edge/LineEdgeModel.d.ts +2 -0
  66. package/es/model/edge/LineEdgeModel.js +2 -1
  67. package/es/model/edge/LineEdgeModel.js.map +1 -1
  68. package/es/model/edge/PolylineEdgeModel.d.ts +5 -3
  69. package/es/model/edge/PolylineEdgeModel.js +22 -15
  70. package/es/model/edge/PolylineEdgeModel.js.map +1 -1
  71. package/es/model/node/BaseNodeModel.d.ts +42 -14
  72. package/es/model/node/BaseNodeModel.js +62 -48
  73. package/es/model/node/BaseNodeModel.js.map +1 -1
  74. package/es/model/node/CircleNodeModel.d.ts +4 -3
  75. package/es/model/node/CircleNodeModel.js +4 -7
  76. package/es/model/node/CircleNodeModel.js.map +1 -1
  77. package/es/model/node/DiamondNodeModel.d.ts +5 -4
  78. package/es/model/node/DiamondNodeModel.js +4 -6
  79. package/es/model/node/DiamondNodeModel.js.map +1 -1
  80. package/es/model/node/EllipseNodeModel.d.ts +5 -4
  81. package/es/model/node/EllipseNodeModel.js +4 -6
  82. package/es/model/node/EllipseNodeModel.js.map +1 -1
  83. package/es/model/node/HtmlNodeModel.d.ts +4 -5
  84. package/es/model/node/HtmlNodeModel.js +2 -12
  85. package/es/model/node/HtmlNodeModel.js.map +1 -1
  86. package/es/model/node/PolygonNodeModel.d.ts +5 -4
  87. package/es/model/node/PolygonNodeModel.js +4 -7
  88. package/es/model/node/PolygonNodeModel.js.map +1 -1
  89. package/es/model/node/RectNodeModel.d.ts +7 -5
  90. package/es/model/node/RectNodeModel.js +10 -7
  91. package/es/model/node/RectNodeModel.js.map +1 -1
  92. package/es/model/node/TextNodeModel.d.ts +17 -9
  93. package/es/model/node/TextNodeModel.js +2 -1
  94. package/es/model/node/TextNodeModel.js.map +1 -1
  95. package/es/options.d.ts +11 -14
  96. package/es/options.js +3 -42
  97. package/es/options.js.map +1 -1
  98. package/es/tool/MultipleSelectTool.d.ts +1 -1
  99. package/es/tool/MultipleSelectTool.js +5 -5
  100. package/es/tool/MultipleSelectTool.js.map +1 -1
  101. package/es/tool/TextEditTool.d.ts +3 -3
  102. package/es/tool/TextEditTool.js +2 -2
  103. package/es/tool/TextEditTool.js.map +1 -1
  104. package/es/tool/index.d.ts +24 -2
  105. package/es/tool/index.js +82 -2
  106. package/es/tool/index.js.map +1 -1
  107. package/es/util/drag.d.ts +5 -5
  108. package/es/util/drag.js +3 -1
  109. package/es/util/drag.js.map +1 -1
  110. package/es/util/edge.d.ts +9 -2
  111. package/es/util/edge.js +23 -12
  112. package/es/util/edge.js.map +1 -1
  113. package/es/util/index.d.ts +1 -0
  114. package/es/util/index.js +1 -0
  115. package/es/util/index.js.map +1 -1
  116. package/es/util/node.d.ts +8 -7
  117. package/es/util/node.js +26 -7
  118. package/es/util/node.js.map +1 -1
  119. package/es/util/resize.d.ts +32 -0
  120. package/es/util/resize.js +197 -0
  121. package/es/util/resize.js.map +1 -0
  122. package/es/view/Anchor.d.ts +6 -7
  123. package/es/view/Anchor.js +6 -3
  124. package/es/view/Anchor.js.map +1 -1
  125. package/es/view/Control.d.ts +1 -1
  126. package/es/view/Control.js +88 -39
  127. package/es/view/Control.js.map +1 -1
  128. package/es/view/Graph.d.ts +5 -1
  129. package/es/view/Graph.js +45 -5
  130. package/es/view/Graph.js.map +1 -1
  131. package/es/view/Rotate.js +2 -1
  132. package/es/view/Rotate.js.map +1 -1
  133. package/es/view/behavior/index.d.ts +2 -0
  134. package/es/view/behavior/index.js +3 -0
  135. package/es/view/behavior/index.js.map +1 -0
  136. package/es/view/behavior/snapline.d.ts +3 -0
  137. package/es/{tool → view/behavior}/snapline.js +0 -1
  138. package/es/view/behavior/snapline.js.map +1 -0
  139. package/es/view/edge/AdjustPoint.js +12 -23
  140. package/es/view/edge/AdjustPoint.js.map +1 -1
  141. package/es/view/edge/BaseEdge.d.ts +2 -2
  142. package/es/view/edge/BaseEdge.js +30 -22
  143. package/es/view/edge/BaseEdge.js.map +1 -1
  144. package/es/view/node/BaseNode.d.ts +4 -4
  145. package/es/view/node/BaseNode.js +33 -24
  146. package/es/view/node/BaseNode.js.map +1 -1
  147. package/es/view/node/CircleNode.d.ts +1 -1
  148. package/es/view/node/CircleNode.js.map +1 -1
  149. package/es/view/node/DiamondNode.d.ts +1 -1
  150. package/es/view/node/DiamondNode.js.map +1 -1
  151. package/es/view/node/EllipseNode.d.ts +1 -1
  152. package/es/view/node/EllipseNode.js.map +1 -1
  153. package/es/view/node/HtmlNode.d.ts +1 -1
  154. package/es/view/node/HtmlNode.js +2 -2
  155. package/es/view/node/HtmlNode.js.map +1 -1
  156. package/es/view/node/PolygonNode.d.ts +1 -1
  157. package/es/view/node/PolygonNode.js.map +1 -1
  158. package/es/view/node/RectNode.d.ts +1 -1
  159. package/es/view/node/RectNode.js.map +1 -1
  160. package/es/view/node/TextNode.d.ts +1 -1
  161. package/es/view/node/TextNode.js +1 -1
  162. package/es/view/node/TextNode.js.map +1 -1
  163. package/es/view/overlay/CanvasOverlay.js +5 -4
  164. package/es/view/overlay/CanvasOverlay.js.map +1 -1
  165. package/es/view/overlay/Grid.d.ts +35 -20
  166. package/es/view/overlay/Grid.js +35 -26
  167. package/es/view/overlay/Grid.js.map +1 -1
  168. package/es/view/overlay/ToolOverlay.d.ts +1 -1
  169. package/es/view/overlay/ToolOverlay.js +1 -1
  170. package/es/view/overlay/ToolOverlay.js.map +1 -1
  171. package/es/view/shape/Circle.d.ts +9 -1
  172. package/es/view/shape/Circle.js +5 -5
  173. package/es/view/shape/Circle.js.map +1 -1
  174. package/es/view/shape/Ellipse.d.ts +10 -1
  175. package/es/view/shape/Ellipse.js +5 -5
  176. package/es/view/shape/Ellipse.js.map +1 -1
  177. package/es/view/shape/Line.d.ts +14 -1
  178. package/es/view/shape/Line.js +5 -7
  179. package/es/view/shape/Line.js.map +1 -1
  180. package/es/view/shape/Path.d.ts +3 -2
  181. package/es/view/shape/Path.js +3 -3
  182. package/es/view/shape/Path.js.map +1 -1
  183. package/es/view/shape/Polygon.d.ts +5 -3
  184. package/es/view/shape/Polygon.js +6 -6
  185. package/es/view/shape/Polygon.js.map +1 -1
  186. package/es/view/shape/Polyline.d.ts +7 -1
  187. package/es/view/shape/Polyline.js +8 -6
  188. package/es/view/shape/Polyline.js.map +1 -1
  189. package/es/view/shape/Rect.d.ts +11 -13
  190. package/es/view/shape/Rect.js +6 -9
  191. package/es/view/shape/Rect.js.map +1 -1
  192. package/es/view/shape/Text.d.ts +19 -1
  193. package/es/view/shape/Text.js +28 -21
  194. package/es/view/shape/Text.js.map +1 -1
  195. package/es/view/text/BaseText.d.ts +12 -15
  196. package/es/view/text/BaseText.js +43 -29
  197. package/es/view/text/BaseText.js.map +1 -1
  198. package/es/view/text/LineText.d.ts +19 -7
  199. package/es/view/text/LineText.js +62 -54
  200. package/es/view/text/LineText.js.map +1 -1
  201. package/lib/LogicFlow.d.ts +88 -40
  202. package/lib/LogicFlow.js +40 -35
  203. package/lib/LogicFlow.js.map +1 -1
  204. package/lib/algorithm/edge.js.map +1 -1
  205. package/lib/algorithm/index.d.ts +2 -0
  206. package/lib/algorithm/index.js +17 -1
  207. package/lib/algorithm/index.js.map +1 -1
  208. package/lib/algorithm/outline.d.ts +1 -1
  209. package/lib/common/drag.d.ts +51 -0
  210. package/lib/common/drag.js +148 -0
  211. package/lib/common/drag.js.map +1 -0
  212. package/lib/common/history.d.ts +28 -0
  213. package/lib/common/history.js +95 -0
  214. package/lib/common/history.js.map +1 -0
  215. package/lib/common/index.d.ts +5 -0
  216. package/lib/common/index.js +22 -0
  217. package/lib/common/index.js.map +1 -0
  218. package/lib/common/keyboard.d.ts +34 -0
  219. package/lib/common/keyboard.js +86 -0
  220. package/lib/common/keyboard.js.map +1 -0
  221. package/lib/common/matrix.d.ts +30 -0
  222. package/lib/common/matrix.js +158 -0
  223. package/lib/common/matrix.js.map +1 -0
  224. package/lib/common/vector.d.ts +23 -0
  225. package/lib/common/vector.js +101 -0
  226. package/lib/common/vector.js.map +1 -0
  227. package/lib/constant/index.d.ts +39 -2
  228. package/lib/constant/index.js +42 -2
  229. package/lib/constant/index.js.map +1 -1
  230. package/lib/event/eventArgs.d.ts +103 -25
  231. package/lib/event/eventEmitter.d.ts +2 -2
  232. package/lib/event/eventEmitter.js +0 -1
  233. package/lib/event/eventEmitter.js.map +1 -1
  234. package/lib/index.d.ts +6 -1
  235. package/lib/index.js +7 -2
  236. package/lib/index.js.map +1 -1
  237. package/lib/keyboard/index.d.ts +1 -0
  238. package/lib/keyboard/index.js +15 -0
  239. package/lib/keyboard/index.js.map +1 -1
  240. package/lib/keyboard/shortcut.d.ts +8 -0
  241. package/lib/keyboard/shortcut.js +75 -9
  242. package/lib/keyboard/shortcut.js.map +1 -1
  243. package/lib/model/BaseModel.d.ts +16 -7
  244. package/lib/model/EditConfigModel.d.ts +97 -36
  245. package/lib/model/EditConfigModel.js +168 -81
  246. package/lib/model/EditConfigModel.js.map +1 -1
  247. package/lib/model/GraphModel.d.ts +36 -14
  248. package/lib/model/GraphModel.js +59 -9
  249. package/lib/model/GraphModel.js.map +1 -1
  250. package/lib/model/SnaplineModel.d.ts +2 -0
  251. package/lib/model/TransformModel.js +1 -1
  252. package/lib/model/TransformModel.js.map +1 -1
  253. package/lib/model/edge/BaseEdgeModel.d.ts +21 -17
  254. package/lib/model/edge/BaseEdgeModel.js +61 -39
  255. package/lib/model/edge/BaseEdgeModel.js.map +1 -1
  256. package/lib/model/edge/BezierEdgeModel.d.ts +5 -3
  257. package/lib/model/edge/BezierEdgeModel.js +6 -2
  258. package/lib/model/edge/BezierEdgeModel.js.map +1 -1
  259. package/lib/model/edge/LineEdgeModel.d.ts +2 -0
  260. package/lib/model/edge/LineEdgeModel.js +2 -1
  261. package/lib/model/edge/LineEdgeModel.js.map +1 -1
  262. package/lib/model/edge/PolylineEdgeModel.d.ts +5 -3
  263. package/lib/model/edge/PolylineEdgeModel.js +21 -14
  264. package/lib/model/edge/PolylineEdgeModel.js.map +1 -1
  265. package/lib/model/node/BaseNodeModel.d.ts +42 -14
  266. package/lib/model/node/BaseNodeModel.js +60 -46
  267. package/lib/model/node/BaseNodeModel.js.map +1 -1
  268. package/lib/model/node/CircleNodeModel.d.ts +4 -3
  269. package/lib/model/node/CircleNodeModel.js +4 -7
  270. package/lib/model/node/CircleNodeModel.js.map +1 -1
  271. package/lib/model/node/DiamondNodeModel.d.ts +5 -4
  272. package/lib/model/node/DiamondNodeModel.js +4 -6
  273. package/lib/model/node/DiamondNodeModel.js.map +1 -1
  274. package/lib/model/node/EllipseNodeModel.d.ts +5 -4
  275. package/lib/model/node/EllipseNodeModel.js +4 -6
  276. package/lib/model/node/EllipseNodeModel.js.map +1 -1
  277. package/lib/model/node/HtmlNodeModel.d.ts +4 -5
  278. package/lib/model/node/HtmlNodeModel.js +2 -12
  279. package/lib/model/node/HtmlNodeModel.js.map +1 -1
  280. package/lib/model/node/PolygonNodeModel.d.ts +5 -4
  281. package/lib/model/node/PolygonNodeModel.js +4 -7
  282. package/lib/model/node/PolygonNodeModel.js.map +1 -1
  283. package/lib/model/node/RectNodeModel.d.ts +7 -5
  284. package/lib/model/node/RectNodeModel.js +10 -7
  285. package/lib/model/node/RectNodeModel.js.map +1 -1
  286. package/lib/model/node/TextNodeModel.d.ts +17 -9
  287. package/lib/model/node/TextNodeModel.js +2 -1
  288. package/lib/model/node/TextNodeModel.js.map +1 -1
  289. package/lib/options.d.ts +11 -14
  290. package/lib/options.js +3 -42
  291. package/lib/options.js.map +1 -1
  292. package/lib/tool/MultipleSelectTool.d.ts +1 -1
  293. package/lib/tool/MultipleSelectTool.js +5 -5
  294. package/lib/tool/MultipleSelectTool.js.map +1 -1
  295. package/lib/tool/TextEditTool.d.ts +3 -3
  296. package/lib/tool/TextEditTool.js +4 -4
  297. package/lib/tool/TextEditTool.js.map +1 -1
  298. package/lib/tool/index.d.ts +24 -2
  299. package/lib/tool/index.js +85 -15
  300. package/lib/tool/index.js.map +1 -1
  301. package/lib/util/drag.d.ts +5 -5
  302. package/lib/util/drag.js +3 -1
  303. package/lib/util/drag.js.map +1 -1
  304. package/lib/util/edge.d.ts +9 -2
  305. package/lib/util/edge.js +27 -15
  306. package/lib/util/edge.js.map +1 -1
  307. package/lib/util/index.d.ts +1 -0
  308. package/lib/util/index.js +1 -0
  309. package/lib/util/index.js.map +1 -1
  310. package/lib/util/node.d.ts +8 -7
  311. package/lib/util/node.js +28 -9
  312. package/lib/util/node.js.map +1 -1
  313. package/lib/util/resize.d.ts +32 -0
  314. package/lib/util/resize.js +204 -0
  315. package/lib/util/resize.js.map +1 -0
  316. package/lib/view/Anchor.d.ts +6 -7
  317. package/lib/view/Anchor.js +5 -2
  318. package/lib/view/Anchor.js.map +1 -1
  319. package/lib/view/Control.d.ts +1 -1
  320. package/lib/view/Control.js +87 -38
  321. package/lib/view/Control.js.map +1 -1
  322. package/lib/view/Graph.d.ts +5 -1
  323. package/lib/view/Graph.js +44 -4
  324. package/lib/view/Graph.js.map +1 -1
  325. package/lib/view/Rotate.js +2 -1
  326. package/lib/view/Rotate.js.map +1 -1
  327. package/lib/view/behavior/index.d.ts +2 -0
  328. package/lib/view/behavior/index.js +19 -0
  329. package/lib/view/behavior/index.js.map +1 -0
  330. package/lib/view/behavior/snapline.d.ts +3 -0
  331. package/lib/{tool → view/behavior}/snapline.js +0 -1
  332. package/lib/view/behavior/snapline.js.map +1 -0
  333. package/lib/view/edge/AdjustPoint.js +11 -22
  334. package/lib/view/edge/AdjustPoint.js.map +1 -1
  335. package/lib/view/edge/BaseEdge.d.ts +2 -2
  336. package/lib/view/edge/BaseEdge.js +29 -21
  337. package/lib/view/edge/BaseEdge.js.map +1 -1
  338. package/lib/view/node/BaseNode.d.ts +4 -4
  339. package/lib/view/node/BaseNode.js +32 -23
  340. package/lib/view/node/BaseNode.js.map +1 -1
  341. package/lib/view/node/CircleNode.d.ts +1 -1
  342. package/lib/view/node/CircleNode.js.map +1 -1
  343. package/lib/view/node/DiamondNode.d.ts +1 -1
  344. package/lib/view/node/DiamondNode.js.map +1 -1
  345. package/lib/view/node/EllipseNode.d.ts +1 -1
  346. package/lib/view/node/EllipseNode.js.map +1 -1
  347. package/lib/view/node/HtmlNode.d.ts +1 -1
  348. package/lib/view/node/HtmlNode.js +2 -2
  349. package/lib/view/node/HtmlNode.js.map +1 -1
  350. package/lib/view/node/PolygonNode.d.ts +1 -1
  351. package/lib/view/node/PolygonNode.js.map +1 -1
  352. package/lib/view/node/RectNode.d.ts +1 -1
  353. package/lib/view/node/RectNode.js.map +1 -1
  354. package/lib/view/node/TextNode.d.ts +1 -1
  355. package/lib/view/node/TextNode.js +1 -1
  356. package/lib/view/node/TextNode.js.map +1 -1
  357. package/lib/view/overlay/CanvasOverlay.js +5 -4
  358. package/lib/view/overlay/CanvasOverlay.js.map +1 -1
  359. package/lib/view/overlay/Grid.d.ts +35 -20
  360. package/lib/view/overlay/Grid.js +35 -26
  361. package/lib/view/overlay/Grid.js.map +1 -1
  362. package/lib/view/overlay/ToolOverlay.d.ts +1 -1
  363. package/lib/view/overlay/ToolOverlay.js +1 -1
  364. package/lib/view/overlay/ToolOverlay.js.map +1 -1
  365. package/lib/view/shape/Circle.d.ts +9 -1
  366. package/lib/view/shape/Circle.js +5 -5
  367. package/lib/view/shape/Circle.js.map +1 -1
  368. package/lib/view/shape/Ellipse.d.ts +10 -1
  369. package/lib/view/shape/Ellipse.js +5 -5
  370. package/lib/view/shape/Ellipse.js.map +1 -1
  371. package/lib/view/shape/Line.d.ts +14 -1
  372. package/lib/view/shape/Line.js +5 -7
  373. package/lib/view/shape/Line.js.map +1 -1
  374. package/lib/view/shape/Path.d.ts +3 -2
  375. package/lib/view/shape/Path.js +3 -3
  376. package/lib/view/shape/Path.js.map +1 -1
  377. package/lib/view/shape/Polygon.d.ts +5 -3
  378. package/lib/view/shape/Polygon.js +6 -6
  379. package/lib/view/shape/Polygon.js.map +1 -1
  380. package/lib/view/shape/Polyline.d.ts +7 -1
  381. package/lib/view/shape/Polyline.js +8 -6
  382. package/lib/view/shape/Polyline.js.map +1 -1
  383. package/lib/view/shape/Rect.d.ts +11 -13
  384. package/lib/view/shape/Rect.js +6 -9
  385. package/lib/view/shape/Rect.js.map +1 -1
  386. package/lib/view/shape/Text.d.ts +19 -1
  387. package/lib/view/shape/Text.js +29 -21
  388. package/lib/view/shape/Text.js.map +1 -1
  389. package/lib/view/text/BaseText.d.ts +12 -15
  390. package/lib/view/text/BaseText.js +46 -29
  391. package/lib/view/text/BaseText.js.map +1 -1
  392. package/lib/view/text/LineText.d.ts +19 -7
  393. package/lib/view/text/LineText.js +62 -57
  394. package/lib/view/text/LineText.js.map +1 -1
  395. package/package.json +5 -4
  396. package/src/LogicFlow.tsx +163 -79
  397. package/src/algorithm/edge.ts +1 -0
  398. package/src/algorithm/index.ts +2 -0
  399. package/src/algorithm/outline.ts +2 -2
  400. package/src/common/drag.ts +219 -0
  401. package/src/common/history.ts +108 -0
  402. package/src/common/index.ts +6 -0
  403. package/src/common/keyboard.ts +108 -0
  404. package/src/common/matrix.ts +122 -0
  405. package/src/common/vector.ts +93 -0
  406. package/src/constant/index.ts +43 -1
  407. package/src/event/eventArgs.ts +173 -34
  408. package/src/event/eventEmitter.ts +2 -3
  409. package/src/index.ts +6 -1
  410. package/src/keyboard/index.ts +2 -0
  411. package/src/keyboard/shortcut.ts +79 -8
  412. package/src/model/BaseModel.ts +18 -7
  413. package/src/model/EditConfigModel.ts +209 -97
  414. package/src/model/GraphModel.ts +64 -9
  415. package/src/model/TransformModel.ts +1 -1
  416. package/src/model/edge/BaseEdgeModel.ts +105 -42
  417. package/src/model/edge/BezierEdgeModel.ts +7 -6
  418. package/src/model/edge/LineEdgeModel.ts +2 -0
  419. package/src/model/edge/PolylineEdgeModel.ts +24 -18
  420. package/src/model/node/BaseNodeModel.ts +72 -47
  421. package/src/model/node/CircleNodeModel.ts +8 -7
  422. package/src/model/node/DiamondNodeModel.ts +9 -6
  423. package/src/model/node/EllipseNodeModel.ts +9 -6
  424. package/src/model/node/HtmlNodeModel.ts +8 -7
  425. package/src/model/node/PolygonNodeModel.ts +9 -7
  426. package/src/model/node/RectNodeModel.ts +16 -8
  427. package/src/model/node/TextNodeModel.ts +14 -1
  428. package/src/options.ts +18 -53
  429. package/src/tool/MultipleSelectTool.tsx +6 -6
  430. package/src/tool/TextEditTool.tsx +3 -3
  431. package/src/tool/index.ts +96 -2
  432. package/src/util/drag.ts +22 -6
  433. package/src/util/edge.ts +39 -13
  434. package/src/util/index.ts +1 -0
  435. package/src/util/node.ts +36 -13
  436. package/src/util/resize.ts +286 -0
  437. package/src/view/Anchor.tsx +7 -5
  438. package/src/view/Control.tsx +93 -62
  439. package/src/view/Graph.tsx +23 -6
  440. package/src/view/Rotate.tsx +2 -1
  441. package/src/view/behavior/index.ts +2 -0
  442. package/src/{tool → view/behavior}/snapline.ts +3 -4
  443. package/src/view/edge/AdjustPoint.tsx +35 -49
  444. package/src/view/edge/BaseEdge.tsx +65 -45
  445. package/src/view/node/BaseNode.tsx +55 -28
  446. package/src/view/node/CircleNode.tsx +3 -1
  447. package/src/view/node/DiamondNode.tsx +3 -1
  448. package/src/view/node/EllipseNode.tsx +3 -1
  449. package/src/view/node/HtmlNode.tsx +5 -3
  450. package/src/view/node/PolygonNode.tsx +3 -1
  451. package/src/view/node/RectNode.tsx +3 -1
  452. package/src/view/node/TextNode.tsx +4 -2
  453. package/src/view/overlay/CanvasOverlay.tsx +5 -4
  454. package/src/view/overlay/Grid.tsx +75 -53
  455. package/src/view/overlay/ToolOverlay.tsx +1 -1
  456. package/src/view/shape/Circle.tsx +21 -7
  457. package/src/view/shape/Ellipse.tsx +20 -6
  458. package/src/view/shape/Line.tsx +24 -9
  459. package/src/view/shape/Path.tsx +9 -6
  460. package/src/view/shape/Polygon.tsx +13 -10
  461. package/src/view/shape/Polyline.tsx +20 -8
  462. package/src/view/shape/Rect.tsx +19 -19
  463. package/src/view/shape/Text.tsx +64 -33
  464. package/src/view/text/BaseText.tsx +76 -42
  465. package/src/view/text/LineText.tsx +94 -80
  466. package/tsconfig.json +1 -1
  467. package/dist/index.js +0 -26
  468. package/dist/index.js.map +0 -1
  469. package/es/tool/snapline.d.ts +0 -3
  470. package/es/tool/snapline.js.map +0 -1
  471. package/es/tool/tool.d.ts +0 -22
  472. package/es/tool/tool.js +0 -43
  473. package/es/tool/tool.js.map +0 -1
  474. package/lib/tool/snapline.d.ts +0 -3
  475. package/lib/tool/snapline.js.map +0 -1
  476. package/lib/tool/tool.d.ts +0 -22
  477. package/lib/tool/tool.js +0 -49
  478. package/lib/tool/tool.js.map +0 -1
  479. package/src/tool/tool.ts +0 -66
@@ -8,11 +8,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.EditConfigModel = void 0;
10
10
  var lodash_es_1 = require("lodash-es");
11
- var mobx_1 = require("../util/mobx");
12
- var SilentConfig = {
11
+ var mobx_1 = require("mobx");
12
+ var constant_1 = require("../constant");
13
+ var silentModeConfig = {
14
+ // SilentMode 下允许用户操作画布
13
15
  stopZoomGraph: false,
14
16
  stopScrollGraph: false,
15
17
  stopMoveGraph: false,
18
+ // 节点 & 边相关配置
16
19
  adjustEdge: false,
17
20
  adjustEdgeStartAndEnd: false,
18
21
  adjustNodePosition: false,
@@ -20,113 +23,161 @@ var SilentConfig = {
20
23
  allowRotate: false,
21
24
  allowResize: false,
22
25
  nodeSelectedOutline: true,
26
+ // 文本相关配置
27
+ textEdit: false,
23
28
  nodeTextEdit: false,
24
29
  edgeTextEdit: false,
30
+ textDraggable: false,
25
31
  nodeTextDraggable: false,
26
32
  edgeTextDraggable: false,
27
33
  };
28
- var keys = [
29
- 'isSilentMode',
30
- 'stopZoomGraph',
31
- 'stopScrollGraph',
32
- 'stopMoveGraph',
33
- 'adjustEdge',
34
- 'adjustEdgeMiddle',
35
- 'adjustEdgeStartAndEnd',
36
- 'adjustNodePosition',
37
- 'hideAnchors',
38
- 'allowRotate',
39
- 'allowResize',
40
- 'hoverOutline',
41
- 'nodeSelectedOutline',
42
- 'edgeSelectedOutline',
43
- 'nodeTextEdit',
44
- 'edgeTextEdit',
45
- 'nodeTextDraggable',
46
- 'edgeTextDraggable',
47
- 'multipleSelectKey',
48
- 'autoExpand',
34
+ var allKeys = [
35
+ 'isSilentMode', // 是否为静默模式
36
+ 'stopZoomGraph', // 禁止缩放画布
37
+ 'stopScrollGraph', // 禁止鼠标滚动移动画布
38
+ 'stopMoveGraph', // 禁止拖动画布
39
+ 'adjustEdge', // 允许调整边
40
+ 'adjustEdgeMiddle', // 允许调整边中点
41
+ 'adjustEdgeStartAndEnd', // 允许调整边起点和终点
42
+ 'adjustEdgeStart', // 允许调整边起点
43
+ 'adjustEdgeEnd', // 允许调整边终点
44
+ 'adjustNodePosition', // 允许拖动节点
45
+ 'hideAnchors', // 隐藏节点所有锚点
46
+ 'allowRotate', // 是否允许节点旋转
47
+ 'allowResize', // 是否允许节点缩放
48
+ 'autoExpand', // 是否自动展开
49
+ 'hoverOutline', // 显示节点悬浮时的外框
50
+ 'nodeSelectedOutline', // 节点被选中时是否显示 outline
51
+ 'edgeSelectedOutline', // 边被选中时是否显示 outline
52
+ 'textEdit', // 是否允许文本可编辑(全局)
53
+ 'nodeTextEdit', // 允许节点文本可以编辑
54
+ 'edgeTextEdit', // 允许边文本可以编辑
55
+ 'textDraggable', // 是否允许文本可拖拽(全局)
56
+ 'nodeTextDraggable', // 允许节点文本可以拖拽
57
+ 'edgeTextDraggable', // 允许边文本可以拖拽
58
+ 'multipleSelectKey', // 多选按键
59
+ // 2.0.0 新增配置
60
+ 'textMode', // 文本模式(全局)
61
+ 'nodeTextMode', // 节点文本模式
62
+ 'edgeTextMode', // 边文本模式
63
+ 'nodeTextMultiple', // 是否支持多个节点文本
64
+ 'edgeTextMultiple', // 是否支持多个边文本
65
+ 'nodeTextVertical', // 节点文本是否纵向显示
66
+ 'edgeTextVertical', // 边文本是否纵向显示
49
67
  ];
50
68
  /**
51
69
  * 页面编辑配置
52
70
  */
53
71
  var EditConfigModel = /** @class */ (function () {
54
72
  function EditConfigModel(config) {
73
+ /*********************************************************
74
+ * 画布相关配置
75
+ ********************************************************/
55
76
  this.isSilentMode = false;
56
77
  this.stopZoomGraph = false;
57
- this.stopScrollGraph = false;
58
78
  this.stopMoveGraph = false;
59
- this.adjustEdge = true;
60
- this.adjustEdgeMiddle = false;
61
- this.adjustEdgeStartAndEnd = false;
62
- this.adjustNodePosition = true;
79
+ this.stopScrollGraph = false;
80
+ /*********************************************************
81
+ * 文本相关配置(全局)
82
+ ********************************************************/
83
+ this.textMode = constant_1.TextMode.TEXT; // 全局的 textMode 设置
84
+ this.textEdit = true;
85
+ this.textDraggable = false;
86
+ // 节点
87
+ this.nodeTextEdit = true;
88
+ this.nodeTextDraggable = false;
89
+ this.nodeTextMultiple = false; // 是否支持多个节点文本
90
+ this.nodeTextVertical = false; // 节点文本朝向是否是纵向
91
+ this.nodeTextMode = constant_1.TextMode.TEXT; // 节点文本模式
92
+ // 边
93
+ this.edgeTextMode = constant_1.TextMode.TEXT; // 边文本模式
94
+ this.edgeTextEdit = true;
95
+ this.edgeTextDraggable = false;
96
+ this.edgeTextMultiple = false; // 是否支持多个边文本
97
+ this.edgeTextVertical = false; // 边文本朝向是否是纵向
98
+ /*********************************************************
99
+ * 节点相关配置
100
+ ********************************************************/
63
101
  this.hideAnchors = false;
64
102
  this.allowRotate = false;
65
103
  this.allowResize = false;
66
104
  this.hoverOutline = true;
67
105
  this.nodeSelectedOutline = true;
68
- this.edgeSelectedOutline = true;
69
- this.nodeTextEdit = true;
70
- this.edgeTextEdit = true;
71
- this.nodeTextDraggable = false;
72
- this.edgeTextDraggable = false;
106
+ this.adjustNodePosition = true;
73
107
  this.autoExpand = false;
108
+ /*********************************************************
109
+ * 边相关配置
110
+ ********************************************************/
111
+ this.adjustEdge = true;
112
+ this.adjustEdgeMiddle = false;
113
+ this.adjustEdgeStartAndEnd = false;
114
+ this.adjustEdgeStart = false;
115
+ this.adjustEdgeEnd = false;
116
+ this.edgeSelectedOutline = true;
117
+ /*********************************************************
118
+ * 其他
119
+ ********************************************************/
74
120
  this.multipleSelectKey = '';
75
- this.defaultConfig = {}; // 设置为静默模式之前的配置,在取消静默模式后恢复
76
- (0, lodash_es_1.assign)(this, this.getConfigDetail(config));
121
+ (0, lodash_es_1.assign)(this, this.computeConfig(config));
77
122
  }
78
123
  EditConfigModel.prototype.updateEditConfig = function (config) {
79
- var newConfig = this.getConfigDetail(config);
124
+ var newConfig = this.computeConfig(config);
80
125
  (0, lodash_es_1.assign)(this, newConfig);
81
126
  };
82
- EditConfigModel.prototype.getConfigDetail = function (config) {
83
- var isSilentMode = config.isSilentMode, textEdit = config.textEdit;
127
+ // TODO: 确认一下这个函数的逻辑,是否会有误合并的问题
128
+ EditConfigModel.prototype.computeConfig = function (config) {
129
+ var isSilentMode = config.isSilentMode, textDraggable = config.textDraggable, textMode = config.textMode, textEdit = config.textEdit, adjustEdgeStartAndEnd = config.adjustEdgeStartAndEnd;
84
130
  var conf = {};
85
- // false表示从静默模式恢复
131
+ // false 表示从静默模式恢复
86
132
  if (isSilentMode === false) {
87
- (0, lodash_es_1.assign)(conf, this.defaultConfig);
133
+ (0, lodash_es_1.assign)(conf, this.stagedConfig);
88
134
  }
89
- // 如果不传,默认undefined表示非静默模式
135
+ // 如果不传,默认 undefined 表示非静默模式
90
136
  if (isSilentMode === true && isSilentMode !== this.isSilentMode) {
91
137
  // https://github.com/didi/LogicFlow/issues/1180
92
- // 如果重复调用isSilentMode=true多次,会导致this.defaultConfig状态保存错误:保存为修改之后的Config
93
- // 因此需要阻止重复赋值为true,使用config.isSilentMode !== this.isSilentMode
94
- var silentConfig = (0, lodash_es_1.pick)(SilentConfig, keys);
95
- // 在修改之前,
96
- this.defaultConfig = {
97
- stopZoomGraph: this.stopZoomGraph,
98
- stopScrollGraph: this.stopScrollGraph,
99
- stopMoveGraph: this.stopMoveGraph,
100
- adjustEdge: this.adjustEdge,
101
- adjustEdgeMiddle: this.adjustEdgeMiddle,
102
- adjustEdgeStartAndEnd: this.adjustEdgeStartAndEnd,
103
- adjustNodePosition: this.adjustNodePosition,
104
- hideAnchors: this.hideAnchors,
105
- allowRotate: this.allowRotate,
106
- allowResize: this.allowResize,
107
- hoverOutline: this.hoverOutline,
108
- nodeSelectedOutline: this.nodeSelectedOutline,
109
- edgeSelectedOutline: this.edgeSelectedOutline,
110
- nodeTextEdit: this.nodeTextEdit,
111
- edgeTextEdit: this.edgeTextEdit,
112
- nodeTextDraggable: this.nodeTextDraggable,
113
- edgeTextDraggable: this.edgeTextDraggable,
114
- autoExpand: this.autoExpand,
115
- };
138
+ // 如果重复调用 isSilentMode=true 多次,会导致 this.stagedConfig 状态保存错误:保存为修改之后的 Config
139
+ // 因此需要阻止重复赋值为 true,使用 config.isSilentMode !== this.isSilentMode
140
+ var silentConfig = (0, lodash_es_1.pick)(silentModeConfig, allKeys);
141
+ // 暂存修改之前的所有配置项
142
+ this.stagedConfig = (0, lodash_es_1.pick)(this, allKeys);
116
143
  (0, lodash_es_1.assign)(conf, silentConfig);
117
144
  }
118
145
  // 如果不传,默认undefined表示允许文本编辑
119
- if (textEdit === false) {
146
+ if (!(0, lodash_es_1.isUndefined)(textEdit)) {
147
+ (0, lodash_es_1.assign)(conf, {
148
+ nodeTextEdit: textEdit,
149
+ edgeTextEdit: textEdit,
150
+ });
151
+ }
152
+ if (!(0, lodash_es_1.isUndefined)(textDraggable)) {
153
+ (0, lodash_es_1.assign)(conf, {
154
+ nodeTextDraggable: textDraggable,
155
+ edgeTextDraggable: textDraggable,
156
+ });
157
+ }
158
+ if (textMode) {
159
+ (0, lodash_es_1.assign)(conf, {
160
+ nodeTextMode: textMode,
161
+ edgeTextMode: textMode,
162
+ });
163
+ }
164
+ if ((0, lodash_es_1.isBoolean)(adjustEdgeStartAndEnd)) {
120
165
  (0, lodash_es_1.assign)(conf, {
121
- nodeTextEdit: false,
122
- edgeTextEdit: false,
166
+ adjustEdgeStart: adjustEdgeStartAndEnd,
167
+ adjustEdgeEnd: adjustEdgeStartAndEnd,
123
168
  });
124
169
  }
125
- var userConfig = (0, lodash_es_1.pick)(config, keys);
170
+ var userConfig = (0, lodash_es_1.pick)(config, allKeys);
126
171
  return (0, lodash_es_1.assign)(conf, userConfig);
127
172
  };
173
+ EditConfigModel.prototype.updateTextMode = function (textMode) {
174
+ // 如果更新全局 textMode,同时更新节点和边的 textMode
175
+ this.textMode = textMode;
176
+ this.edgeTextMode = textMode;
177
+ this.nodeTextMode = textMode;
178
+ };
128
179
  EditConfigModel.prototype.getConfig = function () {
129
- return (0, lodash_es_1.pick)(this, keys);
180
+ return (0, lodash_es_1.pick)(this, allKeys);
130
181
  };
131
182
  __decorate([
132
183
  mobx_1.observable
@@ -134,24 +185,51 @@ var EditConfigModel = /** @class */ (function () {
134
185
  __decorate([
135
186
  mobx_1.observable
136
187
  ], EditConfigModel.prototype, "stopZoomGraph", void 0);
188
+ __decorate([
189
+ mobx_1.observable
190
+ ], EditConfigModel.prototype, "stopMoveGraph", void 0);
137
191
  __decorate([
138
192
  mobx_1.observable
139
193
  ], EditConfigModel.prototype, "stopScrollGraph", void 0);
140
194
  __decorate([
141
195
  mobx_1.observable
142
- ], EditConfigModel.prototype, "stopMoveGraph", void 0);
196
+ ], EditConfigModel.prototype, "textMode", void 0);
143
197
  __decorate([
144
198
  mobx_1.observable
145
- ], EditConfigModel.prototype, "adjustEdge", void 0);
199
+ ], EditConfigModel.prototype, "textEdit", void 0);
146
200
  __decorate([
147
201
  mobx_1.observable
148
- ], EditConfigModel.prototype, "adjustEdgeMiddle", void 0);
202
+ ], EditConfigModel.prototype, "textDraggable", void 0);
149
203
  __decorate([
150
204
  mobx_1.observable
151
- ], EditConfigModel.prototype, "adjustEdgeStartAndEnd", void 0);
205
+ ], EditConfigModel.prototype, "nodeTextEdit", void 0);
152
206
  __decorate([
153
207
  mobx_1.observable
154
- ], EditConfigModel.prototype, "adjustNodePosition", void 0);
208
+ ], EditConfigModel.prototype, "nodeTextDraggable", void 0);
209
+ __decorate([
210
+ mobx_1.observable
211
+ ], EditConfigModel.prototype, "nodeTextMultiple", void 0);
212
+ __decorate([
213
+ mobx_1.observable
214
+ ], EditConfigModel.prototype, "nodeTextVertical", void 0);
215
+ __decorate([
216
+ mobx_1.observable
217
+ ], EditConfigModel.prototype, "nodeTextMode", void 0);
218
+ __decorate([
219
+ mobx_1.observable
220
+ ], EditConfigModel.prototype, "edgeTextMode", void 0);
221
+ __decorate([
222
+ mobx_1.observable
223
+ ], EditConfigModel.prototype, "edgeTextEdit", void 0);
224
+ __decorate([
225
+ mobx_1.observable
226
+ ], EditConfigModel.prototype, "edgeTextDraggable", void 0);
227
+ __decorate([
228
+ mobx_1.observable
229
+ ], EditConfigModel.prototype, "edgeTextMultiple", void 0);
230
+ __decorate([
231
+ mobx_1.observable
232
+ ], EditConfigModel.prototype, "edgeTextVertical", void 0);
155
233
  __decorate([
156
234
  mobx_1.observable
157
235
  ], EditConfigModel.prototype, "hideAnchors", void 0);
@@ -169,25 +247,34 @@ var EditConfigModel = /** @class */ (function () {
169
247
  ], EditConfigModel.prototype, "nodeSelectedOutline", void 0);
170
248
  __decorate([
171
249
  mobx_1.observable
172
- ], EditConfigModel.prototype, "edgeSelectedOutline", void 0);
250
+ ], EditConfigModel.prototype, "adjustNodePosition", void 0);
173
251
  __decorate([
174
252
  mobx_1.observable
175
- ], EditConfigModel.prototype, "nodeTextEdit", void 0);
253
+ ], EditConfigModel.prototype, "autoExpand", void 0);
176
254
  __decorate([
177
255
  mobx_1.observable
178
- ], EditConfigModel.prototype, "edgeTextEdit", void 0);
256
+ ], EditConfigModel.prototype, "adjustEdge", void 0);
179
257
  __decorate([
180
258
  mobx_1.observable
181
- ], EditConfigModel.prototype, "nodeTextDraggable", void 0);
259
+ ], EditConfigModel.prototype, "adjustEdgeMiddle", void 0);
182
260
  __decorate([
183
261
  mobx_1.observable
184
- ], EditConfigModel.prototype, "edgeTextDraggable", void 0);
262
+ ], EditConfigModel.prototype, "adjustEdgeStartAndEnd", void 0);
185
263
  __decorate([
186
264
  mobx_1.observable
187
- ], EditConfigModel.prototype, "autoExpand", void 0);
265
+ ], EditConfigModel.prototype, "adjustEdgeStart", void 0);
266
+ __decorate([
267
+ mobx_1.observable
268
+ ], EditConfigModel.prototype, "adjustEdgeEnd", void 0);
269
+ __decorate([
270
+ mobx_1.observable
271
+ ], EditConfigModel.prototype, "edgeSelectedOutline", void 0);
188
272
  __decorate([
189
273
  mobx_1.action
190
274
  ], EditConfigModel.prototype, "updateEditConfig", null);
275
+ __decorate([
276
+ mobx_1.action
277
+ ], EditConfigModel.prototype, "updateTextMode", null);
191
278
  return EditConfigModel;
192
279
  }());
193
280
  exports.EditConfigModel = EditConfigModel;
@@ -1 +1 @@
1
- {"version":3,"file":"EditConfigModel.js","sourceRoot":"","sources":["../../src/model/EditConfigModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditConfigModel.js","sourceRoot":"","sources":["../../src/model/EditConfigModel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BaseEdgeModel, BaseNodeModel, EditConfigModel, Model, TransformModel } from '.';
2
- import { ElementState, EventType, OverlapMode } from '../constant';
2
+ import { ElementState, EventType, OverlapMode, TextMode } from '../constant';
3
3
  import LogicFlow from '../LogicFlow';
4
4
  import { Options as LFOptions } from '../options';
5
5
  import EventEmitter from '../event/eventEmitter';
@@ -68,16 +68,16 @@ export declare class GraphModel {
68
68
  * 基于zIndex对元素进行排序。
69
69
  * todo: 性能优化
70
70
  */
71
- get sortElements(): (BaseEdgeModel | BaseNodeModel)[];
71
+ get sortElements(): (BaseNodeModel<LogicFlow.PropertiesType> | BaseEdgeModel<LogicFlow.PropertiesType>)[];
72
72
  /**
73
73
  * 当前编辑的元素,低频操作,先循环找。
74
74
  */
75
- get textEditElement(): BaseEdgeModel | BaseNodeModel | undefined;
75
+ get textEditElement(): BaseNodeModel<LogicFlow.PropertiesType> | BaseEdgeModel<LogicFlow.PropertiesType> | undefined;
76
76
  /**
77
77
  * 当前画布所有被选中的元素
78
78
  */
79
- get selectElements(): Map<string, BaseEdgeModel | BaseNodeModel>;
80
- get selectNodes(): BaseNodeModel[];
79
+ get selectElements(): Map<string, BaseNodeModel<LogicFlow.PropertiesType> | BaseEdgeModel<LogicFlow.PropertiesType>>;
80
+ get selectNodes(): BaseNodeModel<LogicFlow.PropertiesType>[];
81
81
  /**
82
82
  * 获取指定区域内的所有元素
83
83
  * @param leftTopPoint 表示区域左上角的点
@@ -162,6 +162,17 @@ export declare class GraphModel {
162
162
  * @returns 修改后的节点id, 如果传入的oldId不存在,返回空字符串
163
163
  */
164
164
  changeEdgeId<T extends string>(oldId: string, newId?: string): T | string;
165
+ /**
166
+ * 获取元素的文本模式
167
+ * @param model
168
+ */
169
+ getTextModel(model: BaseNodeModel): TextMode | undefined;
170
+ /**
171
+ * 更新元素的文本模式
172
+ * @param mode
173
+ * @param model
174
+ */
175
+ setTextMode(mode: TextMode, model?: BaseNodeModel | BaseEdgeModel): void;
165
176
  /**
166
177
  * 内部保留方法,请勿直接使用
167
178
  */
@@ -201,14 +212,14 @@ export declare class GraphModel {
201
212
  * @param eventType 新增节点事件类型,默认EventType.NODE_ADD, 在Dnd拖拽时,会传入EventType.NODE_DND_ADD
202
213
  * @param event MouseEvent 鼠标事件
203
214
  */
204
- addNode(nodeConfig: NodeConfig, eventType?: EventType, event?: MouseEvent): BaseNodeModel;
215
+ addNode(nodeConfig: NodeConfig, eventType?: EventType, event?: MouseEvent): BaseNodeModel<LogicFlow.PropertiesType>;
205
216
  /**
206
217
  * 将node节点位置进行grid修正
207
218
  * 同时处理node内文字的偏移量
208
219
  * 返回一个位置修正过的复制节点NodeModel
209
220
  * @param node
210
221
  */
211
- getModelAfterSnapToGrid(node: NodeConfig): BaseNodeModel;
222
+ getModelAfterSnapToGrid(node: NodeConfig): BaseNodeModel<LogicFlow.PropertiesType>;
212
223
  /**
213
224
  * 克隆节点
214
225
  * @param nodeId 节点Id
@@ -345,28 +356,28 @@ export declare class GraphModel {
345
356
  /**
346
357
  * 获取所有以此节点为终点的边
347
358
  */
348
- getNodeIncomingEdge(nodeId: string): BaseEdgeModel[];
359
+ getNodeIncomingEdge(nodeId: string): BaseEdgeModel<LogicFlow.PropertiesType>[];
349
360
  /**
350
361
  * 获取所有以此节点为起点的边
351
362
  */
352
- getNodeOutgoingEdge(nodeId: string): BaseEdgeModel[];
363
+ getNodeOutgoingEdge(nodeId: string): BaseEdgeModel<LogicFlow.PropertiesType>[];
353
364
  /**
354
365
  * 获取所有以此锚点为终点的边
355
366
  */
356
- getAnchorIncomingEdge(anchorId?: string): BaseEdgeModel[];
367
+ getAnchorIncomingEdge(anchorId?: string): BaseEdgeModel<LogicFlow.PropertiesType>[];
357
368
  /**
358
369
  * TODO: 命名问题 outcoming -> outgoing or incoming
359
370
  * 获取所有以此锚点为起点的边
360
371
  */
361
- getAnchorOutcomingEdge(anchorId?: string): BaseEdgeModel[];
372
+ getAnchorOutcomingEdge(anchorId?: string): BaseEdgeModel<LogicFlow.PropertiesType>[];
362
373
  /**
363
374
  * 获取节点连接到的所有起始节点
364
375
  */
365
- getNodeIncomingNode(nodeId?: string): BaseNodeModel[];
376
+ getNodeIncomingNode(nodeId?: string): BaseNodeModel<LogicFlow.PropertiesType>[];
366
377
  /**
367
- * 获取节点连接到的所有目标节点
378
+ * 获取节点所有的下一级节点
368
379
  */
369
- getNodeOutgoingNode(nodeId?: string): BaseNodeModel[];
380
+ getNodeOutgoingNode(nodeId?: string): BaseNodeModel<LogicFlow.PropertiesType>[];
370
381
  /**
371
382
  * 设置主题
372
383
  * todo docs link
@@ -405,6 +416,17 @@ export declare class GraphModel {
405
416
  * @param edgeId string
406
417
  */
407
418
  closeEdgeAnimation(edgeId: string): void;
419
+ /**
420
+ * 获取当前局部渲染模式
421
+ * @returns boolean
422
+ */
423
+ getPartial(): boolean;
424
+ /**
425
+ * 设置是否开启局部渲染模式
426
+ * @param partial boolean
427
+ * @returns
428
+ */
429
+ setPartial(partial: boolean): void;
408
430
  }
409
431
  export declare namespace GraphModel {
410
432
  type NodesMapType = Record<string, {
@@ -360,9 +360,10 @@ var GraphModel = /** @class */ (function () {
360
360
  this.nodes = [];
361
361
  }
362
362
  if (graphData.edges) {
363
+ var currEdgeType_1 = this.edgeType;
363
364
  this.edges = (0, lodash_es_1.map)(graphData.edges, function (edge) {
364
365
  var _a;
365
- var Model = _this.getModel((_a = edge.type) !== null && _a !== void 0 ? _a : '');
366
+ var Model = _this.getModel((_a = edge.type) !== null && _a !== void 0 ? _a : currEdgeType_1);
366
367
  if (!Model) {
367
368
  throw new Error("\u627E\u4E0D\u5230".concat(edge.type, "\u5BF9\u5E94\u7684\u8FB9\u3002"));
368
369
  }
@@ -556,6 +557,35 @@ var GraphModel = /** @class */ (function () {
556
557
  });
557
558
  return newId;
558
559
  };
560
+ /**
561
+ * 获取元素的文本模式
562
+ * @param model
563
+ */
564
+ GraphModel.prototype.getTextModel = function (model) {
565
+ var _a = this.editConfigModel, textMode = _a.textMode, nodeTextMode = _a.nodeTextMode, edgeTextMode = _a.edgeTextMode;
566
+ // textMode 的优先级:
567
+ // 元素自身 model.textMode > editConfigModel.node(edge)TextMode > editConfigModel.textMode
568
+ if (model.BaseType === constant_1.ElementType.NODE) {
569
+ return model.textMode || nodeTextMode || textMode || constant_1.TextMode.TEXT;
570
+ }
571
+ // 同上
572
+ if (model.BaseType === constant_1.ElementType.EDGE) {
573
+ return model.textMode || edgeTextMode || textMode || constant_1.TextMode.TEXT;
574
+ }
575
+ };
576
+ /**
577
+ * 更新元素的文本模式
578
+ * @param mode
579
+ * @param model
580
+ */
581
+ GraphModel.prototype.setTextMode = function (mode, model) {
582
+ // 如果有传入 model,则直接更新 model 的 textMode
583
+ if (model) {
584
+ // model.updateTextMode(mode)
585
+ }
586
+ // 调用 editConfigModel 的方法更新 textMode
587
+ this.editConfigModel.updateEditConfig({ textMode: mode });
588
+ };
559
589
  /**
560
590
  * 内部保留方法,请勿直接使用
561
591
  */
@@ -672,7 +702,7 @@ var GraphModel = /** @class */ (function () {
672
702
  if (nodeX && nodeY) {
673
703
  node.x = (0, util_1.snapToGrid)(nodeX, this.gridSize);
674
704
  node.y = (0, util_1.snapToGrid)(nodeY, this.gridSize);
675
- if (typeof node.text === 'object') {
705
+ if (typeof node.text === 'object' && node.text !== null) {
676
706
  // 原来的处理是:node.text.x -= getGridOffset(nodeX, this.gridSize)
677
707
  // 由于snapToGrid()使用了Math.round()四舍五入的做法,因此无法判断需要执行
678
708
  // node.text.x = node.text.x + getGridOffset()
@@ -696,7 +726,7 @@ var GraphModel = /** @class */ (function () {
696
726
  data.x += 30;
697
727
  data.y += 30;
698
728
  data.id = '';
699
- if (data.text) {
729
+ if (typeof data.text === 'object' && data.text !== null) {
700
730
  data.text.x += 30;
701
731
  data.text.y += 30;
702
732
  }
@@ -815,17 +845,16 @@ var GraphModel = /** @class */ (function () {
815
845
  // 如果是自定义边文本位置,则移动节点的时候重新计算其位置
816
846
  if (edgeModel.customTextPosition) {
817
847
  edgeModel.resetTextPosition();
848
+ return;
818
849
  }
819
- else if (edgeModel.modelType === constant_1.ModelType.POLYLINE_EDGE &&
850
+ if (edgeModel.modelType === constant_1.ModelType.POLYLINE_EDGE &&
820
851
  ((_a = edgeModel.text) === null || _a === void 0 ? void 0 : _a.value)) {
821
852
  var textPosition = edgeModel.text;
822
853
  var newPoint = (0, util_1.getClosestPointOfPolyline)(textPosition, edgeModel.points);
823
854
  edgeModel.moveText(newPoint.x - textPosition.x, newPoint.y - textPosition.y);
824
855
  }
825
- else {
826
- var _b = edgeModel.textPosition, x1 = _b.x, y1 = _b.y;
827
- edgeModel.moveText(x1 - x, y1 - y);
828
- }
856
+ var _b = edgeModel.textPosition, x1 = _b.x, y1 = _b.y;
857
+ edgeModel.moveText(x1 - x, y1 - y);
829
858
  };
830
859
  /**
831
860
  * 删除两节点之间的边
@@ -1170,7 +1199,7 @@ var GraphModel = /** @class */ (function () {
1170
1199
  return nodes;
1171
1200
  };
1172
1201
  /**
1173
- * 获取节点连接到的所有目标节点
1202
+ * 获取节点所有的下一级节点
1174
1203
  */
1175
1204
  GraphModel.prototype.getNodeOutgoingNode = function (nodeId) {
1176
1205
  var _this = this;
@@ -1295,6 +1324,21 @@ var GraphModel = /** @class */ (function () {
1295
1324
  var edgeModel = this.getEdgeModelById(edgeId);
1296
1325
  edgeModel === null || edgeModel === void 0 ? void 0 : edgeModel.closeEdgeAnimation();
1297
1326
  };
1327
+ /**
1328
+ * 获取当前局部渲染模式
1329
+ * @returns boolean
1330
+ */
1331
+ GraphModel.prototype.getPartial = function () {
1332
+ return this.partial;
1333
+ };
1334
+ /**
1335
+ * 设置是否开启局部渲染模式
1336
+ * @param partial boolean
1337
+ * @returns
1338
+ */
1339
+ GraphModel.prototype.setPartial = function (partial) {
1340
+ this.partial = partial;
1341
+ };
1298
1342
  __decorate([
1299
1343
  mobx_1.observable
1300
1344
  ], GraphModel.prototype, "width", void 0);
@@ -1352,6 +1396,9 @@ var GraphModel = /** @class */ (function () {
1352
1396
  __decorate([
1353
1397
  mobx_1.computed
1354
1398
  ], GraphModel.prototype, "selectNodes", null);
1399
+ __decorate([
1400
+ mobx_1.action
1401
+ ], GraphModel.prototype, "setTextMode", null);
1355
1402
  __decorate([
1356
1403
  mobx_1.action
1357
1404
  ], GraphModel.prototype, "setFakeNode", null);
@@ -1472,6 +1519,9 @@ var GraphModel = /** @class */ (function () {
1472
1519
  __decorate([
1473
1520
  mobx_1.action
1474
1521
  ], GraphModel.prototype, "closeEdgeAnimation", null);
1522
+ __decorate([
1523
+ mobx_1.action
1524
+ ], GraphModel.prototype, "setPartial", null);
1475
1525
  return GraphModel;
1476
1526
  }());
1477
1527
  exports.GraphModel = GraphModel;