@logicflow/core 2.2.1 → 2.2.3

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 (127) hide show
  1. package/README.md +32 -0
  2. package/dist/docs/api/logicflow-constructor/index.en.md +106 -0
  3. package/dist/docs/api/logicflow-constructor/index.zh.md +106 -0
  4. package/dist/docs/api/logicflow-constructor/use.en.md +61 -0
  5. package/dist/docs/api/logicflow-constructor/use.zh.md +61 -0
  6. package/dist/docs/api/logicflow-instance/canvas.en.md +197 -0
  7. package/dist/docs/api/logicflow-instance/canvas.zh.md +199 -0
  8. package/dist/docs/api/logicflow-instance/edge.en.md +273 -0
  9. package/dist/docs/api/logicflow-instance/edge.zh.md +273 -0
  10. package/dist/docs/api/logicflow-instance/edit-config.en.md +59 -0
  11. package/dist/docs/api/logicflow-instance/edit-config.zh.md +59 -0
  12. package/dist/docs/api/logicflow-instance/element.en.md +375 -0
  13. package/dist/docs/api/logicflow-instance/element.zh.md +379 -0
  14. package/dist/docs/api/logicflow-instance/event.en.md +326 -0
  15. package/dist/docs/api/logicflow-instance/event.zh.md +406 -0
  16. package/dist/docs/api/logicflow-instance/history.en.md +38 -0
  17. package/dist/docs/api/logicflow-instance/history.zh.md +38 -0
  18. package/dist/docs/api/logicflow-instance/index.en.md +41 -0
  19. package/dist/docs/api/logicflow-instance/index.zh.md +41 -0
  20. package/dist/docs/api/logicflow-instance/node.en.md +308 -0
  21. package/dist/docs/api/logicflow-instance/node.zh.md +308 -0
  22. package/dist/docs/api/logicflow-instance/register.en.md +76 -0
  23. package/dist/docs/api/logicflow-instance/register.zh.md +76 -0
  24. package/dist/docs/api/logicflow-instance/render-and-data.en.md +179 -0
  25. package/dist/docs/api/logicflow-instance/render-and-data.zh.md +181 -0
  26. package/dist/docs/api/logicflow-instance/text.en.md +60 -0
  27. package/dist/docs/api/logicflow-instance/text.zh.md +60 -0
  28. package/dist/docs/api/logicflow-instance/theme.en.md +179 -0
  29. package/dist/docs/api/logicflow-instance/theme.zh.md +179 -0
  30. package/dist/docs/api/runtime-model/edgeModel.en.md +29 -0
  31. package/dist/docs/api/runtime-model/edgeModel.zh.md +325 -0
  32. package/dist/docs/api/runtime-model/graphModel.en.md +275 -0
  33. package/dist/docs/api/runtime-model/graphModel.zh.md +1153 -0
  34. package/dist/docs/api/runtime-model/nodeModel.en.md +37 -0
  35. package/dist/docs/api/runtime-model/nodeModel.zh.md +644 -0
  36. package/dist/docs/api/type/MainTypes.en.md +598 -0
  37. package/dist/docs/api/type/MainTypes.zh.md +867 -0
  38. package/dist/docs/api/type/Theme.en.md +187 -0
  39. package/dist/docs/api/type/Theme.zh.md +187 -0
  40. package/dist/docs/api/type/canvas-types.en.md +25 -0
  41. package/dist/docs/api/type/canvas-types.zh.md +25 -0
  42. package/dist/docs/api/type/index.en.md +96 -0
  43. package/dist/docs/api/type/index.zh.md +99 -0
  44. package/dist/docs/api/type/node-types.en.md +21 -0
  45. package/dist/docs/api/type/node-types.zh.md +21 -0
  46. package/dist/docs/api/type/plugin-types.en.md +24 -0
  47. package/dist/docs/api/type/plugin-types.zh.md +24 -0
  48. package/dist/docs/index.md +11 -0
  49. package/dist/docs/tutorial/about.en.md +38 -0
  50. package/dist/docs/tutorial/about.zh.md +65 -0
  51. package/dist/docs/tutorial/advanced/dnd.en.md +62 -0
  52. package/dist/docs/tutorial/advanced/dnd.zh.md +52 -0
  53. package/dist/docs/tutorial/advanced/edge.en.md +64 -0
  54. package/dist/docs/tutorial/advanced/edge.zh.md +66 -0
  55. package/dist/docs/tutorial/advanced/keyboard.en.md +70 -0
  56. package/dist/docs/tutorial/advanced/keyboard.zh.md +67 -0
  57. package/dist/docs/tutorial/advanced/node.en.md +338 -0
  58. package/dist/docs/tutorial/advanced/node.zh.md +338 -0
  59. package/dist/docs/tutorial/advanced/react.en.md +106 -0
  60. package/dist/docs/tutorial/advanced/react.zh.md +114 -0
  61. package/dist/docs/tutorial/advanced/silent-mode.en.md +75 -0
  62. package/dist/docs/tutorial/advanced/silent-mode.zh.md +71 -0
  63. package/dist/docs/tutorial/advanced/snapline.en.md +54 -0
  64. package/dist/docs/tutorial/advanced/vue.en.md +249 -0
  65. package/dist/docs/tutorial/advanced/vue.zh.md +248 -0
  66. package/dist/docs/tutorial/ai.en.md +64 -0
  67. package/dist/docs/tutorial/ai.zh.md +64 -0
  68. package/dist/docs/tutorial/basic/background.en.md +50 -0
  69. package/dist/docs/tutorial/basic/canvas.en.md +164 -0
  70. package/dist/docs/tutorial/basic/canvas.zh.md +183 -0
  71. package/dist/docs/tutorial/basic/class.en.md +106 -0
  72. package/dist/docs/tutorial/basic/class.zh.md +103 -0
  73. package/dist/docs/tutorial/basic/edge.en.md +151 -0
  74. package/dist/docs/tutorial/basic/edge.zh.md +152 -0
  75. package/dist/docs/tutorial/basic/event.en.md +70 -0
  76. package/dist/docs/tutorial/basic/event.zh.md +66 -0
  77. package/dist/docs/tutorial/basic/grid.en.md +77 -0
  78. package/dist/docs/tutorial/basic/node.en.md +358 -0
  79. package/dist/docs/tutorial/basic/node.zh.md +318 -0
  80. package/dist/docs/tutorial/basic/theme.en.md +154 -0
  81. package/dist/docs/tutorial/basic/theme.zh.md +157 -0
  82. package/dist/docs/tutorial/extension/adapter.en.md +446 -0
  83. package/dist/docs/tutorial/extension/adapter.zh.md +429 -0
  84. package/dist/docs/tutorial/extension/bpmn-element.en.md +1427 -0
  85. package/dist/docs/tutorial/extension/bpmn-element.zh.md +1472 -0
  86. package/dist/docs/tutorial/extension/control.en.md +117 -0
  87. package/dist/docs/tutorial/extension/control.zh.md +118 -0
  88. package/dist/docs/tutorial/extension/curved-edge.en.md +46 -0
  89. package/dist/docs/tutorial/extension/curved-edge.zh.md +46 -0
  90. package/dist/docs/tutorial/extension/custom.en.md +142 -0
  91. package/dist/docs/tutorial/extension/custom.zh.md +138 -0
  92. package/dist/docs/tutorial/extension/dnd-panel.en.md +109 -0
  93. package/dist/docs/tutorial/extension/dnd-panel.zh.md +109 -0
  94. package/dist/docs/tutorial/extension/dynamic-group.en.md +606 -0
  95. package/dist/docs/tutorial/extension/dynamic-group.zh.md +606 -0
  96. package/dist/docs/tutorial/extension/group.en.md +217 -0
  97. package/dist/docs/tutorial/extension/group.zh.md +209 -0
  98. package/dist/docs/tutorial/extension/highlight.en.md +50 -0
  99. package/dist/docs/tutorial/extension/highlight.zh.md +50 -0
  100. package/dist/docs/tutorial/extension/insert-node-in-polyline.en.md +52 -0
  101. package/dist/docs/tutorial/extension/insert-node-in-polyline.zh.md +47 -0
  102. package/dist/docs/tutorial/extension/intro.en.md +72 -0
  103. package/dist/docs/tutorial/extension/intro.zh.md +95 -0
  104. package/dist/docs/tutorial/extension/label.en.md +136 -0
  105. package/dist/docs/tutorial/extension/label.zh.md +135 -0
  106. package/dist/docs/tutorial/extension/layout.en.md +156 -0
  107. package/dist/docs/tutorial/extension/layout.zh.md +156 -0
  108. package/dist/docs/tutorial/extension/menu.en.md +319 -0
  109. package/dist/docs/tutorial/extension/menu.zh.md +377 -0
  110. package/dist/docs/tutorial/extension/minimap.en.md +164 -0
  111. package/dist/docs/tutorial/extension/minimap.zh.md +180 -0
  112. package/dist/docs/tutorial/extension/node-resize.en.md +199 -0
  113. package/dist/docs/tutorial/extension/node-resize.zh.md +221 -0
  114. package/dist/docs/tutorial/extension/pool.en.md +227 -0
  115. package/dist/docs/tutorial/extension/pool.zh.md +227 -0
  116. package/dist/docs/tutorial/extension/proximity-connect.en.md +104 -0
  117. package/dist/docs/tutorial/extension/proximity-connect.zh.md +107 -0
  118. package/dist/docs/tutorial/extension/selection.en.md +166 -0
  119. package/dist/docs/tutorial/extension/selection.zh.md +150 -0
  120. package/dist/docs/tutorial/extension/snapshot.en.md +276 -0
  121. package/dist/docs/tutorial/extension/snapshot.zh.md +276 -0
  122. package/dist/docs/tutorial/get-started.en.md +501 -0
  123. package/dist/docs/tutorial/get-started.zh.md +139 -0
  124. package/dist/docs/tutorial/update.en.md +213 -0
  125. package/dist/docs/tutorial/update.zh.md +212 -0
  126. package/package.json +5 -3
  127. package/scripts/postinstall-ai-prompt.js +67 -0
@@ -0,0 +1,308 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow Instance
5
+ order: 2
6
+ title: Nodes
7
+ toc: content
8
+ order: 2
9
+ ---
10
+
11
+ This page documents instance helpers for creating, deleting, querying, and mutating nodes.
12
+
13
+ ### addNode
14
+
15
+ Adds a new node to the canvas.
16
+
17
+ **Signature**
18
+
19
+ ```ts
20
+ addNode(nodeConfig: NodeConfig): BaseNodeModel
21
+ ```
22
+
23
+ **Parameters**
24
+
25
+ | Name | Type | Required | Description |
26
+ | :--- | :--- | :--- | :--- |
27
+ | `nodeConfig` | [`NodeConfig`](../type/MainTypes.en.md#nodeconfig) | Yes | Node configuration. |
28
+
29
+ **Returns**
30
+
31
+ | Type | Description |
32
+ | :--- | :--- |
33
+ | `BaseNodeModel` | Model instance for the new node. |
34
+
35
+ **Example**
36
+
37
+ ```ts
38
+ lf.addNode({
39
+ type: 'rect',
40
+ x: 100,
41
+ y: 100,
42
+ });
43
+ ```
44
+
45
+ ### deleteNode
46
+
47
+ Deletes a node and any edges attached to it.
48
+
49
+ **Signature**
50
+
51
+ ```ts
52
+ deleteNode(nodeId: string): void
53
+ ```
54
+
55
+ **Parameters**
56
+
57
+ | Name | Type | Required | Description |
58
+ | :--- | :--- | :--- | :--- |
59
+ | `nodeId` | `string` | Yes | Node id to remove. |
60
+
61
+ **Example**
62
+
63
+ ```ts
64
+ lf.deleteNode('node_1');
65
+ ```
66
+
67
+ ### cloneNode
68
+
69
+ Clones a node and returns the new model.
70
+
71
+ **Signature**
72
+
73
+ ```ts
74
+ cloneNode(nodeId: string): BaseNodeModel
75
+ ```
76
+
77
+ **Parameters**
78
+
79
+ | Name | Type | Required | Description |
80
+ | :--- | :--- | :--- | :--- |
81
+ | `nodeId` | `string` | Yes | Source node id. |
82
+
83
+ **Returns**
84
+
85
+ | Type | Description |
86
+ | :--- | :--- |
87
+ | `BaseNodeModel` | Cloned node model. |
88
+
89
+ **Example**
90
+
91
+ ```ts
92
+ const cloned = lf.cloneNode('node_1');
93
+ console.log(cloned.id);
94
+ ```
95
+
96
+ ### changeNodeId
97
+
98
+ Renames a node. When `newId` is omitted, LogicFlow generates one.
99
+
100
+ **Signature**
101
+
102
+ ```ts
103
+ changeNodeId(oldId: string, newId?: string): void
104
+ ```
105
+
106
+ **Parameters**
107
+
108
+ | Name | Type | Required | Description |
109
+ | :--- | :--- | :--- | :--- |
110
+ | `oldId` | `string` | Yes | Current id. |
111
+ | `newId` | `string` | No | New id. |
112
+
113
+ **Example**
114
+
115
+ ```ts
116
+ lf.changeNodeId('node_1', 'new_node_1');
117
+ ```
118
+
119
+ ### changeNodeType
120
+
121
+ Changes the registered type of a node.
122
+
123
+ **Signature**
124
+
125
+ ```ts
126
+ changeNodeType(nodeId: string, type: string): void
127
+ ```
128
+
129
+ **Parameters**
130
+
131
+ | Name | Type | Required | Description |
132
+ | :--- | :--- | :--- | :--- |
133
+ | `nodeId` | `string` | Yes | Node id. |
134
+ | `type` | `string` | Yes | New type name. |
135
+
136
+ **Example**
137
+
138
+ ```ts
139
+ lf.changeNodeType('node_1', 'circle');
140
+ ```
141
+
142
+ ### getNodeModelById
143
+
144
+ Returns the live model for a node.
145
+
146
+ **Signature**
147
+
148
+ ```ts
149
+ getNodeModelById(nodeId: string): BaseNodeModel | undefined
150
+ ```
151
+
152
+ **Parameters**
153
+
154
+ | Name | Type | Required | Description |
155
+ | :--- | :--- | :--- | :--- |
156
+ | `nodeId` | `string` | Yes | Node id. |
157
+
158
+ **Returns**
159
+
160
+ | Type | Description |
161
+ | :--- | :--- |
162
+ | `BaseNodeModel \| undefined` | Model or `undefined` if missing. |
163
+
164
+ **Example**
165
+
166
+ ```ts
167
+ const nodeModel = lf.getNodeModelById('node_1');
168
+ ```
169
+
170
+ ### getNodeDataById
171
+
172
+ Returns plain data shaped like `addNode` input.
173
+
174
+ **Signature**
175
+
176
+ ```ts
177
+ getNodeDataById(nodeId: string): NodeConfig | undefined
178
+ ```
179
+
180
+ **Parameters**
181
+
182
+ | Name | Type | Required | Description |
183
+ | :--- | :--- | :--- | :--- |
184
+ | `nodeId` | `string` | Yes | Node id. |
185
+
186
+ **Returns**
187
+
188
+ | Type | Description |
189
+ | :--- | :--- |
190
+ | [`NodeConfig`](../type/MainTypes.en.md#nodeconfig) \| `undefined` | Config snapshot. |
191
+
192
+ **Example**
193
+
194
+ ```ts
195
+ const nodeData = lf.getNodeDataById('node_1');
196
+ ```
197
+
198
+ ### getNodeIncomingEdge
199
+
200
+ Returns edges whose target is this node.
201
+
202
+ **Signature**
203
+
204
+ ```ts
205
+ getNodeIncomingEdge(nodeId: string): BaseEdgeModel[]
206
+ ```
207
+
208
+ **Parameters**
209
+
210
+ | Name | Type | Required | Description |
211
+ | :--- | :--- | :--- | :--- |
212
+ | `nodeId` | `string` | Yes | Node id. |
213
+
214
+ **Returns**
215
+
216
+ | Type | Description |
217
+ | :--- | :--- |
218
+ | `BaseEdgeModel[]` | Incoming edge models. |
219
+
220
+ **Example**
221
+
222
+ ```ts
223
+ const incomingEdges = lf.getNodeIncomingEdge('node_1');
224
+ ```
225
+
226
+ ### getNodeOutgoingEdge
227
+
228
+ Returns edges whose source is this node.
229
+
230
+ **Signature**
231
+
232
+ ```ts
233
+ getNodeOutgoingEdge(nodeId: string): BaseEdgeModel[]
234
+ ```
235
+
236
+ **Parameters**
237
+
238
+ | Name | Type | Required | Description |
239
+ | :--- | :--- | :--- | :--- |
240
+ | `nodeId` | `string` | Yes | Node id. |
241
+
242
+ **Returns**
243
+
244
+ | Type | Description |
245
+ | :--- | :--- |
246
+ | `BaseEdgeModel[]` | Outgoing edge models. |
247
+
248
+ **Example**
249
+
250
+ ```ts
251
+ const outgoingEdges = lf.getNodeOutgoingEdge('node_1');
252
+ ```
253
+
254
+ ### getNodeIncomingNode
255
+
256
+ Returns upstream neighbour nodes.
257
+
258
+ **Signature**
259
+
260
+ ```ts
261
+ getNodeIncomingNode(nodeId: string): BaseNodeModel[]
262
+ ```
263
+
264
+ **Parameters**
265
+
266
+ | Name | Type | Required | Description |
267
+ | :--- | :--- | :--- | :--- |
268
+ | `nodeId` | `string` | Yes | Node id. |
269
+
270
+ **Returns**
271
+
272
+ | Type | Description |
273
+ | :--- | :--- |
274
+ | `BaseNodeModel[]` | Upstream models. |
275
+
276
+ **Example**
277
+
278
+ ```ts
279
+ const incomingNodes = lf.getNodeIncomingNode('node_1');
280
+ ```
281
+
282
+ ### getNodeOutgoingNode
283
+
284
+ Returns downstream neighbour nodes.
285
+
286
+ **Signature**
287
+
288
+ ```ts
289
+ getNodeOutgoingNode(nodeId: string): BaseNodeModel[]
290
+ ```
291
+
292
+ **Parameters**
293
+
294
+ | Name | Type | Required | Description |
295
+ | :--- | :--- | :--- | :--- |
296
+ | `nodeId` | `string` | Yes | Node id. |
297
+
298
+ **Returns**
299
+
300
+ | Type | Description |
301
+ | :--- | :--- |
302
+ | `BaseNodeModel[]` | Downstream models. |
303
+
304
+ **Example**
305
+
306
+ ```ts
307
+ const outgoingNodes = lf.getNodeOutgoingNode('node_1');
308
+ ```
@@ -0,0 +1,308 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow 实例
5
+ order: 2
6
+ title: 节点相关
7
+ toc: content
8
+ order: 2
9
+ ---
10
+
11
+ 本页汇总 LogicFlow 实例中与节点增删改查及上下游关系查询相关的方法。
12
+
13
+ ### addNode
14
+
15
+ 在画布上添加一个新节点。
16
+
17
+ **签名**
18
+
19
+ ```ts
20
+ addNode(nodeConfig: NodeConfig): BaseNodeModel
21
+ ```
22
+
23
+ **参数**
24
+
25
+ | 名称 | 类型 | 必传 | 说明 |
26
+ | :--- | :--- | :--- | :--- |
27
+ | `nodeConfig` | [`NodeConfig`](../type/MainTypes.zh.md#nodeconfig节点配置) | 是 | 节点配置。 |
28
+
29
+ **返回值**
30
+
31
+ | 类型 | 说明 |
32
+ | :--- | :--- |
33
+ | `BaseNodeModel` | 新增节点的 model 实例。 |
34
+
35
+ **示例**
36
+
37
+ ```ts
38
+ lf.addNode({
39
+ type: 'rect',
40
+ x: 100,
41
+ y: 100,
42
+ });
43
+ ```
44
+
45
+ ### deleteNode
46
+
47
+ 删除指定节点;若该节点有关联边,会一并删除这些边。
48
+
49
+ **签名**
50
+
51
+ ```ts
52
+ deleteNode(nodeId: string): void
53
+ ```
54
+
55
+ **参数**
56
+
57
+ | 名称 | 类型 | 必传 | 说明 |
58
+ | :--- | :--- | :--- | :--- |
59
+ | `nodeId` | `string` | 是 | 要删除的节点 ID。 |
60
+
61
+ **示例**
62
+
63
+ ```ts
64
+ lf.deleteNode('node_1');
65
+ ```
66
+
67
+ ### cloneNode
68
+
69
+ 克隆一个节点并返回新节点实例。
70
+
71
+ **签名**
72
+
73
+ ```ts
74
+ cloneNode(nodeId: string): BaseNodeModel
75
+ ```
76
+
77
+ **参数**
78
+
79
+ | 名称 | 类型 | 必传 | 说明 |
80
+ | :--- | :--- | :--- | :--- |
81
+ | `nodeId` | `string` | 是 | 要克隆的节点 ID。 |
82
+
83
+ **返回值**
84
+
85
+ | 类型 | 说明 |
86
+ | :--- | :--- |
87
+ | `BaseNodeModel` | 克隆得到的新节点 model 实例。 |
88
+
89
+ **示例**
90
+
91
+ ```ts
92
+ const cloned = lf.cloneNode('node_1');
93
+ console.log(cloned.id);
94
+ ```
95
+
96
+ ### changeNodeId
97
+
98
+ 修改节点 ID;若不传新 ID,会自动生成一个唯一 ID。
99
+
100
+ **签名**
101
+
102
+ ```ts
103
+ changeNodeId(oldId: string, newId?: string): void
104
+ ```
105
+
106
+ **参数**
107
+
108
+ | 名称 | 类型 | 必传 | 说明 |
109
+ | :--- | :--- | :--- | :--- |
110
+ | `oldId` | `string` | 是 | 当前节点 ID。 |
111
+ | `newId` | `string` | 否 | 新节点 ID。 |
112
+
113
+ **示例**
114
+
115
+ ```ts
116
+ lf.changeNodeId('node_1', 'new_node_1');
117
+ ```
118
+
119
+ ### changeNodeType
120
+
121
+ 修改节点类型。
122
+
123
+ **签名**
124
+
125
+ ```ts
126
+ changeNodeType(nodeId: string, type: string): void
127
+ ```
128
+
129
+ **参数**
130
+
131
+ | 名称 | 类型 | 必传 | 说明 |
132
+ | :--- | :--- | :--- | :--- |
133
+ | `nodeId` | `string` | 是 | 节点 ID。 |
134
+ | `type` | `string` | 是 | 新的节点类型。 |
135
+
136
+ **示例**
137
+
138
+ ```ts
139
+ lf.changeNodeType('node_1', 'circle');
140
+ ```
141
+
142
+ ### getNodeModelById
143
+
144
+ 获取节点的 model 实例。
145
+
146
+ **签名**
147
+
148
+ ```ts
149
+ getNodeModelById(nodeId: string): BaseNodeModel | undefined
150
+ ```
151
+
152
+ **参数**
153
+
154
+ | 名称 | 类型 | 必传 | 说明 |
155
+ | :--- | :--- | :--- | :--- |
156
+ | `nodeId` | `string` | 是 | 节点 ID。 |
157
+
158
+ **返回值**
159
+
160
+ | 类型 | 说明 |
161
+ | :--- | :--- |
162
+ | `BaseNodeModel \| undefined` | 节点 model;不存在时返回 `undefined`。 |
163
+
164
+ **示例**
165
+
166
+ ```ts
167
+ const nodeModel = lf.getNodeModelById('node_1');
168
+ ```
169
+
170
+ ### getNodeDataById
171
+
172
+ 获取节点数据,返回格式与 `addNode` 入参一致。
173
+
174
+ **签名**
175
+
176
+ ```ts
177
+ getNodeDataById(nodeId: string): NodeConfig | undefined
178
+ ```
179
+
180
+ **参数**
181
+
182
+ | 名称 | 类型 | 必传 | 说明 |
183
+ | :--- | :--- | :--- | :--- |
184
+ | `nodeId` | `string` | 是 | 节点 ID。 |
185
+
186
+ **返回值**
187
+
188
+ | 类型 | 说明 |
189
+ | :--- | :--- |
190
+ | [`NodeConfig`](../type/MainTypes.zh.md#nodeconfig节点配置) \| `undefined` | 节点配置数据;不存在时返回 `undefined`。 |
191
+
192
+ **示例**
193
+
194
+ ```ts
195
+ const nodeData = lf.getNodeDataById('node_1');
196
+ ```
197
+
198
+ ### getNodeIncomingEdge
199
+
200
+ 获取所有以该节点为终点的边。
201
+
202
+ **签名**
203
+
204
+ ```ts
205
+ getNodeIncomingEdge(nodeId: string): BaseEdgeModel[]
206
+ ```
207
+
208
+ **参数**
209
+
210
+ | 名称 | 类型 | 必传 | 说明 |
211
+ | :--- | :--- | :--- | :--- |
212
+ | `nodeId` | `string` | 是 | 节点 ID。 |
213
+
214
+ **返回值**
215
+
216
+ | 类型 | 说明 |
217
+ | :--- | :--- |
218
+ | `BaseEdgeModel[]` | 入边 model 列表。 |
219
+
220
+ **示例**
221
+
222
+ ```ts
223
+ const incomingEdges = lf.getNodeIncomingEdge('node_1');
224
+ ```
225
+
226
+ ### getNodeOutgoingEdge
227
+
228
+ 获取所有以该节点为起点的边。
229
+
230
+ **签名**
231
+
232
+ ```ts
233
+ getNodeOutgoingEdge(nodeId: string): BaseEdgeModel[]
234
+ ```
235
+
236
+ **参数**
237
+
238
+ | 名称 | 类型 | 必传 | 说明 |
239
+ | :--- | :--- | :--- | :--- |
240
+ | `nodeId` | `string` | 是 | 节点 ID。 |
241
+
242
+ **返回值**
243
+
244
+ | 类型 | 说明 |
245
+ | :--- | :--- |
246
+ | `BaseEdgeModel[]` | 出边 model 列表。 |
247
+
248
+ **示例**
249
+
250
+ ```ts
251
+ const outgoingEdges = lf.getNodeOutgoingEdge('node_1');
252
+ ```
253
+
254
+ ### getNodeIncomingNode
255
+
256
+ 获取所有连入该节点的上游节点。
257
+
258
+ **签名**
259
+
260
+ ```ts
261
+ getNodeIncomingNode(nodeId: string): BaseNodeModel[]
262
+ ```
263
+
264
+ **参数**
265
+
266
+ | 名称 | 类型 | 必传 | 说明 |
267
+ | :--- | :--- | :--- | :--- |
268
+ | `nodeId` | `string` | 是 | 节点 ID。 |
269
+
270
+ **返回值**
271
+
272
+ | 类型 | 说明 |
273
+ | :--- | :--- |
274
+ | `BaseNodeModel[]` | 上游节点 model 列表。 |
275
+
276
+ **示例**
277
+
278
+ ```ts
279
+ const incomingNodes = lf.getNodeIncomingNode('node_1');
280
+ ```
281
+
282
+ ### getNodeOutgoingNode
283
+
284
+ 获取所有由该节点连出的下游节点。
285
+
286
+ **签名**
287
+
288
+ ```ts
289
+ getNodeOutgoingNode(nodeId: string): BaseNodeModel[]
290
+ ```
291
+
292
+ **参数**
293
+
294
+ | 名称 | 类型 | 必传 | 说明 |
295
+ | :--- | :--- | :--- | :--- |
296
+ | `nodeId` | `string` | 是 | 节点 ID。 |
297
+
298
+ **返回值**
299
+
300
+ | 类型 | 说明 |
301
+ | :--- | :--- |
302
+ | `BaseNodeModel[]` | 下游节点 model 列表。 |
303
+
304
+ **示例**
305
+
306
+ ```ts
307
+ const outgoingNodes = lf.getNodeOutgoingNode('node_1');
308
+ ```
@@ -0,0 +1,76 @@
1
+ ---
2
+ nav: API
3
+ group:
4
+ title: LogicFlow Instance
5
+ order: 2
6
+ title: Registration
7
+ toc: content
8
+ order: 10
9
+ ---
10
+
11
+ This page documents instance APIs for registering custom nodes and edges.
12
+
13
+ ### register
14
+
15
+ Register a single custom node or edge type.
16
+
17
+ **Signature**
18
+
19
+ ```ts
20
+ register(config: RegisterConfig): void
21
+ ```
22
+
23
+ See [`RegisterConfig`](../type/MainTypes.en.md#registerconfig) for the parameter shape.
24
+
25
+ **Example**
26
+
27
+ ```ts
28
+ import { RectNode, RectNodeModel } from '@logicflow/core';
29
+
30
+ class CustomRectNode extends RectNode {}
31
+
32
+ class CustomRectModel extends RectNodeModel {
33
+ setAttributes() {
34
+ this.width = 200;
35
+ this.height = 80;
36
+ this.radius = 50;
37
+ }
38
+ }
39
+
40
+ lf.register({
41
+ type: 'custom-rect',
42
+ view: CustomRectNode,
43
+ model: CustomRectModel,
44
+ });
45
+ ```
46
+
47
+ ### batchRegister
48
+
49
+ Register multiple custom nodes or edges at once.
50
+
51
+ **Signature**
52
+
53
+ ```ts
54
+ batchRegister(configList: RegisterConfig[]): void
55
+ ```
56
+
57
+ See [`RegisterConfig`](../type/MainTypes.en.md#registerconfig).
58
+
59
+ **Example**
60
+
61
+ ```ts
62
+ lf.batchRegister([
63
+ {
64
+ type: 'user',
65
+ view: UserNode,
66
+ model: UserModel,
67
+ },
68
+ {
69
+ type: 'user1',
70
+ view: UserNode1,
71
+ model: UserModel1,
72
+ },
73
+ ]);
74
+ ```
75
+
76
+ Global plugin registration: [LogicFlow.use](../logicflow-constructor/use.en.md).