@logicflow/core 2.2.1 → 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 (126) 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/package.json +5 -3
  126. package/scripts/postinstall-ai-prompt.js +67 -0
@@ -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
+ ```