@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.
- package/README.md +32 -0
- package/dist/docs/api/logicflow-constructor/index.en.md +106 -0
- package/dist/docs/api/logicflow-constructor/index.zh.md +106 -0
- package/dist/docs/api/logicflow-constructor/use.en.md +61 -0
- package/dist/docs/api/logicflow-constructor/use.zh.md +61 -0
- package/dist/docs/api/logicflow-instance/canvas.en.md +197 -0
- package/dist/docs/api/logicflow-instance/canvas.zh.md +199 -0
- package/dist/docs/api/logicflow-instance/edge.en.md +273 -0
- package/dist/docs/api/logicflow-instance/edge.zh.md +273 -0
- package/dist/docs/api/logicflow-instance/edit-config.en.md +59 -0
- package/dist/docs/api/logicflow-instance/edit-config.zh.md +59 -0
- package/dist/docs/api/logicflow-instance/element.en.md +375 -0
- package/dist/docs/api/logicflow-instance/element.zh.md +379 -0
- package/dist/docs/api/logicflow-instance/event.en.md +326 -0
- package/dist/docs/api/logicflow-instance/event.zh.md +406 -0
- package/dist/docs/api/logicflow-instance/history.en.md +38 -0
- package/dist/docs/api/logicflow-instance/history.zh.md +38 -0
- package/dist/docs/api/logicflow-instance/index.en.md +41 -0
- package/dist/docs/api/logicflow-instance/index.zh.md +41 -0
- package/dist/docs/api/logicflow-instance/node.en.md +308 -0
- package/dist/docs/api/logicflow-instance/node.zh.md +308 -0
- package/dist/docs/api/logicflow-instance/register.en.md +76 -0
- package/dist/docs/api/logicflow-instance/register.zh.md +76 -0
- package/dist/docs/api/logicflow-instance/render-and-data.en.md +179 -0
- package/dist/docs/api/logicflow-instance/render-and-data.zh.md +181 -0
- package/dist/docs/api/logicflow-instance/text.en.md +60 -0
- package/dist/docs/api/logicflow-instance/text.zh.md +60 -0
- package/dist/docs/api/logicflow-instance/theme.en.md +179 -0
- package/dist/docs/api/logicflow-instance/theme.zh.md +179 -0
- package/dist/docs/api/runtime-model/edgeModel.en.md +29 -0
- package/dist/docs/api/runtime-model/edgeModel.zh.md +325 -0
- package/dist/docs/api/runtime-model/graphModel.en.md +275 -0
- package/dist/docs/api/runtime-model/graphModel.zh.md +1153 -0
- package/dist/docs/api/runtime-model/nodeModel.en.md +37 -0
- package/dist/docs/api/runtime-model/nodeModel.zh.md +644 -0
- package/dist/docs/api/type/MainTypes.en.md +598 -0
- package/dist/docs/api/type/MainTypes.zh.md +867 -0
- package/dist/docs/api/type/Theme.en.md +187 -0
- package/dist/docs/api/type/Theme.zh.md +187 -0
- package/dist/docs/api/type/canvas-types.en.md +25 -0
- package/dist/docs/api/type/canvas-types.zh.md +25 -0
- package/dist/docs/api/type/index.en.md +96 -0
- package/dist/docs/api/type/index.zh.md +99 -0
- package/dist/docs/api/type/node-types.en.md +21 -0
- package/dist/docs/api/type/node-types.zh.md +21 -0
- package/dist/docs/api/type/plugin-types.en.md +24 -0
- package/dist/docs/api/type/plugin-types.zh.md +24 -0
- package/dist/docs/index.md +11 -0
- package/dist/docs/tutorial/about.en.md +38 -0
- package/dist/docs/tutorial/about.zh.md +65 -0
- package/dist/docs/tutorial/advanced/dnd.en.md +62 -0
- package/dist/docs/tutorial/advanced/dnd.zh.md +52 -0
- package/dist/docs/tutorial/advanced/edge.en.md +64 -0
- package/dist/docs/tutorial/advanced/edge.zh.md +66 -0
- package/dist/docs/tutorial/advanced/keyboard.en.md +70 -0
- package/dist/docs/tutorial/advanced/keyboard.zh.md +67 -0
- package/dist/docs/tutorial/advanced/node.en.md +338 -0
- package/dist/docs/tutorial/advanced/node.zh.md +338 -0
- package/dist/docs/tutorial/advanced/react.en.md +106 -0
- package/dist/docs/tutorial/advanced/react.zh.md +114 -0
- package/dist/docs/tutorial/advanced/silent-mode.en.md +75 -0
- package/dist/docs/tutorial/advanced/silent-mode.zh.md +71 -0
- package/dist/docs/tutorial/advanced/snapline.en.md +54 -0
- package/dist/docs/tutorial/advanced/vue.en.md +249 -0
- package/dist/docs/tutorial/advanced/vue.zh.md +248 -0
- package/dist/docs/tutorial/ai.en.md +64 -0
- package/dist/docs/tutorial/ai.zh.md +64 -0
- package/dist/docs/tutorial/basic/background.en.md +50 -0
- package/dist/docs/tutorial/basic/canvas.en.md +164 -0
- package/dist/docs/tutorial/basic/canvas.zh.md +183 -0
- package/dist/docs/tutorial/basic/class.en.md +106 -0
- package/dist/docs/tutorial/basic/class.zh.md +103 -0
- package/dist/docs/tutorial/basic/edge.en.md +151 -0
- package/dist/docs/tutorial/basic/edge.zh.md +152 -0
- package/dist/docs/tutorial/basic/event.en.md +70 -0
- package/dist/docs/tutorial/basic/event.zh.md +66 -0
- package/dist/docs/tutorial/basic/grid.en.md +77 -0
- package/dist/docs/tutorial/basic/node.en.md +358 -0
- package/dist/docs/tutorial/basic/node.zh.md +318 -0
- package/dist/docs/tutorial/basic/theme.en.md +154 -0
- package/dist/docs/tutorial/basic/theme.zh.md +157 -0
- package/dist/docs/tutorial/extension/adapter.en.md +446 -0
- package/dist/docs/tutorial/extension/adapter.zh.md +429 -0
- package/dist/docs/tutorial/extension/bpmn-element.en.md +1427 -0
- package/dist/docs/tutorial/extension/bpmn-element.zh.md +1472 -0
- package/dist/docs/tutorial/extension/control.en.md +117 -0
- package/dist/docs/tutorial/extension/control.zh.md +118 -0
- package/dist/docs/tutorial/extension/curved-edge.en.md +46 -0
- package/dist/docs/tutorial/extension/curved-edge.zh.md +46 -0
- package/dist/docs/tutorial/extension/custom.en.md +142 -0
- package/dist/docs/tutorial/extension/custom.zh.md +138 -0
- package/dist/docs/tutorial/extension/dnd-panel.en.md +109 -0
- package/dist/docs/tutorial/extension/dnd-panel.zh.md +109 -0
- package/dist/docs/tutorial/extension/dynamic-group.en.md +606 -0
- package/dist/docs/tutorial/extension/dynamic-group.zh.md +606 -0
- package/dist/docs/tutorial/extension/group.en.md +217 -0
- package/dist/docs/tutorial/extension/group.zh.md +209 -0
- package/dist/docs/tutorial/extension/highlight.en.md +50 -0
- package/dist/docs/tutorial/extension/highlight.zh.md +50 -0
- package/dist/docs/tutorial/extension/insert-node-in-polyline.en.md +52 -0
- package/dist/docs/tutorial/extension/insert-node-in-polyline.zh.md +47 -0
- package/dist/docs/tutorial/extension/intro.en.md +72 -0
- package/dist/docs/tutorial/extension/intro.zh.md +95 -0
- package/dist/docs/tutorial/extension/label.en.md +136 -0
- package/dist/docs/tutorial/extension/label.zh.md +135 -0
- package/dist/docs/tutorial/extension/layout.en.md +156 -0
- package/dist/docs/tutorial/extension/layout.zh.md +156 -0
- package/dist/docs/tutorial/extension/menu.en.md +319 -0
- package/dist/docs/tutorial/extension/menu.zh.md +377 -0
- package/dist/docs/tutorial/extension/minimap.en.md +164 -0
- package/dist/docs/tutorial/extension/minimap.zh.md +180 -0
- package/dist/docs/tutorial/extension/node-resize.en.md +199 -0
- package/dist/docs/tutorial/extension/node-resize.zh.md +221 -0
- package/dist/docs/tutorial/extension/pool.en.md +227 -0
- package/dist/docs/tutorial/extension/pool.zh.md +227 -0
- package/dist/docs/tutorial/extension/proximity-connect.en.md +104 -0
- package/dist/docs/tutorial/extension/proximity-connect.zh.md +107 -0
- package/dist/docs/tutorial/extension/selection.en.md +166 -0
- package/dist/docs/tutorial/extension/selection.zh.md +150 -0
- package/dist/docs/tutorial/extension/snapshot.en.md +276 -0
- package/dist/docs/tutorial/extension/snapshot.zh.md +276 -0
- package/dist/docs/tutorial/get-started.en.md +501 -0
- package/dist/docs/tutorial/get-started.zh.md +139 -0
- package/dist/docs/tutorial/update.en.md +213 -0
- package/dist/docs/tutorial/update.zh.md +212 -0
- package/package.json +5 -3
- package/scripts/postinstall-ai-prompt.js +67 -0
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: API
|
|
3
|
+
group:
|
|
4
|
+
title: LogicFlow 实例
|
|
5
|
+
order: 2
|
|
6
|
+
title: 元素相关
|
|
7
|
+
toc: content
|
|
8
|
+
order: 4
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
本页汇总 LogicFlow 实例中面向节点与边等元素的批量操作、选择控制与属性更新方法。
|
|
12
|
+
|
|
13
|
+
### addElements
|
|
14
|
+
|
|
15
|
+
批量添加节点和边。
|
|
16
|
+
|
|
17
|
+
**签名**
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
addElements(data: GraphData): void
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**参数**
|
|
24
|
+
|
|
25
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
26
|
+
| :--- | :--- | :--- | :--- |
|
|
27
|
+
| `data` | [`GraphData`](../type/MainTypes.zh.md#graphdata画布数据) | 是 | 批量添加的节点与边数据。 |
|
|
28
|
+
|
|
29
|
+
**示例**
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
lf.addElements({
|
|
33
|
+
nodes: [{ id: 'node_1', type: 'rect', x: 100, y: 100 }],
|
|
34
|
+
edges: [],
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### selectElementById
|
|
39
|
+
|
|
40
|
+
选中指定图形元素。
|
|
41
|
+
|
|
42
|
+
**签名**
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
selectElementById(id: string, multiple?: boolean, toFront?: boolean): BaseNodeModel | BaseEdgeModel
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**参数**
|
|
49
|
+
|
|
50
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
51
|
+
| :--- | :--- | :--- | :--- |
|
|
52
|
+
| `id` | `string` | 是 | 节点或边 ID。 |
|
|
53
|
+
| `multiple` | `boolean` | 否 | 是否多选;`true` 时保留已有选中项。 |
|
|
54
|
+
| `toFront` | `boolean` | 否 | 是否将选中元素置顶。 |
|
|
55
|
+
|
|
56
|
+
**返回值**
|
|
57
|
+
|
|
58
|
+
| 类型 | 说明 |
|
|
59
|
+
| :--- | :--- |
|
|
60
|
+
| `BaseNodeModel \| BaseEdgeModel` | 选中的元素 model。 |
|
|
61
|
+
|
|
62
|
+
**示例**
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
lf.selectElementById('node_1', true, true);
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### deselectElementById
|
|
69
|
+
|
|
70
|
+
取消指定元素的选中状态。
|
|
71
|
+
|
|
72
|
+
**签名**
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
deselectElementById(id: string): void
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**参数**
|
|
79
|
+
|
|
80
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
81
|
+
| :--- | :--- | :--- | :--- |
|
|
82
|
+
| `id` | `string` | 是 | 元素 ID。 |
|
|
83
|
+
|
|
84
|
+
**示例**
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
lf.deselectElementById('node_1');
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### getSelectElements
|
|
91
|
+
|
|
92
|
+
获取当前选中的所有元素数据。
|
|
93
|
+
|
|
94
|
+
**签名**
|
|
95
|
+
|
|
96
|
+
```ts
|
|
97
|
+
getSelectElements(isIgnoreCheck?: boolean): GraphConfigData
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**参数**
|
|
101
|
+
|
|
102
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
103
|
+
| :--- | :--- | :--- | :--- |
|
|
104
|
+
| `isIgnoreCheck` | `boolean` | 否 | 是否包含 source/target 未被选中的边,默认包含。 |
|
|
105
|
+
|
|
106
|
+
**返回值**
|
|
107
|
+
|
|
108
|
+
| 类型 | 说明 |
|
|
109
|
+
| :--- | :--- |
|
|
110
|
+
| [`GraphConfigData`](../type/MainTypes.zh.md#graphconfigdata流程图渲染数据类型) | 当前选中元素数据。 |
|
|
111
|
+
|
|
112
|
+
**示例**
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
lf.getSelectElements(false);
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### clearSelectElements
|
|
119
|
+
|
|
120
|
+
取消所有元素的选中状态。
|
|
121
|
+
|
|
122
|
+
**签名**
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
clearSelectElements(): void
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**示例**
|
|
129
|
+
|
|
130
|
+
```ts
|
|
131
|
+
lf.clearSelectElements();
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### getModelById
|
|
135
|
+
|
|
136
|
+
按节点或边 ID 获取对应 model。
|
|
137
|
+
|
|
138
|
+
**签名**
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
getModelById(id: string): BaseNodeModel | BaseEdgeModel | undefined
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**参数**
|
|
145
|
+
|
|
146
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
147
|
+
| :--- | :--- | :--- | :--- |
|
|
148
|
+
| `id` | `string` | 是 | 节点或边 ID。 |
|
|
149
|
+
|
|
150
|
+
**返回值**
|
|
151
|
+
|
|
152
|
+
| 类型 | 说明 |
|
|
153
|
+
| :--- | :--- |
|
|
154
|
+
| `BaseNodeModel \| BaseEdgeModel \| undefined` | 元素 model;不存在时返回 `undefined`。 |
|
|
155
|
+
|
|
156
|
+
**示例**
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
lf.getModelById('node_id');
|
|
160
|
+
lf.getModelById('edge_id');
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### getDataById
|
|
164
|
+
|
|
165
|
+
按节点或边 ID 获取对应数据。
|
|
166
|
+
|
|
167
|
+
**签名**
|
|
168
|
+
|
|
169
|
+
```ts
|
|
170
|
+
getDataById(id: string): NodeConfig | EdgeConfig | undefined
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**参数**
|
|
174
|
+
|
|
175
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
176
|
+
| :--- | :--- | :--- | :--- |
|
|
177
|
+
| `id` | `string` | 是 | 节点或边 ID。 |
|
|
178
|
+
|
|
179
|
+
**返回值**
|
|
180
|
+
|
|
181
|
+
| 类型 | 说明 |
|
|
182
|
+
| :--- | :--- |
|
|
183
|
+
| [`NodeConfig`](../type/MainTypes.zh.md#nodeconfig节点配置) \| [`EdgeConfig`](../type/MainTypes.zh.md#edgeconfig边配置) \| `undefined` | 元素数据;不存在时返回 `undefined`。 |
|
|
184
|
+
|
|
185
|
+
### deleteElement
|
|
186
|
+
|
|
187
|
+
删除节点或边元素。
|
|
188
|
+
|
|
189
|
+
**签名**
|
|
190
|
+
|
|
191
|
+
```ts
|
|
192
|
+
deleteElement(id: string): boolean
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**参数**
|
|
196
|
+
|
|
197
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
198
|
+
| :--- | :--- | :--- | :--- |
|
|
199
|
+
| `id` | `string` | 是 | 节点或边 ID。 |
|
|
200
|
+
|
|
201
|
+
**返回值**
|
|
202
|
+
|
|
203
|
+
| 类型 | 说明 |
|
|
204
|
+
| :--- | :--- |
|
|
205
|
+
| `boolean` | 是否删除成功。 |
|
|
206
|
+
|
|
207
|
+
**示例**
|
|
208
|
+
|
|
209
|
+
```ts
|
|
210
|
+
lf.deleteElement('node_id');
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### setElementZIndex
|
|
214
|
+
|
|
215
|
+
设置元素 zIndex。
|
|
216
|
+
|
|
217
|
+
**签名**
|
|
218
|
+
|
|
219
|
+
```ts
|
|
220
|
+
setElementZIndex(id: string, zIndex: string | number): void
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**参数**
|
|
224
|
+
|
|
225
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
226
|
+
| :--- | :--- | :--- | :--- |
|
|
227
|
+
| `id` | `string` | 是 | 节点或边 ID。 |
|
|
228
|
+
| `zIndex` | `string \| number` | 是 | 可传数字或 `top` / `bottom`。 |
|
|
229
|
+
|
|
230
|
+
**示例**
|
|
231
|
+
|
|
232
|
+
```ts
|
|
233
|
+
lf.setElementZIndex('element_id', 'top');
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### getAreaElement
|
|
237
|
+
|
|
238
|
+
获取指定 DOM 区域内的元素集合。
|
|
239
|
+
|
|
240
|
+
**签名**
|
|
241
|
+
|
|
242
|
+
```ts
|
|
243
|
+
getAreaElement(
|
|
244
|
+
leftTopPoint: PointTuple,
|
|
245
|
+
rightBottomPoint: PointTuple,
|
|
246
|
+
wholeEdge?: boolean,
|
|
247
|
+
wholeNode?: boolean,
|
|
248
|
+
ignoreHideElement?: boolean
|
|
249
|
+
): (BaseNodeModel | BaseEdgeModel)[]
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**参数**
|
|
253
|
+
|
|
254
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
255
|
+
| :--- | :--- | :--- | :--- |
|
|
256
|
+
| `leftTopPoint` | `PointTuple` | 是 | 区域左上点。 |
|
|
257
|
+
| `rightBottomPoint` | `PointTuple` | 是 | 区域右下点。 |
|
|
258
|
+
| `wholeEdge` | `boolean` | 否 | 是否要求整条边都在区域内。 |
|
|
259
|
+
| `wholeNode` | `boolean` | 否 | 是否要求整个节点都在区域内。 |
|
|
260
|
+
| `ignoreHideElement` | `boolean` | 否 | 是否忽略隐藏元素。 |
|
|
261
|
+
|
|
262
|
+
**返回值**
|
|
263
|
+
|
|
264
|
+
| 类型 | 说明 |
|
|
265
|
+
| :--- | :--- |
|
|
266
|
+
| `(BaseNodeModel \| BaseEdgeModel)[]` | 命中区域的元素 model 列表。 |
|
|
267
|
+
|
|
268
|
+
**示例**
|
|
269
|
+
|
|
270
|
+
```ts
|
|
271
|
+
lf.getAreaElement([100, 100], [500, 500]);
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### setProperties
|
|
275
|
+
|
|
276
|
+
设置节点或边的自定义属性。
|
|
277
|
+
|
|
278
|
+
**签名**
|
|
279
|
+
|
|
280
|
+
```ts
|
|
281
|
+
setProperties(id: string, properties: Record<string, unknown>): void
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**参数**
|
|
285
|
+
|
|
286
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
287
|
+
| :--- | :--- | :--- | :--- |
|
|
288
|
+
| `id` | `string` | 是 | 节点或边 ID。 |
|
|
289
|
+
| `properties` | `Record<string, unknown>` | 是 | 自定义属性对象。 |
|
|
290
|
+
|
|
291
|
+
**示例**
|
|
292
|
+
|
|
293
|
+
```ts
|
|
294
|
+
lf.setProperties('aF2Md2P23moN2gasd', {
|
|
295
|
+
isRollbackNode: true,
|
|
296
|
+
});
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### getProperties
|
|
300
|
+
|
|
301
|
+
获取节点或边的自定义属性。
|
|
302
|
+
|
|
303
|
+
**签名**
|
|
304
|
+
|
|
305
|
+
```ts
|
|
306
|
+
getProperties(id: string): Record<string, any>
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**参数**
|
|
310
|
+
|
|
311
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
312
|
+
| :--- | :--- | :--- | :--- |
|
|
313
|
+
| `id` | `string` | 是 | 节点或边 ID。 |
|
|
314
|
+
|
|
315
|
+
**返回值**
|
|
316
|
+
|
|
317
|
+
| 类型 | 说明 |
|
|
318
|
+
| :--- | :--- |
|
|
319
|
+
| `Record<string, any>` | 自定义属性对象。 |
|
|
320
|
+
|
|
321
|
+
**示例**
|
|
322
|
+
|
|
323
|
+
```ts
|
|
324
|
+
lf.getProperties('id');
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### deleteProperty
|
|
328
|
+
|
|
329
|
+
删除节点或边的指定属性键。
|
|
330
|
+
|
|
331
|
+
**签名**
|
|
332
|
+
|
|
333
|
+
```ts
|
|
334
|
+
deleteProperty(id: string, key: string): void
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
**参数**
|
|
338
|
+
|
|
339
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
340
|
+
| :--- | :--- | :--- | :--- |
|
|
341
|
+
| `id` | `string` | 是 | 节点或边 ID。 |
|
|
342
|
+
| `key` | `string` | 是 | 要删除的属性键名。 |
|
|
343
|
+
|
|
344
|
+
**示例**
|
|
345
|
+
|
|
346
|
+
```ts
|
|
347
|
+
lf.deleteProperty('aF2Md2P23moN2gasd', 'isRollbackNode');
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### updateAttributes
|
|
351
|
+
|
|
352
|
+
修改元素 model 属性;该方法内部调用 `graphModel` 的同名能力。
|
|
353
|
+
|
|
354
|
+
:::warning{title=注意}
|
|
355
|
+
此方法慎用,除非您对 LogicFlow 内部有足够了解。
|
|
356
|
+
大多数情况下,请优先使用 `setProperties`、`updateText`、`changeNodeId` 等更高层方法。
|
|
357
|
+
例如直接使用该方法修改节点 `id`,可能导致连接到此节点的边出现 `sourceNodeId` 无法匹配的问题。
|
|
358
|
+
:::
|
|
359
|
+
|
|
360
|
+
**签名**
|
|
361
|
+
|
|
362
|
+
```ts
|
|
363
|
+
updateAttributes(id: string, attributes: object): void
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
更多说明参考 [`graphModel.updateAttributes`](../runtime-model/graphModel.zh.md#updateattributes)。
|
|
367
|
+
|
|
368
|
+
**参数**
|
|
369
|
+
|
|
370
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
371
|
+
| :--- | :--- | :--- | :--- |
|
|
372
|
+
| `id` | `string` | 是 | 元素 ID。 |
|
|
373
|
+
| `attributes` | `object` | 是 | 要更新的 model 属性。 |
|
|
374
|
+
|
|
375
|
+
**示例**
|
|
376
|
+
|
|
377
|
+
```ts
|
|
378
|
+
lf.updateAttributes('node_id_1', { radius: 4 });
|
|
379
|
+
```
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: API
|
|
3
|
+
group:
|
|
4
|
+
title: LogicFlow Instance
|
|
5
|
+
order: 2
|
|
6
|
+
title: Events
|
|
7
|
+
toc: content
|
|
8
|
+
order: 7
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<style>
|
|
12
|
+
table td:first-of-type {
|
|
13
|
+
word-break: normal;
|
|
14
|
+
}
|
|
15
|
+
</style>
|
|
16
|
+
|
|
17
|
+
LogicFlow exposes an event bus so your code can react to diagram interactions. For narrative examples, see the guide [Events](../../tutorial/basic/event.en.md).
|
|
18
|
+
|
|
19
|
+
## Event APIs
|
|
20
|
+
|
|
21
|
+
### on
|
|
22
|
+
|
|
23
|
+
Subscribe to one or many events (comma-separated names).
|
|
24
|
+
|
|
25
|
+
**Parameters**
|
|
26
|
+
|
|
27
|
+
| Name | Type | Required | Default | Description |
|
|
28
|
+
| :------- | :------------ | :--- | :----- | :----------------------------------- |
|
|
29
|
+
| evt | string | Yes | - | Event name(s). |
|
|
30
|
+
| callback | EventCallback | Yes | - | Handler. |
|
|
31
|
+
|
|
32
|
+
**Example**
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
lf.on('node:click', (data) => {
|
|
36
|
+
console.log('node clicked', data);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
lf.on('node:click,edge:click', (data) => {
|
|
40
|
+
console.log('element clicked', data);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
lf.on('node:drag', ({ data }) => {
|
|
44
|
+
console.log('dragging', data.id, data.x, data.y);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
lf.on('blank:click', ({ e }) => {
|
|
48
|
+
console.log('blank click', e.x, e.y);
|
|
49
|
+
});
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Notes**
|
|
53
|
+
|
|
54
|
+
- Multiple listeners stack for the same event.
|
|
55
|
+
- Payload shape depends on the specific event.
|
|
56
|
+
|
|
57
|
+
### off
|
|
58
|
+
|
|
59
|
+
Remove a listener; pass the same function reference used with `on`.
|
|
60
|
+
|
|
61
|
+
**Parameters**
|
|
62
|
+
|
|
63
|
+
| Name | Type | Required | Default | Description |
|
|
64
|
+
| :------- | :------------ | :--- | :----- | :----------------------------------- |
|
|
65
|
+
| evt | string | Yes | - | Event name(s). |
|
|
66
|
+
| callback | EventCallback | Yes | - | Handler to remove. |
|
|
67
|
+
|
|
68
|
+
**Example**
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
const handleNodeClick = (data) => {
|
|
72
|
+
console.log('node clicked', data);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
lf.on('node:click', handleNodeClick);
|
|
76
|
+
lf.off('node:click', handleNodeClick);
|
|
77
|
+
lf.off('node:click,edge:click', handleNodeClick);
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### once
|
|
81
|
+
|
|
82
|
+
Like `on`, but the handler fires once and is removed automatically.
|
|
83
|
+
|
|
84
|
+
**Parameters**
|
|
85
|
+
|
|
86
|
+
| Name | Type | Required | Default | Description |
|
|
87
|
+
| :------- | :------------ | :--- | :----- | :----------------------------------- |
|
|
88
|
+
| evt | string | Yes | - | Event name(s). |
|
|
89
|
+
| callback | EventCallback | Yes | - | Handler. |
|
|
90
|
+
|
|
91
|
+
**Example**
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
lf.once('node:click', (data) => {
|
|
95
|
+
console.log('first click only', data);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
lf.once('graph:rendered', (data) => {
|
|
99
|
+
console.log('rendered', data);
|
|
100
|
+
});
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### emit
|
|
104
|
+
|
|
105
|
+
Manually dispatch an event (mostly for custom channels).
|
|
106
|
+
|
|
107
|
+
**Parameters**
|
|
108
|
+
|
|
109
|
+
| Name | Type | Required | Default | Description |
|
|
110
|
+
| :-------- | :-------- | :--- | :----- | :------- |
|
|
111
|
+
| evt | string | Yes | - | Event name. |
|
|
112
|
+
| eventArgs | EventArgs | Yes | - | Payload. |
|
|
113
|
+
|
|
114
|
+
**Example**
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
lf.emit('custom:event', {
|
|
118
|
+
type: 'custom:event',
|
|
119
|
+
data: {
|
|
120
|
+
message: 'Hello World',
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
lf.on('custom:event', (data) => {
|
|
125
|
+
console.log(data);
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
lf.emit('node:click', {
|
|
129
|
+
type: 'node:click',
|
|
130
|
+
data: lf.getNodeDataById('node_1'),
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Avoid emitting built-in events unless you understand side effects.
|
|
135
|
+
|
|
136
|
+
## Event index
|
|
137
|
+
|
|
138
|
+
## Node events
|
|
139
|
+
|
|
140
|
+
| Event | Description | Payload highlights |
|
|
141
|
+
| :-------------------------------------------- | :--------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
|
|
142
|
+
| element:click | Element click | data, e, position |
|
|
143
|
+
| node:click | Node click | data, e, position |
|
|
144
|
+
| node:dbclick | Node double click | data, e, position |
|
|
145
|
+
| node:mousedown | Mouse down on node | data, e |
|
|
146
|
+
| node:mouseup | Mouse up on node | data, e |
|
|
147
|
+
| node:mousemove | Mouse move on node | data, e |
|
|
148
|
+
| node:mouseenter | Pointer enters node | data, e |
|
|
149
|
+
| node:mouseleave | Pointer leaves node | data, e |
|
|
150
|
+
| node:delete | Node removed | data |
|
|
151
|
+
| node:add | Node added | data |
|
|
152
|
+
| node:dnd-add | External drag-and-drop completed | data |
|
|
153
|
+
| node:dnd-drag | External drag in progress | data, e |
|
|
154
|
+
| node:dragstart | Node drag start | data, e |
|
|
155
|
+
| node:drag | Node dragging | data, e |
|
|
156
|
+
| node:drop | Node drag end | data, e |
|
|
157
|
+
| node:contextmenu | Context menu on node | data, e, position |
|
|
158
|
+
| node:resize<Badge>2.0</Badge> | Resize handles | preData, data, model, deltaX, deltaY, index |
|
|
159
|
+
| node:properties-change<Badge>2.0</Badge> | `properties` mutation | id, keys, preProperties, properties |
|
|
160
|
+
|
|
161
|
+
Payload reference:
|
|
162
|
+
|
|
163
|
+
| Field | Type | Meaning |
|
|
164
|
+
| :------- | :--------- | :------------------------------------------------------------------------------------------------------------- |
|
|
165
|
+
| data | Object | Node data fields ([data properties](../runtime-model/nodeModel.en.md#data-properties)). |
|
|
166
|
+
| e | MouseEvent | Native mouse event. |
|
|
167
|
+
| position | Object | Canvas coordinates (same shape as [`getPointByClient`](./canvas.en.md#getpointbyclient)). |
|
|
168
|
+
|
|
169
|
+
## Edge events
|
|
170
|
+
|
|
171
|
+
| Event | Description | Payload highlights |
|
|
172
|
+
| :--------------------- | :---------------- | :---------------- |
|
|
173
|
+
| element:click | Element click | data, e, position |
|
|
174
|
+
| edge:click | Edge click | data, e, position |
|
|
175
|
+
| edge:dbclick | Edge double click | data, e |
|
|
176
|
+
| edge:mouseenter | Pointer enters edge | data, e |
|
|
177
|
+
| edge:mouseleave | Pointer leaves edge | data, e |
|
|
178
|
+
| edge:add | Edge created | data |
|
|
179
|
+
| edge:delete | Edge removed | data |
|
|
180
|
+
| edge:contextmenu | Context menu on edge | data, e, position |
|
|
181
|
+
| edge:adjust | Polyline/endpoint adjusted | data |
|
|
182
|
+
| edge:exchange-node | Edge endpoints swapped | data |
|
|
183
|
+
| connection:not-allowed | Validation rejected a link | data, msg |
|
|
184
|
+
|
|
185
|
+
| Field | Type | Meaning |
|
|
186
|
+
| :------- | :--------- | :------------------------------------------------------------------------------------------------------------- |
|
|
187
|
+
| data | Object | Edge data ([data properties](../runtime-model/edgeModel.en.md#data-properties)). |
|
|
188
|
+
| e | MouseEvent | Native mouse event. |
|
|
189
|
+
| position | Object | Canvas coordinates ([`getPointByClient`](./canvas.en.md#getpointbyclient)). |
|
|
190
|
+
| msg | string | Validation message when connection fails. |
|
|
191
|
+
|
|
192
|
+
## Anchor events
|
|
193
|
+
|
|
194
|
+
| Event | Description | Payload |
|
|
195
|
+
| :--------------- | :------------------------------------------------------------------------------------------------------ | :---------------------------- |
|
|
196
|
+
| anchor:dragstart | Manual edge creation started | data, e, nodeModel |
|
|
197
|
+
| anchor:drop | Edge successfully created from anchor drag | data, e, nodeModel, edgeModel |
|
|
198
|
+
| anchor:drag | Anchor drag move | data, e, nodeModel |
|
|
199
|
+
| anchor:dragend | Anchor gesture finished (success or cancel) | data, e, nodeModel |
|
|
200
|
+
|
|
201
|
+
| Field | Type | Meaning |
|
|
202
|
+
| :-------- | :--------- | :----------------- |
|
|
203
|
+
| data | Object | Anchor payload. |
|
|
204
|
+
| e | MouseEvent | Native mouse event. |
|
|
205
|
+
| nodeModel | Object | Owner node model. |
|
|
206
|
+
|
|
207
|
+
## Canvas events
|
|
208
|
+
|
|
209
|
+
| Event | Description | Payload |
|
|
210
|
+
| :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------- |
|
|
211
|
+
| blank:mousedown | Canvas mouse down | e |
|
|
212
|
+
| blank:mousemove | Canvas mouse move | e |
|
|
213
|
+
| blank:mouseup | Canvas mouse up | e |
|
|
214
|
+
| blank:click | Canvas click | e |
|
|
215
|
+
| blank:contextmenu | Canvas context menu | e, position |
|
|
216
|
+
| blank:dragstart | Canvas drag start | e |
|
|
217
|
+
| blank:drag | Canvas dragging | e |
|
|
218
|
+
| blank:drop | Canvas drag end | e |
|
|
219
|
+
| text:update | Label text updated | data |
|
|
220
|
+
| graph:transform | Pan/zoom changed | data |
|
|
221
|
+
| graph:rendered | After `lf.render` completes (`v1.1.0`) | graphData |
|
|
222
|
+
| graph:updated | Any graph refresh (`v2.0.0`) | - |
|
|
223
|
+
|
|
224
|
+
| Field | Type | Meaning |
|
|
225
|
+
| :------- | :--------- | :------------------------------------------------------------------------------------------------------------- |
|
|
226
|
+
| e | MouseEvent | Native mouse event. |
|
|
227
|
+
| position | Object | Canvas coordinates ([`getPointByClient`](./canvas.en.md#getpointbyclient)). |
|
|
228
|
+
|
|
229
|
+
## History events
|
|
230
|
+
|
|
231
|
+
The history plugin emits when undo/redo stacks change.
|
|
232
|
+
|
|
233
|
+
| Event | Description | Payload |
|
|
234
|
+
| :------------- | :------- | :------- |
|
|
235
|
+
| history:change | Stack snapshot updated | data |
|
|
236
|
+
|
|
237
|
+
| Field | Type | Meaning |
|
|
238
|
+
| :------- | :------ | :------------------ |
|
|
239
|
+
| undos | Array | Undo snapshots. |
|
|
240
|
+
| redos | Array | Redo snapshots. |
|
|
241
|
+
| undoAble | boolean | Undo available. |
|
|
242
|
+
| redoAble | boolean | Redo available. |
|
|
243
|
+
|
|
244
|
+
## Selection events
|
|
245
|
+
|
|
246
|
+
Emitted when marquee / multi-select plugins manipulate regions.
|
|
247
|
+
|
|
248
|
+
| Event | Description | Payload |
|
|
249
|
+
| :-------------------- | :------------- | :------------- |
|
|
250
|
+
| selection:selected | Box selection finished | Selected elements |
|
|
251
|
+
| selection:mousedown | Selection mouse down | e |
|
|
252
|
+
| selection:dragstart | Selection drag start | e |
|
|
253
|
+
| selection:drag | Selection dragging | e |
|
|
254
|
+
| selection:drop | Selection drag end | e |
|
|
255
|
+
| selection:mousemove | Selection pointer move | e, position |
|
|
256
|
+
| selection:mouseup | Selection mouse up | e |
|
|
257
|
+
| selection:contextmenu | Selection context menu | e |
|
|
258
|
+
|
|
259
|
+
## Text events
|
|
260
|
+
|
|
261
|
+
Inline text editing gestures.
|
|
262
|
+
|
|
263
|
+
| Event | Description | Payload |
|
|
264
|
+
| :------------- | :------------------- | :---------------------- |
|
|
265
|
+
| text:mousedown | Mouse down on text | e, data |
|
|
266
|
+
| text:dragstart | Start dragging label | e, data |
|
|
267
|
+
| text:drag | Dragging label | e, data |
|
|
268
|
+
| text:drop | Drop label | e, data |
|
|
269
|
+
| text:click | Click text | e |
|
|
270
|
+
| text:dbclick | Double click text | e |
|
|
271
|
+
| text:blur | Editor blurred | e |
|
|
272
|
+
| text:mousemove | Move inside editor | e, data, deltaX, deltaY |
|
|
273
|
+
| text:mouseup | Mouse up inside editor | e, data |
|
|
274
|
+
| text:update | Content updated | data |
|
|
275
|
+
|
|
276
|
+
## Plugin-specific events
|
|
277
|
+
|
|
278
|
+
### DndPanel
|
|
279
|
+
|
|
280
|
+
| Event | Description | Payload |
|
|
281
|
+
| :-------------------- | :--------------- | :------- |
|
|
282
|
+
| dnd:panel-dbclick | Palette double click | e, data |
|
|
283
|
+
| dnd:panel-click | Palette click | e, data |
|
|
284
|
+
| dnd:panel-contextmenu | Palette context menu | e, data |
|
|
285
|
+
|
|
286
|
+
### MiniMap
|
|
287
|
+
|
|
288
|
+
| Event | Description | Payload |
|
|
289
|
+
| :------------ | :--------------- | :------- |
|
|
290
|
+
| miniMap:close | Mini map hidden | - |
|
|
291
|
+
|
|
292
|
+
### SelectionSelect
|
|
293
|
+
|
|
294
|
+
| Event | Description | Payload |
|
|
295
|
+
| :---------------------- | :------------------------------------- | :------------------------------------------------------------------- |
|
|
296
|
+
| selection:selected-area | Marquee bounds | topLeft, bottomRight |
|
|
297
|
+
| selection:drop | Mouse up with hits | e |
|
|
298
|
+
| selection:selected | Selection committed | elements, topLeft, bottomRight |
|
|
299
|
+
|
|
300
|
+
### DynamicGroup / Group
|
|
301
|
+
|
|
302
|
+
| Event | Description | Payload |
|
|
303
|
+
| :-------------------------------------------- | :-------------------------------- | :-------------------------------------------- |
|
|
304
|
+
| group:add-node | Child added | data, childId |
|
|
305
|
+
| group:remove-node | Child removed | data, childId |
|
|
306
|
+
| group:not-allowed | Join rejected | group, node |
|
|
307
|
+
| dynamicGroup:collapse<Badge>2.1.0</Badge> | Collapse toggled | collapse, nodeModel |
|
|
308
|
+
|
|
309
|
+
### Highlight
|
|
310
|
+
|
|
311
|
+
| Event | Description | Payload |
|
|
312
|
+
| :------------------- | :-------------------------------- | :------------------- |
|
|
313
|
+
| highlight:single | Single-element highlight | data |
|
|
314
|
+
| highlight:neighbours | Neighbour highlight | data, relateElements |
|
|
315
|
+
| highlight:path | Path highlight | data, relateElements |
|
|
316
|
+
|
|
317
|
+
### Label
|
|
318
|
+
|
|
319
|
+
| Event | Description | Payload |
|
|
320
|
+
| :-------------- | :------------------- | :---------------------- |
|
|
321
|
+
| label:mousedown | Mouse down | e, data |
|
|
322
|
+
| label:dragstart | Drag start | e, data |
|
|
323
|
+
| label:drag | Dragging | e, data |
|
|
324
|
+
| label:drop | Drop | e, data |
|
|
325
|
+
| label:mousemove | Move inside label | e, data, deltaX, deltaY |
|
|
326
|
+
| label:mouseup | Mouse up | e, data |
|