@logicflow/core 2.0.0-beta.4 → 2.0.0-beta.6

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 (246) hide show
  1. package/.turbo/turbo-build$colon$dev.log +2 -2
  2. package/.turbo/turbo-build.log +9 -15
  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 +4 -4
  6. package/es/LogicFlow.d.ts +32 -6
  7. package/es/LogicFlow.js +15 -12
  8. package/es/LogicFlow.js.map +1 -1
  9. package/es/algorithm/edge.js.map +1 -1
  10. package/es/algorithm/index.d.ts +2 -0
  11. package/es/algorithm/index.js +2 -0
  12. package/es/algorithm/index.js.map +1 -1
  13. package/es/algorithm/outline.d.ts +1 -1
  14. package/es/common/drag.d.ts +2 -2
  15. package/es/common/drag.js.map +1 -1
  16. package/es/constant/index.d.ts +37 -1
  17. package/es/constant/index.js +40 -1
  18. package/es/constant/index.js.map +1 -1
  19. package/es/event/eventArgs.d.ts +88 -25
  20. package/es/index.d.ts +4 -0
  21. package/es/index.js +4 -0
  22. package/es/index.js.map +1 -1
  23. package/es/keyboard/shortcut.d.ts +4 -0
  24. package/es/keyboard/shortcut.js +9 -8
  25. package/es/keyboard/shortcut.js.map +1 -1
  26. package/es/model/BaseModel.d.ts +12 -16
  27. package/es/model/EditConfigModel.d.ts +97 -36
  28. package/es/model/EditConfigModel.js +166 -79
  29. package/es/model/EditConfigModel.js.map +1 -1
  30. package/es/model/GraphModel.d.ts +12 -1
  31. package/es/model/GraphModel.js +40 -9
  32. package/es/model/GraphModel.js.map +1 -1
  33. package/es/model/TransformModel.js +1 -1
  34. package/es/model/TransformModel.js.map +1 -1
  35. package/es/model/edge/BaseEdgeModel.d.ts +7 -1
  36. package/es/model/edge/BaseEdgeModel.js +33 -17
  37. package/es/model/edge/BaseEdgeModel.js.map +1 -1
  38. package/es/model/edge/BezierEdgeModel.d.ts +1 -1
  39. package/es/model/edge/BezierEdgeModel.js +5 -2
  40. package/es/model/edge/BezierEdgeModel.js.map +1 -1
  41. package/es/model/edge/PolylineEdgeModel.d.ts +3 -3
  42. package/es/model/edge/PolylineEdgeModel.js +20 -14
  43. package/es/model/edge/PolylineEdgeModel.js.map +1 -1
  44. package/es/model/node/BaseNodeModel.d.ts +7 -1
  45. package/es/model/node/BaseNodeModel.js +22 -11
  46. package/es/model/node/BaseNodeModel.js.map +1 -1
  47. package/es/model/node/CircleNodeModel.js.map +1 -1
  48. package/es/model/node/DiamondNodeModel.js.map +1 -1
  49. package/es/model/node/EllipseNodeModel.js.map +1 -1
  50. package/es/options.d.ts +4 -1
  51. package/es/options.js.map +1 -1
  52. package/es/tool/MultipleSelectTool.d.ts +1 -1
  53. package/es/tool/MultipleSelectTool.js +5 -5
  54. package/es/tool/MultipleSelectTool.js.map +1 -1
  55. package/es/tool/TextEditTool.d.ts +3 -3
  56. package/es/tool/TextEditTool.js +2 -2
  57. package/es/tool/TextEditTool.js.map +1 -1
  58. package/es/tool/index.d.ts +24 -2
  59. package/es/tool/index.js +82 -2
  60. package/es/tool/index.js.map +1 -1
  61. package/es/util/drag.d.ts +5 -5
  62. package/es/util/drag.js +3 -1
  63. package/es/util/drag.js.map +1 -1
  64. package/es/util/edge.d.ts +2 -1
  65. package/es/util/edge.js +9 -12
  66. package/es/util/edge.js.map +1 -1
  67. package/es/util/node.d.ts +2 -5
  68. package/es/util/node.js +1 -0
  69. package/es/util/node.js.map +1 -1
  70. package/es/view/Anchor.d.ts +1 -3
  71. package/es/view/Anchor.js +3 -0
  72. package/es/view/Anchor.js.map +1 -1
  73. package/es/view/Control.d.ts +1 -1
  74. package/es/view/Control.js +7 -7
  75. package/es/view/Control.js.map +1 -1
  76. package/es/view/Graph.d.ts +1 -1
  77. package/es/view/Rotate.js +2 -1
  78. package/es/view/Rotate.js.map +1 -1
  79. package/es/view/behavior/index.d.ts +2 -0
  80. package/es/view/behavior/index.js +3 -0
  81. package/es/view/behavior/index.js.map +1 -0
  82. package/es/view/behavior/snapline.d.ts +3 -0
  83. package/es/{tool → view/behavior}/snapline.js +0 -1
  84. package/es/view/behavior/snapline.js.map +1 -0
  85. package/es/view/edge/AdjustPoint.js +9 -20
  86. package/es/view/edge/AdjustPoint.js.map +1 -1
  87. package/es/view/edge/BaseEdge.js +25 -17
  88. package/es/view/edge/BaseEdge.js.map +1 -1
  89. package/es/view/node/BaseNode.js +14 -9
  90. package/es/view/node/BaseNode.js.map +1 -1
  91. package/es/view/node/HtmlNode.js +2 -2
  92. package/es/view/node/HtmlNode.js.map +1 -1
  93. package/es/view/overlay/CanvasOverlay.js +1 -0
  94. package/es/view/overlay/CanvasOverlay.js.map +1 -1
  95. package/es/view/overlay/ToolOverlay.d.ts +1 -1
  96. package/es/view/overlay/ToolOverlay.js +1 -1
  97. package/es/view/overlay/ToolOverlay.js.map +1 -1
  98. package/es/view/text/BaseText.js +7 -3
  99. package/es/view/text/BaseText.js.map +1 -1
  100. package/lib/LogicFlow.d.ts +32 -6
  101. package/lib/LogicFlow.js +17 -14
  102. package/lib/LogicFlow.js.map +1 -1
  103. package/lib/algorithm/edge.js.map +1 -1
  104. package/lib/algorithm/index.d.ts +2 -0
  105. package/lib/algorithm/index.js +17 -1
  106. package/lib/algorithm/index.js.map +1 -1
  107. package/lib/algorithm/outline.d.ts +1 -1
  108. package/lib/common/drag.d.ts +2 -2
  109. package/lib/common/drag.js.map +1 -1
  110. package/lib/constant/index.d.ts +37 -1
  111. package/lib/constant/index.js +41 -2
  112. package/lib/constant/index.js.map +1 -1
  113. package/lib/event/eventArgs.d.ts +88 -25
  114. package/lib/index.d.ts +4 -0
  115. package/lib/index.js +4 -0
  116. package/lib/index.js.map +1 -1
  117. package/lib/keyboard/shortcut.d.ts +4 -0
  118. package/lib/keyboard/shortcut.js +12 -9
  119. package/lib/keyboard/shortcut.js.map +1 -1
  120. package/lib/model/BaseModel.d.ts +12 -16
  121. package/lib/model/EditConfigModel.d.ts +97 -36
  122. package/lib/model/EditConfigModel.js +165 -78
  123. package/lib/model/EditConfigModel.js.map +1 -1
  124. package/lib/model/GraphModel.d.ts +12 -1
  125. package/lib/model/GraphModel.js +38 -7
  126. package/lib/model/GraphModel.js.map +1 -1
  127. package/lib/model/TransformModel.js +1 -1
  128. package/lib/model/TransformModel.js.map +1 -1
  129. package/lib/model/edge/BaseEdgeModel.d.ts +7 -1
  130. package/lib/model/edge/BaseEdgeModel.js +31 -15
  131. package/lib/model/edge/BaseEdgeModel.js.map +1 -1
  132. package/lib/model/edge/BezierEdgeModel.d.ts +1 -1
  133. package/lib/model/edge/BezierEdgeModel.js +4 -1
  134. package/lib/model/edge/BezierEdgeModel.js.map +1 -1
  135. package/lib/model/edge/PolylineEdgeModel.d.ts +3 -3
  136. package/lib/model/edge/PolylineEdgeModel.js +19 -13
  137. package/lib/model/edge/PolylineEdgeModel.js.map +1 -1
  138. package/lib/model/node/BaseNodeModel.d.ts +7 -1
  139. package/lib/model/node/BaseNodeModel.js +20 -9
  140. package/lib/model/node/BaseNodeModel.js.map +1 -1
  141. package/lib/model/node/CircleNodeModel.js.map +1 -1
  142. package/lib/model/node/DiamondNodeModel.js.map +1 -1
  143. package/lib/model/node/EllipseNodeModel.js.map +1 -1
  144. package/lib/options.d.ts +4 -1
  145. package/lib/options.js.map +1 -1
  146. package/lib/tool/MultipleSelectTool.d.ts +1 -1
  147. package/lib/tool/MultipleSelectTool.js +5 -5
  148. package/lib/tool/MultipleSelectTool.js.map +1 -1
  149. package/lib/tool/TextEditTool.d.ts +3 -3
  150. package/lib/tool/TextEditTool.js +4 -4
  151. package/lib/tool/TextEditTool.js.map +1 -1
  152. package/lib/tool/index.d.ts +24 -2
  153. package/lib/tool/index.js +85 -15
  154. package/lib/tool/index.js.map +1 -1
  155. package/lib/util/drag.d.ts +5 -5
  156. package/lib/util/drag.js +3 -1
  157. package/lib/util/drag.js.map +1 -1
  158. package/lib/util/edge.d.ts +2 -1
  159. package/lib/util/edge.js +11 -14
  160. package/lib/util/edge.js.map +1 -1
  161. package/lib/util/node.d.ts +2 -5
  162. package/lib/util/node.js +1 -0
  163. package/lib/util/node.js.map +1 -1
  164. package/lib/view/Anchor.d.ts +1 -3
  165. package/lib/view/Anchor.js +3 -0
  166. package/lib/view/Anchor.js.map +1 -1
  167. package/lib/view/Control.d.ts +1 -1
  168. package/lib/view/Control.js +7 -7
  169. package/lib/view/Control.js.map +1 -1
  170. package/lib/view/Graph.d.ts +1 -1
  171. package/lib/view/Rotate.js +2 -1
  172. package/lib/view/Rotate.js.map +1 -1
  173. package/lib/view/behavior/index.d.ts +2 -0
  174. package/lib/view/behavior/index.js +19 -0
  175. package/lib/view/behavior/index.js.map +1 -0
  176. package/lib/view/behavior/snapline.d.ts +3 -0
  177. package/lib/{tool → view/behavior}/snapline.js +0 -1
  178. package/lib/view/behavior/snapline.js.map +1 -0
  179. package/lib/view/edge/AdjustPoint.js +9 -20
  180. package/lib/view/edge/AdjustPoint.js.map +1 -1
  181. package/lib/view/edge/BaseEdge.js +24 -16
  182. package/lib/view/edge/BaseEdge.js.map +1 -1
  183. package/lib/view/node/BaseNode.js +13 -8
  184. package/lib/view/node/BaseNode.js.map +1 -1
  185. package/lib/view/node/HtmlNode.js +2 -2
  186. package/lib/view/node/HtmlNode.js.map +1 -1
  187. package/lib/view/overlay/CanvasOverlay.js +1 -0
  188. package/lib/view/overlay/CanvasOverlay.js.map +1 -1
  189. package/lib/view/overlay/ToolOverlay.d.ts +1 -1
  190. package/lib/view/overlay/ToolOverlay.js +1 -1
  191. package/lib/view/overlay/ToolOverlay.js.map +1 -1
  192. package/lib/view/text/BaseText.js +6 -2
  193. package/lib/view/text/BaseText.js.map +1 -1
  194. package/package.json +1 -1
  195. package/src/LogicFlow.tsx +52 -14
  196. package/src/algorithm/edge.ts +1 -0
  197. package/src/algorithm/index.ts +2 -0
  198. package/src/algorithm/outline.ts +2 -2
  199. package/src/common/drag.ts +16 -2
  200. package/src/constant/index.ts +42 -1
  201. package/src/event/eventArgs.ts +155 -34
  202. package/src/index.ts +4 -0
  203. package/src/keyboard/shortcut.ts +12 -8
  204. package/src/model/BaseModel.ts +15 -17
  205. package/src/model/EditConfigModel.ts +206 -94
  206. package/src/model/GraphModel.ts +43 -8
  207. package/src/model/TransformModel.ts +1 -1
  208. package/src/model/edge/BaseEdgeModel.ts +27 -18
  209. package/src/model/edge/BezierEdgeModel.ts +5 -6
  210. package/src/model/edge/PolylineEdgeModel.ts +22 -18
  211. package/src/model/node/BaseNodeModel.ts +19 -13
  212. package/src/model/node/CircleNodeModel.ts +0 -1
  213. package/src/model/node/DiamondNodeModel.ts +0 -1
  214. package/src/model/node/EllipseNodeModel.ts +0 -1
  215. package/src/options.ts +6 -1
  216. package/src/tool/MultipleSelectTool.tsx +6 -6
  217. package/src/tool/TextEditTool.tsx +3 -3
  218. package/src/tool/index.ts +96 -2
  219. package/src/util/drag.ts +22 -6
  220. package/src/util/edge.ts +14 -13
  221. package/src/util/node.ts +3 -5
  222. package/src/view/Anchor.tsx +3 -1
  223. package/src/view/Control.tsx +16 -7
  224. package/src/view/Graph.tsx +1 -1
  225. package/src/view/Rotate.tsx +2 -1
  226. package/src/view/behavior/index.ts +2 -0
  227. package/src/{tool → view/behavior}/snapline.ts +3 -4
  228. package/src/view/edge/AdjustPoint.tsx +32 -46
  229. package/src/view/edge/BaseEdge.tsx +58 -38
  230. package/src/view/node/BaseNode.tsx +24 -10
  231. package/src/view/node/HtmlNode.tsx +2 -2
  232. package/src/view/overlay/CanvasOverlay.tsx +1 -0
  233. package/src/view/overlay/ToolOverlay.tsx +1 -1
  234. package/src/view/text/BaseText.tsx +11 -3
  235. package/tsconfig.json +1 -1
  236. package/es/tool/snapline.d.ts +0 -3
  237. package/es/tool/snapline.js.map +0 -1
  238. package/es/tool/tool.d.ts +0 -22
  239. package/es/tool/tool.js +0 -43
  240. package/es/tool/tool.js.map +0 -1
  241. package/lib/tool/snapline.d.ts +0 -3
  242. package/lib/tool/snapline.js.map +0 -1
  243. package/lib/tool/tool.d.ts +0 -22
  244. package/lib/tool/tool.js +0 -49
  245. package/lib/tool/tool.js.map +0 -1
  246. package/src/tool/tool.ts +0 -66
@@ -1,4 +1,4 @@
1
- import { LogicFlow, BaseNodeModel, BaseEdgeModel, Model, TransformData, TransformType } from '..';
1
+ import LogicFlow, { BaseNodeModel, BaseEdgeModel, Model, GraphModel, TransformData, TransformType } from '..';
2
2
  import NodeData = LogicFlow.NodeData;
3
3
  import EdgeData = LogicFlow.EdgeData;
4
4
  import GraphData = LogicFlow.GraphData;
@@ -14,11 +14,19 @@ type ClickEventArgs = {
14
14
  */
15
15
  isMultiple: boolean;
16
16
  };
17
- type NodeEventArgsPick<T extends 'data' | 'e' | 'position'> = Pick<{
17
+ type NodeEventArgsPick<T extends 'preData' | 'data' | 'model' | 'e' | 'position' | 'deltaX' | 'deltaY'> = Pick<{
18
+ /**
19
+ * 上一个状态的节点数据
20
+ */
21
+ preData: NodeData;
18
22
  /**
19
23
  * 节点数据
20
24
  */
21
25
  data: NodeData;
26
+ /**
27
+ * 节点 model
28
+ */
29
+ model: BaseNodeModel;
22
30
  /**
23
31
  * 原生鼠标事件对象
24
32
  */
@@ -27,6 +35,24 @@ type NodeEventArgsPick<T extends 'data' | 'e' | 'position'> = Pick<{
27
35
  * 鼠标触发点相对于画布左上角的坐标
28
36
  */
29
37
  position: ClientPosition;
38
+ /**
39
+ * 鼠标 X轴移动的距离
40
+ */
41
+ deltaX: number;
42
+ /**
43
+ * 鼠标Y轴移动的距离
44
+ */
45
+ deltaY: number;
46
+ }, T>;
47
+ type TextEventArgsPick<T extends 'data' | 'e' | 'model' | 'element' | 'position'> = Pick<{
48
+ data?: any;
49
+ e?: MouseEvent | FocusEvent;
50
+ model?: BaseNodeModel | BaseEdgeModel | unknown;
51
+ element?: HTMLElement | null;
52
+ position?: {
53
+ x: number;
54
+ y: number;
55
+ };
30
56
  }, T>;
31
57
  /**
32
58
  * 节点事件
@@ -51,7 +77,7 @@ interface NodeEventArgs {
51
77
  /**
52
78
  * 鼠标移动节点
53
79
  */
54
- 'node:mousemove': NodeEventArgsPick<'data' | 'e'>;
80
+ 'node:mousemove': NodeEventArgsPick<'data' | 'e' | 'deltaX' | 'deltaY'>;
55
81
  /**
56
82
  * 鼠标进入节点
57
83
  */
@@ -83,7 +109,7 @@ interface NodeEventArgs {
83
109
  /**
84
110
  * 拖拽节点
85
111
  */
86
- 'node:drag': NodeEventArgsPick<'data' | 'e'>;
112
+ 'node:drag': NodeEventArgsPick<'data' | 'e' | 'deltaX' | 'deltaY'>;
87
113
  /**
88
114
  * 拖拽节点结束
89
115
  */
@@ -92,6 +118,14 @@ interface NodeEventArgs {
92
118
  * 右键点击节点
93
119
  */
94
120
  'node:contextmenu': NodeEventArgsPick<'data' | 'e' | 'position'>;
121
+ /**
122
+ * 节点旋转
123
+ */
124
+ 'node:rotate': NodeEventArgsPick<'data' | 'e' | 'model'>;
125
+ /**
126
+ * 节点缩放
127
+ */
128
+ 'node:resize': NodeEventArgsPick<'preData' | 'data' | 'model'>;
95
129
  }
96
130
  type EdgeEventArgsPick<T extends 'data' | 'e' | 'position'> = Pick<{
97
131
  /**
@@ -159,6 +193,51 @@ interface EdgeEventArgs {
159
193
  };
160
194
  };
161
195
  }
196
+ /**
197
+ * 文本事件
198
+ */
199
+ interface TextEventArgs {
200
+ 'text:mousedown': TextEventArgsPick<'data' | 'e' | 'model'>;
201
+ 'text:dragstart': TextEventArgsPick<'data' | 'e' | 'model'>;
202
+ 'text:drag': TextEventArgsPick<'data' | 'e' | 'model'>;
203
+ 'text:drop': TextEventArgsPick<'data' | 'e' | 'model'>;
204
+ 'text:click': TextEventArgsPick<'data' | 'e' | 'model'>;
205
+ 'text:dbclick': TextEventArgsPick<'data' | 'e' | 'model'>;
206
+ 'text:blur': TextEventArgsPick<'data' | 'e' | 'model' | 'element'>;
207
+ 'text:mousemove': TextEventArgsPick<'data' | 'e' | 'model'>;
208
+ 'text:mouseup': TextEventArgsPick<'data' | 'e' | 'model'>;
209
+ 'text:focus': TextEventArgsPick<'data' | 'e' | 'model' | 'element'>;
210
+ 'text:add': TextEventArgsPick<'data' | 'e' | 'model'>;
211
+ 'text:update': TextEventArgsPick<'data' | 'e' | 'model'>;
212
+ 'text:clear': TextEventArgsPick<'data' | 'e' | 'model'>;
213
+ 'text:delete': TextEventArgsPick<'data' | 'e' | 'model'>;
214
+ 'text:not-allowed-add': TextEventArgsPick<'data' | 'e' | 'model'>;
215
+ }
216
+ /**
217
+ * label插件文本事件
218
+ */
219
+ interface TextEventArgs {
220
+ 'label:mousedown': TextEventArgsPick<'data' | 'e' | 'model'>;
221
+ 'label:dragstart': TextEventArgsPick<'data' | 'e' | 'model'>;
222
+ 'label:drag': TextEventArgsPick<'data' | 'e' | 'model'>;
223
+ 'label:drop': TextEventArgsPick<'data' | 'e' | 'model'>;
224
+ 'label:click': TextEventArgsPick<'data' | 'e' | 'model'>;
225
+ 'label:dbclick': TextEventArgsPick<'data' | 'e' | 'model'>;
226
+ 'label:blur': TextEventArgsPick<'data' | 'e' | 'model' | 'element'>;
227
+ 'label:mousemove': TextEventArgsPick<'data' | 'e' | 'model'>;
228
+ 'label:mouseup': TextEventArgsPick<'data' | 'e' | 'model'>;
229
+ 'label:focus': TextEventArgsPick<'data' | 'e' | 'model' | 'element'>;
230
+ 'label:add': TextEventArgsPick<'data' | 'e' | 'model'>;
231
+ 'label:update': TextEventArgsPick<'data' | 'e' | 'model'>;
232
+ 'label:clear': TextEventArgsPick<'data' | 'e' | 'model'>;
233
+ 'label:delete': TextEventArgsPick<'data' | 'e' | 'model'>;
234
+ 'label:should-add': TextEventArgsPick<'data' | 'e' | 'model' | 'position'>;
235
+ 'label:batch-add': TextEventArgsPick<'data' | 'e' | 'model'>;
236
+ 'label:should-update': TextEventArgsPick<'data' | 'e' | 'model'>;
237
+ 'label:should-delete': TextEventArgsPick<'data' | 'e' | 'model'>;
238
+ 'label:batch-delete': TextEventArgsPick<'data' | 'e' | 'model'>;
239
+ 'label:not-allowed-add': TextEventArgsPick<'data' | 'e' | 'model'>;
240
+ }
162
241
  /**
163
242
  * 连线事件
164
243
  */
@@ -219,25 +298,6 @@ interface CommonEventArgs {
219
298
  properties: Record<string, any>;
220
299
  };
221
300
  };
222
- /**
223
- * 节点/边的文本更新
224
- */
225
- 'text:update': {
226
- data: {
227
- /**
228
- * 更新的文本
229
- */
230
- text: string;
231
- /**
232
- * 节点/边的 id
233
- */
234
- id: string;
235
- /**
236
- * 节点/边的类型
237
- */
238
- type: string;
239
- };
240
- };
241
301
  /**
242
302
  * 进行画布平移或缩放等变化操作时触发
243
303
  */
@@ -259,6 +319,10 @@ interface CommonEventArgs {
259
319
  * 渲染后的画布数据
260
320
  */
261
321
  data: GraphData;
322
+ /**
323
+ * 渲染后的画布 model
324
+ */
325
+ graphModel: GraphModel;
262
326
  };
263
327
  /**
264
328
  * 画布重新更新后触发. 即 lf.render(graphData)方法被调用后或者改变画布(garphModel)上的属性后触发。
@@ -429,6 +493,5 @@ interface SelectionEventArgs {
429
493
  */
430
494
  'selection:contextmenu': SelectionEventArgsPick<'data' | 'e' | 'position'>;
431
495
  }
432
- export interface EventArgs extends NodeEventArgs, EdgeEventArgs, ConnectionEventArgs, CommonEventArgs, AnchorEventArgs, BlankEventArgs, HistoryEventArgs, SelectionEventArgs {
433
- }
496
+ export type EventArgs = NodeEventArgs & EdgeEventArgs & ConnectionEventArgs & CommonEventArgs & AnchorEventArgs & BlankEventArgs & HistoryEventArgs & SelectionEventArgs & TextEventArgs;
434
497
  export {};
package/lib/index.d.ts CHANGED
@@ -3,10 +3,14 @@ import LogicFlow from './LogicFlow';
3
3
  import * as LogicFlowUtil from './util';
4
4
  export declare function observer<P>(props: P): any;
5
5
  export { LogicFlow, h, createRef, Component, LogicFlowUtil };
6
+ export * from './util';
7
+ export * from './tool';
6
8
  export * from './view';
7
9
  export * from './model';
8
10
  export * from './options';
9
11
  export * from './keyboard';
12
+ export * from './constant';
13
+ export * from './algorithm';
10
14
  export { ElementState, ModelType, ElementType, EventType } from './constant';
11
15
  export { formatAnchorConnectValidateData } from './util/node';
12
16
  export default LogicFlow;
package/lib/index.js CHANGED
@@ -43,10 +43,14 @@ function observer(props) {
43
43
  return (0, mobx_preact_1.observer)(props);
44
44
  }
45
45
  exports.observer = observer;
46
+ __exportStar(require("./util"), exports);
47
+ __exportStar(require("./tool"), exports);
46
48
  __exportStar(require("./view"), exports);
47
49
  __exportStar(require("./model"), exports);
48
50
  __exportStar(require("./options"), exports);
49
51
  __exportStar(require("./keyboard"), exports);
52
+ __exportStar(require("./constant"), exports);
53
+ __exportStar(require("./algorithm"), exports);
50
54
  var constant_1 = require("./constant");
51
55
  Object.defineProperty(exports, "ElementState", { enumerable: true, get: function () { return constant_1.ElementState; } });
52
56
  Object.defineProperty(exports, "ModelType", { enumerable: true, get: function () { return constant_1.ModelType; } });
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAsD;AACtD,wCAAwE;AASpD,kFATM,sBAAC,OASN;AAAE,0FATM,kBAAS,OASN;AAAE,0FATM,kBAAS,OASN;AAR3C,0DAAmC;AAQ1B,oBARF,mBAAS,CAQE;AANlB,oDAAuC;AAMM,sCAAa;AAJ1D,SAAgB,QAAQ,CAAI,KAAQ;IAClC,OAAO,IAAA,sBAAY,EAAC,KAAY,CAAC,CAAA;AACnC,CAAC;AAFD,4BAEC;AAID,yCAAsB;AACtB,0CAAuB;AACvB,4CAAyB;AACzB,6CAA0B;AAC1B,uCAA4E;AAAnE,wGAAA,YAAY,OAAA;AAAE,qGAAA,SAAS,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,qGAAA,SAAS,OAAA;AAExD,oCAA6D;AAApD,uHAAA,+BAA+B,OAAA;AAExC,kBAAe,mBAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAsD;AACtD,wCAAwE;AASpD,kFATM,sBAAC,OASN;AAAE,0FATM,kBAAS,OASN;AAAE,0FATM,kBAAS,OASN;AAR3C,0DAAmC;AAQ1B,oBARF,mBAAS,CAQE;AANlB,oDAAuC;AAMM,sCAAa;AAJ1D,SAAgB,QAAQ,CAAI,KAAQ;IAClC,OAAO,IAAA,sBAAY,EAAC,KAAY,CAAC,CAAA;AACnC,CAAC;AAFD,4BAEC;AAID,yCAAsB;AACtB,yCAAsB;AACtB,yCAAsB;AACtB,0CAAuB;AACvB,4CAAyB;AACzB,6CAA0B;AAC1B,6CAA0B;AAC1B,8CAA2B;AAC3B,uCAA4E;AAAnE,wGAAA,YAAY,OAAA;AAAE,qGAAA,SAAS,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,qGAAA,SAAS,OAAA;AAExD,oCAA6D;AAApD,uHAAA,+BAA+B,OAAA;AAExC,kBAAe,mBAAS,CAAA"}
@@ -1,3 +1,7 @@
1
1
  import LogicFlow from '../LogicFlow';
2
2
  import GraphModel from '../model/GraphModel';
3
+ import NodeData = LogicFlow.NodeData;
4
+ import EdgeData = LogicFlow.EdgeData;
5
+ export declare function translateNodeData(nodeData: NodeData, distance: number): LogicFlow.NodeData;
6
+ export declare function translateEdgeData(edgeData: EdgeData, distance: number): LogicFlow.EdgeData;
3
7
  export declare function initDefaultShortcut(lf: LogicFlow, graph: GraphModel): void;
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initDefaultShortcut = void 0;
3
+ exports.initDefaultShortcut = exports.translateEdgeData = exports.translateNodeData = void 0;
4
+ var lodash_es_1 = require("lodash-es");
4
5
  var selected = null;
5
- function translationNodeData(nodeData, distance) {
6
+ function translateNodeData(nodeData, distance) {
6
7
  nodeData.x += distance;
7
8
  nodeData.y += distance;
8
- if (nodeData.text) {
9
+ if (!(0, lodash_es_1.isEmpty)(nodeData.text)) {
9
10
  nodeData.text.x += distance;
10
11
  nodeData.text.y += distance;
11
12
  }
12
13
  return nodeData;
13
14
  }
14
- function translationEdgeData(edgeData, distance) {
15
+ exports.translateNodeData = translateNodeData;
16
+ function translateEdgeData(edgeData, distance) {
15
17
  if (edgeData.startPoint) {
16
18
  edgeData.startPoint.x += distance;
17
19
  edgeData.startPoint.y += distance;
@@ -26,12 +28,13 @@ function translationEdgeData(edgeData, distance) {
26
28
  point.y += distance;
27
29
  });
28
30
  }
29
- if (edgeData.text) {
31
+ if (!(0, lodash_es_1.isEmpty)(edgeData.text)) {
30
32
  edgeData.text.x += distance;
31
33
  edgeData.text.y += distance;
32
34
  }
33
35
  return edgeData;
34
36
  }
37
+ exports.translateEdgeData = translateEdgeData;
35
38
  var TRANSLATION_DISTANCE = 40;
36
39
  var CHILDREN_TRANSLATION_DISTANCE = 40;
37
40
  function initDefaultShortcut(lf, graph) {
@@ -54,10 +57,10 @@ function initDefaultShortcut(lf, graph) {
54
57
  }
55
58
  selected = elements;
56
59
  selected.nodes.forEach(function (node) {
57
- return translationNodeData(node, TRANSLATION_DISTANCE);
60
+ return translateNodeData(node, TRANSLATION_DISTANCE);
58
61
  });
59
62
  selected.edges.forEach(function (edge) {
60
- return translationEdgeData(edge, TRANSLATION_DISTANCE);
63
+ return translateEdgeData(edge, TRANSLATION_DISTANCE);
61
64
  });
62
65
  return false;
63
66
  });
@@ -75,10 +78,10 @@ function initDefaultShortcut(lf, graph) {
75
78
  addElements.nodes.forEach(function (node) { return lf.selectElementById(node.id, true); });
76
79
  addElements.edges.forEach(function (edge) { return lf.selectElementById(edge.id, true); });
77
80
  selected.nodes.forEach(function (node) {
78
- return translationNodeData(node, TRANSLATION_DISTANCE);
81
+ return translateNodeData(node, TRANSLATION_DISTANCE);
79
82
  });
80
83
  selected.edges.forEach(function (edge) {
81
- return translationEdgeData(edge, TRANSLATION_DISTANCE);
84
+ return translateEdgeData(edge, TRANSLATION_DISTANCE);
82
85
  });
83
86
  CHILDREN_TRANSLATION_DISTANCE =
84
87
  CHILDREN_TRANSLATION_DISTANCE + TRANSLATION_DISTANCE;
@@ -1 +1 @@
1
- {"version":3,"file":"shortcut.js","sourceRoot":"","sources":["../../src/keyboard/shortcut.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shortcut.js","sourceRoot":"","sources":["../../src/keyboard/shortcut.ts"],"names":[],"mappings":"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"}
@@ -48,29 +48,25 @@ export declare namespace Model {
48
48
  targetNode?: BaseNodeModel;
49
49
  };
50
50
  type BoxBoundsPoint = {
51
- x1: number;
52
- y1: number;
53
- x2: number;
54
- y2: number;
55
- };
56
- type OutlineInfo = {
57
- x: number;
58
- y: number;
59
- x1: number;
60
- y1: number;
51
+ minX: number;
52
+ minY: number;
53
+ maxX: number;
54
+ maxY: number;
61
55
  };
62
- interface BoxBounds {
56
+ interface BoxBounds extends BoxBoundsPoint {
63
57
  x: number;
64
58
  y: number;
65
59
  width: number;
66
60
  height: number;
67
- minX: number;
68
- minY: number;
69
- maxX: number;
70
- maxY: number;
71
61
  centerX: number;
72
62
  centerY: number;
73
63
  }
64
+ type OutlineInfo = {
65
+ x: number;
66
+ y: number;
67
+ x1: number;
68
+ y1: number;
69
+ };
74
70
  interface BaseModel {
75
71
  /**
76
72
  * 节点或边对应的 ID.
@@ -115,7 +111,7 @@ export declare namespace Model {
115
111
  /**
116
112
  * 元素上的文本
117
113
  *
118
- * LogicFlow 中存在梁总文本:1. 脱离边和节点单独存在的问题;2. 必须和边、节点关联的文本
114
+ * LogicFlow 中存在两种文本:1. 脱离边和节点单独存在的问题;2. 必须和边、节点关联的文本
119
115
  * 此属性控制的是第二种。节点和边在删除、调整的同时,其关联的文本也会对应删除、调整。
120
116
  */
121
117
  text: LogicFlow.TextConfig;
@@ -1,16 +1,17 @@
1
- export interface EditConfigInterface {
1
+ import { TextMode } from '../constant';
2
+ export interface IEditConfigType {
2
3
  /**
3
4
  * 是否为静默模式
4
5
  */
5
- isSilentMode?: boolean;
6
+ isSilentMode: boolean;
6
7
  /**
7
8
  * 禁止缩放画布
8
9
  */
9
- stopZoomGraph?: boolean;
10
+ stopZoomGraph: boolean;
10
11
  /**
11
12
  * 禁止鼠标滚动移动画布
12
13
  */
13
- stopScrollGraph?: boolean;
14
+ stopScrollGraph: boolean;
14
15
  /**
15
16
  * 禁止拖动画布,默认为false
16
17
  * - true:完全禁止移动
@@ -18,97 +19,157 @@ export interface EditConfigInterface {
18
19
  * - horizontal:禁止水平方向拖动
19
20
  * - [number, number, number, number]:[minX, minY, maxX, maxY] 画布可拖动范围
20
21
  */
21
- stopMoveGraph?: boolean | 'vertical' | 'horizontal' | [number, number, number, number];
22
+ stopMoveGraph: boolean | 'vertical' | 'horizontal' | [number, number, number, number];
22
23
  /**
23
24
  * 允许调整边
24
25
  */
25
- adjustEdge?: boolean;
26
+ adjustEdge: boolean;
27
+ /**
28
+ * 允许调整边的中间点
29
+ */
30
+ adjustEdgeMiddle: boolean;
26
31
  /**
27
32
  * 允许调整边起点和终点
28
33
  */
29
- adjustEdgeStartAndEnd?: boolean;
34
+ adjustEdgeStartAndEnd: boolean;
35
+ /**
36
+ * 允许调整边起点
37
+ */
38
+ adjustEdgeStart: boolean;
39
+ /**
40
+ * 允许调整边的终点
41
+ */
42
+ adjustEdgeEnd: boolean;
30
43
  /**
31
44
  * 允许拖动节点
32
45
  */
33
- adjustNodePosition?: boolean;
46
+ adjustNodePosition: boolean;
34
47
  /**
35
48
  * 隐藏节点所有锚点
36
49
  */
37
- hideAnchors?: boolean;
50
+ hideAnchors: boolean;
38
51
  /**
39
52
  * 是否允许节点旋转(旋转点的显隐)
40
53
  */
41
- allowRotate?: boolean;
54
+ allowRotate: boolean;
42
55
  /**
43
56
  * 是否允许节点缩放(缩放调整点的显隐)
44
57
  */
45
- allowResize?: boolean;
58
+ allowResize: boolean;
59
+ /**
60
+ * 是否自动展开
61
+ */
62
+ autoExpand: boolean;
46
63
  /**
47
64
  * 显示节点悬浮时的外框
48
65
  */
49
- hoverOutline?: boolean;
66
+ hoverOutline: boolean;
50
67
  /**
51
68
  * 节点被选中时是否显示outline
52
69
  */
53
- nodeSelectedOutline?: boolean;
70
+ nodeSelectedOutline: boolean;
54
71
  /**
55
72
  * 边被选中时是否显示outline
56
73
  */
57
- edgeSelectedOutline?: boolean;
74
+ edgeSelectedOutline: boolean;
75
+ /**
76
+ * 允许文本可编辑
77
+ */
78
+ textEdit: boolean;
58
79
  /**
59
80
  * 允许节点文本可以编辑
60
81
  */
61
- nodeTextEdit?: boolean;
82
+ nodeTextEdit: boolean;
62
83
  /**
63
84
  * 允许边文本可以编辑
64
85
  */
65
- edgeTextEdit?: boolean;
86
+ edgeTextEdit: boolean;
66
87
  /**
67
- * 允许文本编辑
88
+ * 允许文本可拖拽(文本包括Text、Label)
68
89
  */
69
- textEdit?: boolean;
90
+ textDraggable: boolean;
70
91
  /**
71
92
  * 允许节点文本可以拖拽
72
93
  */
73
- nodeTextDraggable?: boolean;
94
+ nodeTextDraggable: boolean;
74
95
  /**
75
96
  * 允许边文本可以拖拽
76
97
  */
77
- edgeTextDraggable?: boolean;
98
+ edgeTextDraggable: boolean;
78
99
  /**
79
100
  * 多选按键, 支持meta(cmd)、shift、alt
80
101
  * 不支持ctrl,ctrl会触发contextmenu
81
102
  */
82
- multipleSelectKey?: string;
103
+ multipleSelectKey: string;
104
+ /**
105
+ * 2.0.0 新增配置,启用 Label 后生效
106
+ * 是否支持多文本,文本文字是否垂直展示
107
+ * 当前文本类型
108
+ */
109
+ nodeTextMultiple: boolean;
110
+ edgeTextMultiple: boolean;
111
+ nodeTextVertical: boolean;
112
+ edgeTextVertical: boolean;
113
+ textMode: TextMode;
114
+ nodeTextMode: TextMode;
115
+ edgeTextMode: TextMode;
83
116
  }
117
+ export type IConfigKeys = keyof IEditConfigType;
84
118
  /**
85
119
  * 页面编辑配置
86
120
  */
87
121
  export declare class EditConfigModel {
122
+ stagedConfig?: Partial<IEditConfigType>;
123
+ /*********************************************************
124
+ * 画布相关配置
125
+ ********************************************************/
88
126
  isSilentMode: boolean;
89
127
  stopZoomGraph: boolean;
90
- stopScrollGraph: boolean;
91
128
  stopMoveGraph: boolean;
92
- adjustEdge: boolean;
93
- adjustEdgeMiddle: boolean;
94
- adjustEdgeStartAndEnd: boolean;
95
- adjustNodePosition: boolean;
129
+ stopScrollGraph: boolean;
130
+ /*********************************************************
131
+ * 文本相关配置(全局)
132
+ ********************************************************/
133
+ textMode: TextMode;
134
+ textEdit: boolean;
135
+ textDraggable: boolean;
136
+ nodeTextEdit: boolean;
137
+ nodeTextDraggable: boolean;
138
+ nodeTextMultiple: boolean;
139
+ nodeTextVertical: boolean;
140
+ nodeTextMode: TextMode;
141
+ edgeTextMode: TextMode;
142
+ edgeTextEdit: boolean;
143
+ edgeTextDraggable: boolean;
144
+ edgeTextMultiple: boolean;
145
+ edgeTextVertical: boolean;
146
+ /*********************************************************
147
+ * 节点相关配置
148
+ ********************************************************/
96
149
  hideAnchors: boolean;
97
150
  allowRotate: boolean;
98
151
  allowResize: boolean;
99
152
  hoverOutline: boolean;
100
153
  nodeSelectedOutline: boolean;
101
- edgeSelectedOutline: boolean;
102
- nodeTextEdit: boolean;
103
- edgeTextEdit: boolean;
104
- nodeTextDraggable: boolean;
105
- edgeTextDraggable: boolean;
154
+ adjustNodePosition: boolean;
106
155
  autoExpand: boolean;
156
+ /*********************************************************
157
+ * 边相关配置
158
+ ********************************************************/
159
+ adjustEdge: boolean;
160
+ adjustEdgeMiddle: boolean;
161
+ adjustEdgeStartAndEnd: boolean;
162
+ adjustEdgeStart: boolean;
163
+ adjustEdgeEnd: boolean;
164
+ edgeSelectedOutline: boolean;
165
+ /*********************************************************
166
+ * 其他
167
+ ********************************************************/
107
168
  multipleSelectKey: string;
108
- defaultConfig: {};
109
- constructor(config: EditConfigInterface);
110
- updateEditConfig(config: any): void;
111
- getConfigDetail(config: any): Pick<any, string>;
112
- getConfig(): Partial<this>;
169
+ constructor(config: Partial<IEditConfigType>);
170
+ updateEditConfig(config: Partial<IEditConfigType>): void;
171
+ computeConfig(config: Partial<IEditConfigType>): Partial<IEditConfigType> & Pick<Partial<IEditConfigType>, "textMode" | "adjustEdgeStartAndEnd" | "isSilentMode" | "stopZoomGraph" | "stopScrollGraph" | "stopMoveGraph" | "adjustEdge" | "adjustEdgeMiddle" | "adjustEdgeStart" | "adjustEdgeEnd" | "adjustNodePosition" | "hideAnchors" | "allowRotate" | "allowResize" | "autoExpand" | "hoverOutline" | "nodeSelectedOutline" | "edgeSelectedOutline" | "textEdit" | "nodeTextEdit" | "edgeTextEdit" | "textDraggable" | "nodeTextDraggable" | "edgeTextDraggable" | "multipleSelectKey" | "nodeTextMultiple" | "edgeTextMultiple" | "nodeTextVertical" | "edgeTextVertical" | "nodeTextMode" | "edgeTextMode">;
172
+ updateTextMode(textMode: TextMode): void;
173
+ getConfig(): IEditConfigType;
113
174
  }
114
175
  export default EditConfigModel;