@logicflow/core 2.2.0 → 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.
- 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/dist/index.css +3 -2
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/es/LogicFlow.d.ts +9 -0
- package/es/LogicFlow.js +0 -1
- package/es/constant/index.d.ts +1 -1
- package/es/constant/index.js +1 -1
- package/es/constant/theme.d.ts +136 -0
- package/es/constant/theme.js +680 -0
- package/es/index.css +3 -2
- package/es/model/GraphModel.d.ts +10 -2
- package/es/model/GraphModel.js +48 -14
- package/es/model/TransformModel.js +9 -9
- package/es/model/edge/BaseEdgeModel.js +7 -2
- package/es/model/edge/PolylineEdgeModel.d.ts +7 -0
- package/es/model/edge/PolylineEdgeModel.js +136 -7
- package/es/model/node/BaseNodeModel.d.ts +12 -1
- package/es/model/node/BaseNodeModel.js +9 -2
- package/es/model/node/HtmlNodeModel.d.ts +12 -0
- package/es/model/node/HtmlNodeModel.js +19 -0
- package/es/model/node/PolygonNodeModel.js +3 -3
- package/es/options.d.ts +4 -2
- package/es/style/index.css +3 -2
- package/es/style/index.less +3 -2
- package/es/style/raw.d.ts +1 -1
- package/es/style/raw.js +1 -1
- package/es/tool/MultipleSelectTool.js +10 -5
- package/es/util/drag.js +0 -1
- package/es/util/edge.d.ts +40 -1
- package/es/util/edge.js +43 -9
- package/es/util/geometry.d.ts +8 -0
- package/es/util/geometry.js +79 -0
- package/es/util/theme.d.ts +2 -65
- package/es/util/theme.js +4 -281
- package/es/view/Anchor.d.ts +1 -0
- package/es/view/Anchor.js +24 -21
- package/es/view/Control.d.ts +5 -0
- package/es/view/Control.js +44 -57
- package/es/view/edge/BaseEdge.js +9 -0
- package/es/view/edge/PolylineEdge.js +13 -2
- package/es/view/node/BaseNode.d.ts +1 -0
- package/es/view/node/BaseNode.js +23 -11
- package/es/view/node/HtmlNode.js +2 -4
- package/es/view/overlay/CanvasOverlay.js +5 -2
- package/es/view/overlay/Grid.d.ts +12 -1
- package/es/view/overlay/Grid.js +85 -23
- package/es/view/overlay/OutlineOverlay.d.ts +1 -0
- package/es/view/overlay/OutlineOverlay.js +18 -17
- package/es/view/overlay/gridConfig.d.ts +46 -0
- package/es/view/overlay/gridConfig.js +99 -0
- package/es/view/shape/Polygon.d.ts +0 -7
- package/es/view/shape/Polygon.js +12 -43
- package/lib/LogicFlow.d.ts +9 -0
- package/lib/LogicFlow.js +0 -1
- package/lib/constant/index.d.ts +1 -1
- package/lib/constant/index.js +16 -2
- package/lib/constant/theme.d.ts +136 -0
- package/lib/constant/theme.js +683 -0
- package/lib/index.css +3 -2
- package/lib/model/GraphModel.d.ts +10 -2
- package/lib/model/GraphModel.js +49 -15
- package/lib/model/TransformModel.js +9 -9
- package/lib/model/edge/BaseEdgeModel.js +7 -2
- package/lib/model/edge/PolylineEdgeModel.d.ts +7 -0
- package/lib/model/edge/PolylineEdgeModel.js +136 -7
- package/lib/model/node/BaseNodeModel.d.ts +12 -1
- package/lib/model/node/BaseNodeModel.js +9 -2
- package/lib/model/node/HtmlNodeModel.d.ts +12 -0
- package/lib/model/node/HtmlNodeModel.js +19 -0
- package/lib/model/node/PolygonNodeModel.js +3 -3
- package/lib/options.d.ts +4 -2
- package/lib/style/index.css +3 -2
- package/lib/style/index.less +3 -2
- package/lib/style/raw.d.ts +1 -1
- package/lib/style/raw.js +1 -1
- package/lib/tool/MultipleSelectTool.js +10 -5
- package/lib/util/drag.js +0 -1
- package/lib/util/edge.d.ts +40 -1
- package/lib/util/edge.js +43 -9
- package/lib/util/geometry.d.ts +8 -0
- package/lib/util/geometry.js +81 -1
- package/lib/util/theme.d.ts +2 -65
- package/lib/util/theme.js +15 -292
- package/lib/view/Anchor.d.ts +1 -0
- package/lib/view/Anchor.js +24 -21
- package/lib/view/Control.d.ts +5 -0
- package/lib/view/Control.js +44 -57
- package/lib/view/edge/BaseEdge.js +9 -0
- package/lib/view/edge/PolylineEdge.js +13 -2
- package/lib/view/node/BaseNode.d.ts +1 -0
- package/lib/view/node/BaseNode.js +22 -10
- package/lib/view/node/HtmlNode.js +1 -3
- package/lib/view/overlay/CanvasOverlay.js +5 -2
- package/lib/view/overlay/Grid.d.ts +12 -1
- package/lib/view/overlay/Grid.js +83 -21
- package/lib/view/overlay/OutlineOverlay.d.ts +1 -0
- package/lib/view/overlay/OutlineOverlay.js +18 -17
- package/lib/view/overlay/gridConfig.d.ts +46 -0
- package/lib/view/overlay/gridConfig.js +104 -0
- package/lib/view/shape/Polygon.d.ts +0 -7
- package/lib/view/shape/Polygon.js +13 -45
- package/package.json +9 -2
- package/scripts/postinstall-ai-prompt.js +67 -0
- package/.turbo/turbo-build$colon$dev.log +0 -10
- package/.turbo/turbo-build.log +0 -33
- package/CHANGELOG.md +0 -1849
- package/__tests__/algorithm/egde.test.ts +0 -131
- package/__tests__/algorithm/index.test.ts +0 -74
- package/__tests__/algorithm/outline.test.ts +0 -43
- package/__tests__/bugs/1545-spec.test.ts +0 -42
- package/__tests__/event/event.test.ts +0 -22
- package/__tests__/history/history.test.ts +0 -28
- package/__tests__/logicflow.test.ts +0 -575
- package/__tests__/model/graphmodel.test.ts +0 -87
- package/__tests__/util/compatible.test.ts +0 -48
- package/__tests__/util/edge.test.ts +0 -224
- package/__tests__/util/geometry.test.ts +0 -14
- package/__tests__/util/graph.test.ts +0 -16
- package/__tests__/util/matrix.test.ts +0 -41
- package/__tests__/util/node.test.ts +0 -68
- package/__tests__/util/sampling.test.ts +0 -12
- package/__tests__/util/vector.test.ts +0 -50
- package/__tests__/util/zIndex.test.ts +0 -10
- package/src/LogicFlow.tsx +0 -2008
- package/src/algorithm/edge.ts +0 -67
- package/src/algorithm/index.ts +0 -70
- package/src/algorithm/outline.ts +0 -77
- package/src/algorithm/rotate.ts +0 -55
- package/src/common/drag.ts +0 -219
- package/src/common/history.ts +0 -108
- package/src/common/index.ts +0 -6
- package/src/common/keyboard.ts +0 -108
- package/src/common/matrix.ts +0 -122
- package/src/common/vector.ts +0 -93
- package/src/constant/index.ts +0 -179
- package/src/event/event.md +0 -66
- package/src/event/eventArgs.ts +0 -643
- package/src/event/eventEmitter.ts +0 -156
- package/src/history/index.ts +0 -119
- package/src/index.less +0 -1
- package/src/index.ts +0 -26
- package/src/keyboard/index.ts +0 -112
- package/src/keyboard/shortcut.ts +0 -200
- package/src/model/BaseModel.ts +0 -250
- package/src/model/EditConfigModel.ts +0 -334
- package/src/model/GraphModel.ts +0 -1788
- package/src/model/NestedTransformModel.ts +0 -121
- package/src/model/SnaplineModel.ts +0 -256
- package/src/model/TransformModel.ts +0 -258
- package/src/model/edge/BaseEdgeModel.ts +0 -777
- package/src/model/edge/BezierEdgeModel.ts +0 -197
- package/src/model/edge/LineEdgeModel.ts +0 -36
- package/src/model/edge/PolylineEdgeModel.ts +0 -672
- package/src/model/edge/index.ts +0 -4
- package/src/model/index.ts +0 -9
- package/src/model/node/BaseNodeModel.ts +0 -949
- package/src/model/node/CircleNodeModel.ts +0 -91
- package/src/model/node/DiamondNodeModel.ts +0 -132
- package/src/model/node/EllipseNodeModel.ts +0 -98
- package/src/model/node/HtmlNodeModel.ts +0 -50
- package/src/model/node/PolygonNodeModel.ts +0 -150
- package/src/model/node/RectNodeModel.ts +0 -69
- package/src/model/node/TextNodeModel.ts +0 -54
- package/src/model/node/index.ts +0 -8
- package/src/options.ts +0 -145
- package/src/style/index.less +0 -261
- package/src/style/raw.ts +0 -220
- package/src/tool/MultipleSelectTool.tsx +0 -132
- package/src/tool/TextEditTool.tsx +0 -193
- package/src/tool/index.ts +0 -101
- package/src/typings.d.ts +0 -5
- package/src/util/animation.ts +0 -29
- package/src/util/browser.ts +0 -4
- package/src/util/compatible.ts +0 -15
- package/src/util/drag.ts +0 -220
- package/src/util/edge.ts +0 -1060
- package/src/util/geometry.ts +0 -55
- package/src/util/graph.ts +0 -46
- package/src/util/index.ts +0 -17
- package/src/util/matrix.ts +0 -129
- package/src/util/mobx.ts +0 -23
- package/src/util/node.ts +0 -543
- package/src/util/raf.ts +0 -28
- package/src/util/resize.ts +0 -606
- package/src/util/sampling.ts +0 -85
- package/src/util/theme.ts +0 -375
- package/src/util/uuid.ts +0 -26
- package/src/util/vector.ts +0 -93
- package/src/util/zIndex.ts +0 -6
- package/src/view/Anchor.tsx +0 -445
- package/src/view/Control.tsx +0 -512
- package/src/view/Graph.tsx +0 -141
- package/src/view/Rotate.tsx +0 -113
- package/src/view/behavior/dnd.ts +0 -162
- package/src/view/behavior/index.ts +0 -2
- package/src/view/behavior/snapline.ts +0 -16
- package/src/view/edge/AdjustPoint.tsx +0 -425
- package/src/view/edge/Arrow.tsx +0 -54
- package/src/view/edge/BaseEdge.tsx +0 -650
- package/src/view/edge/BezierEdge.tsx +0 -101
- package/src/view/edge/LineEdge.tsx +0 -81
- package/src/view/edge/PolylineEdge.tsx +0 -299
- package/src/view/edge/index.ts +0 -6
- package/src/view/index.ts +0 -8
- package/src/view/node/BaseNode.tsx +0 -571
- package/src/view/node/CircleNode.tsx +0 -21
- package/src/view/node/DiamondNode.tsx +0 -24
- package/src/view/node/EllipseNode.tsx +0 -22
- package/src/view/node/HtmlNode.tsx +0 -95
- package/src/view/node/PolygonNode.tsx +0 -28
- package/src/view/node/RectNode.tsx +0 -30
- package/src/view/node/TextNode.tsx +0 -39
- package/src/view/node/index.ts +0 -8
- package/src/view/overlay/BackgroundOverlay.tsx +0 -34
- package/src/view/overlay/BezierAdjustOverlay.tsx +0 -150
- package/src/view/overlay/CanvasOverlay.tsx +0 -288
- package/src/view/overlay/Grid.tsx +0 -162
- package/src/view/overlay/ModificationOverlay.tsx +0 -31
- package/src/view/overlay/OutlineOverlay.tsx +0 -170
- package/src/view/overlay/SnaplineOverlay.tsx +0 -44
- package/src/view/overlay/ToolOverlay.tsx +0 -65
- package/src/view/overlay/getTransformHoc.tsx +0 -50
- package/src/view/overlay/index.ts +0 -8
- package/src/view/shape/Circle.tsx +0 -41
- package/src/view/shape/Ellipse.tsx +0 -42
- package/src/view/shape/Line.tsx +0 -39
- package/src/view/shape/Path.tsx +0 -22
- package/src/view/shape/Polygon.tsx +0 -91
- package/src/view/shape/Polyline.tsx +0 -31
- package/src/view/shape/Rect.tsx +0 -44
- package/src/view/shape/Text.tsx +0 -169
- package/src/view/shape/index.ts +0 -8
- package/src/view/text/BaseText.tsx +0 -134
- package/src/view/text/LineText.tsx +0 -168
- package/src/view/text/index.ts +0 -2
- package/stats.html +0 -4842
- package/tsconfig.json +0 -18
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: API
|
|
3
|
+
group:
|
|
4
|
+
title: LogicFlow 实例
|
|
5
|
+
order: 2
|
|
6
|
+
title: 注册
|
|
7
|
+
toc: content
|
|
8
|
+
order: 10
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
本页汇总 LogicFlow 实例中与自定义节点/边注册相关的方法。
|
|
12
|
+
|
|
13
|
+
### register
|
|
14
|
+
|
|
15
|
+
注册单个自定义节点或边。
|
|
16
|
+
|
|
17
|
+
**签名**
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
register(config: RegisterConfig): void
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
参数类型见 [`RegisterConfig`](../type/MainTypes.zh.md#registerconfig注册配置)。
|
|
24
|
+
|
|
25
|
+
**示例**
|
|
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
|
+
批量注册多个自定义节点或边。
|
|
50
|
+
|
|
51
|
+
**签名**
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
batchRegister(configList: RegisterConfig[]): void
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
参数类型见 [`RegisterConfig`](../type/MainTypes.zh.md#registerconfig注册配置)。
|
|
58
|
+
|
|
59
|
+
**示例**
|
|
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
|
+
插件全局注册见 [LogicFlow.use](../logicflow-constructor/use.zh.md)。
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: API
|
|
3
|
+
group:
|
|
4
|
+
title: LogicFlow Instance
|
|
5
|
+
order: 2
|
|
6
|
+
title: Rendering and data
|
|
7
|
+
toc: content
|
|
8
|
+
order: 1
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
This page covers rendering entry points, reading and writing graph data, and adapter hooks on the LogicFlow instance.
|
|
12
|
+
|
|
13
|
+
### render
|
|
14
|
+
|
|
15
|
+
Render graph data. When `adapterIn` is configured, incoming data is converted to LogicFlow’s internal shape first.
|
|
16
|
+
|
|
17
|
+
**Signature**
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
render(graphData: unknown): void
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Parameters**
|
|
24
|
+
|
|
25
|
+
| Name | Type | Required | Description |
|
|
26
|
+
| :--- | :--- | :--- | :--- |
|
|
27
|
+
| `graphData` | `unknown` | Yes | Graph payload; shape depends on `adapterIn`. |
|
|
28
|
+
|
|
29
|
+
**Example**
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
lf.render({
|
|
33
|
+
nodes: [{ id: 'node_1', type: 'rect', x: 120, y: 100 }],
|
|
34
|
+
edges: [],
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### renderRawData
|
|
39
|
+
|
|
40
|
+
Render native LogicFlow graph data without running `adapterIn`.
|
|
41
|
+
|
|
42
|
+
**Signature**
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
renderRawData(graphData: GraphData): void
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Parameters**
|
|
49
|
+
|
|
50
|
+
| Name | Type | Required | Description |
|
|
51
|
+
| :--- | :--- | :--- | :--- |
|
|
52
|
+
| `graphData` | [`GraphData`](../type/MainTypes.en.md#graphdata) | Yes | Native LogicFlow graph data. |
|
|
53
|
+
|
|
54
|
+
**Example**
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
lf.renderRawData({
|
|
58
|
+
nodes: [{ id: 'node_1', type: 'rect', x: 120, y: 100 }],
|
|
59
|
+
edges: [],
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### getGraphData
|
|
64
|
+
|
|
65
|
+
Return the current graph. When `adapterOut` is set, the result is passed through that adapter.
|
|
66
|
+
|
|
67
|
+
**Signature**
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
getGraphData(...params: any[]): GraphConfigData | unknown
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Parameters**
|
|
74
|
+
|
|
75
|
+
| Name | Type | Required | Description |
|
|
76
|
+
| :--- | :--- | :--- | :--- |
|
|
77
|
+
| `...params` | `any[]` | No | Extra arguments forwarded to `adapterOut`. |
|
|
78
|
+
|
|
79
|
+
**Returns**
|
|
80
|
+
|
|
81
|
+
- Without `adapterOut`: [`GraphConfigData`](../type/MainTypes.en.md#graphconfigdata).
|
|
82
|
+
- With `adapterOut`: your business shape (`unknown`).
|
|
83
|
+
|
|
84
|
+
**Example**
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
const data = lf.getGraphData(['property1', 'property2']);
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### getGraphRawData
|
|
91
|
+
|
|
92
|
+
Return native LogicFlow data, ignoring `adapterOut`.
|
|
93
|
+
|
|
94
|
+
**Signature**
|
|
95
|
+
|
|
96
|
+
```ts
|
|
97
|
+
getGraphRawData(): GraphData
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Returns**
|
|
101
|
+
|
|
102
|
+
- [`GraphData`](../type/MainTypes.en.md#graphdata)
|
|
103
|
+
|
|
104
|
+
**Example**
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
const rawData = lf.getGraphRawData();
|
|
108
|
+
console.log(rawData.nodes, rawData.edges);
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### clearData
|
|
112
|
+
|
|
113
|
+
Remove every node and edge from the canvas.
|
|
114
|
+
|
|
115
|
+
**Signature**
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
clearData(): void
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Example**
|
|
122
|
+
|
|
123
|
+
```ts
|
|
124
|
+
lf.clearData();
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### adapterIn
|
|
128
|
+
|
|
129
|
+
Optional inbound adapter: convert business data to LogicFlow graph data before `render`.
|
|
130
|
+
|
|
131
|
+
**Signature**
|
|
132
|
+
|
|
133
|
+
```ts
|
|
134
|
+
adapterIn?: (data: unknown) => GraphData
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Returns**
|
|
138
|
+
|
|
139
|
+
- [`GraphData`](../type/MainTypes.en.md#graphdata)
|
|
140
|
+
|
|
141
|
+
**Example**
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
lf.adapterIn = (bizData) => {
|
|
145
|
+
return {
|
|
146
|
+
nodes: [],
|
|
147
|
+
edges: [],
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### adapterOut
|
|
153
|
+
|
|
154
|
+
Optional outbound adapter: convert LogicFlow graph data when `getGraphData` runs.
|
|
155
|
+
|
|
156
|
+
**Signature**
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
adapterOut?: (data: GraphConfigData, ...params: any[]) => unknown
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Parameters**
|
|
163
|
+
|
|
164
|
+
| Name | Type | Required | Description |
|
|
165
|
+
| :--- | :--- | :--- | :--- |
|
|
166
|
+
| `data` | [`GraphConfigData`](../type/MainTypes.en.md#graphconfigdata) | Yes | Current graph data. |
|
|
167
|
+
| `...params` | `any[]` | No | Same extras passed to `getGraphData`. |
|
|
168
|
+
|
|
169
|
+
**Example**
|
|
170
|
+
|
|
171
|
+
```ts
|
|
172
|
+
lf.adapterOut = (data, reserveFields = []) => {
|
|
173
|
+
return {
|
|
174
|
+
processNodes: data.nodes,
|
|
175
|
+
processEdges: data.edges,
|
|
176
|
+
reserveFields,
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
```
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: API
|
|
3
|
+
group:
|
|
4
|
+
title: LogicFlow 实例
|
|
5
|
+
order: 2
|
|
6
|
+
title: 渲染与数据
|
|
7
|
+
toc: content
|
|
8
|
+
order: 1
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
本页聚焦 LogicFlow 实例的渲染入口、图数据读写与数据适配器接口。
|
|
12
|
+
|
|
13
|
+
### render
|
|
14
|
+
|
|
15
|
+
渲染图数据;当配置了 `adapterIn` 时,会先转换为 LogicFlow 标准数据再渲染。
|
|
16
|
+
|
|
17
|
+
**签名**
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
render(graphData: unknown): void
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**参数**
|
|
24
|
+
|
|
25
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
26
|
+
| :--- | :--- | :--- | :--- |
|
|
27
|
+
| `graphData` | `unknown` | 是 | 图数据,格式取决于是否配置了 `adapterIn`。 |
|
|
28
|
+
|
|
29
|
+
**示例**
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
// 直接渲染 LogicFlow 标准格式
|
|
33
|
+
lf.render({
|
|
34
|
+
nodes: [{ id: 'node_1', type: 'rect', x: 120, y: 100 }],
|
|
35
|
+
edges: [],
|
|
36
|
+
});
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### renderRawData
|
|
40
|
+
|
|
41
|
+
渲染 LogicFlow 原生图数据,不经过 `adapterIn` 转换。
|
|
42
|
+
|
|
43
|
+
**签名**
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
renderRawData(graphData: GraphData): void
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**参数**
|
|
50
|
+
|
|
51
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
52
|
+
| :--- | :--- | :--- | :--- |
|
|
53
|
+
| `graphData` | [`GraphData`](../type/MainTypes.zh.md#graphdata画布数据) | 是 | LogicFlow 原生图数据。 |
|
|
54
|
+
|
|
55
|
+
**示例**
|
|
56
|
+
|
|
57
|
+
```ts
|
|
58
|
+
lf.renderRawData({
|
|
59
|
+
nodes: [{ id: 'node_1', type: 'rect', x: 120, y: 100 }],
|
|
60
|
+
edges: [],
|
|
61
|
+
});
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### getGraphData
|
|
65
|
+
|
|
66
|
+
获取当前图数据;当配置了 `adapterOut` 时,返回值会先经过适配器转换。
|
|
67
|
+
|
|
68
|
+
**签名**
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
getGraphData(...params: any[]): GraphConfigData | unknown
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**参数**
|
|
75
|
+
|
|
76
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
77
|
+
| :--- | :--- | :--- | :--- |
|
|
78
|
+
| `...params` | `any[]` | 否 | 透传给 `adapterOut` 的额外参数。 |
|
|
79
|
+
|
|
80
|
+
**返回值**
|
|
81
|
+
|
|
82
|
+
- 未配置 `adapterOut`:返回 [`GraphConfigData`](../type/MainTypes.zh.md#graphconfigdata流程图渲染数据类型)。
|
|
83
|
+
- 已配置 `adapterOut`:返回适配后的业务数据(`unknown`)。
|
|
84
|
+
|
|
85
|
+
**示例**
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
const data = lf.getGraphData(['property1', 'property2']);
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### getGraphRawData
|
|
92
|
+
|
|
93
|
+
获取当前图的 LogicFlow 原生数据,不受 `adapterOut` 影响。
|
|
94
|
+
|
|
95
|
+
**签名**
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
getGraphRawData(): GraphData
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**返回值**
|
|
102
|
+
|
|
103
|
+
- [`GraphData`](../type/MainTypes.zh.md#graphdata画布数据)
|
|
104
|
+
|
|
105
|
+
**示例**
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
const rawData = lf.getGraphRawData();
|
|
109
|
+
console.log(rawData.nodes, rawData.edges);
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### clearData
|
|
113
|
+
|
|
114
|
+
清空当前画布中的全部节点和边数据。
|
|
115
|
+
|
|
116
|
+
**签名**
|
|
117
|
+
|
|
118
|
+
```ts
|
|
119
|
+
clearData(): void
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**示例**
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
lf.clearData();
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### adapterIn
|
|
129
|
+
|
|
130
|
+
自定义输入数据适配函数,用于在 `render` 前把业务数据转换为 LogicFlow 原生数据。
|
|
131
|
+
|
|
132
|
+
**签名**
|
|
133
|
+
|
|
134
|
+
```ts
|
|
135
|
+
adapterIn?: (data: unknown) => GraphData
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**返回值**
|
|
139
|
+
|
|
140
|
+
- [`GraphData`](../type/MainTypes.zh.md#graphdata画布数据)
|
|
141
|
+
|
|
142
|
+
**示例**
|
|
143
|
+
|
|
144
|
+
```ts
|
|
145
|
+
lf.adapterIn = (bizData) => {
|
|
146
|
+
// 将业务结构转换成 nodes / edges
|
|
147
|
+
return {
|
|
148
|
+
nodes: [],
|
|
149
|
+
edges: [],
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### adapterOut
|
|
155
|
+
|
|
156
|
+
自定义输出数据适配函数,用于在 `getGraphData` 时把 LogicFlow 原生数据转换为业务数据。
|
|
157
|
+
|
|
158
|
+
**签名**
|
|
159
|
+
|
|
160
|
+
```ts
|
|
161
|
+
adapterOut?: (data: GraphConfigData, ...params: any[]) => unknown
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**参数**
|
|
165
|
+
|
|
166
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
167
|
+
| :--- | :--- | :--- | :--- |
|
|
168
|
+
| `data` | [`GraphConfigData`](../type/MainTypes.zh.md#graphconfigdata流程图渲染数据类型) | 是 | 当前图数据。 |
|
|
169
|
+
| `...params` | `any[]` | 否 | 来自 `getGraphData(...params)` 的透传参数。 |
|
|
170
|
+
|
|
171
|
+
**示例**
|
|
172
|
+
|
|
173
|
+
```ts
|
|
174
|
+
lf.adapterOut = (data, reserveFields = []) => {
|
|
175
|
+
return {
|
|
176
|
+
processNodes: data.nodes,
|
|
177
|
+
processEdges: data.edges,
|
|
178
|
+
reserveFields,
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: API
|
|
3
|
+
group:
|
|
4
|
+
title: LogicFlow Instance
|
|
5
|
+
order: 2
|
|
6
|
+
title: Text editing
|
|
7
|
+
toc: content
|
|
8
|
+
order: 5
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
This page documents instance APIs related to node and edge text editing.
|
|
12
|
+
|
|
13
|
+
### editText
|
|
14
|
+
|
|
15
|
+
Open the text editor for a node or edge.
|
|
16
|
+
|
|
17
|
+
**Signature**
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
editText(id: string): void
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Parameters**
|
|
24
|
+
|
|
25
|
+
| Name | Type | Required | Description |
|
|
26
|
+
| :--- | :--- | :--- | :--- |
|
|
27
|
+
| `id` | `string` | Yes | Node or edge id. |
|
|
28
|
+
|
|
29
|
+
**Example**
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
lf.editText('node_1');
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
:::info{title=Note}
|
|
36
|
+
If text editing was disabled at initialization, LogicFlow does not automatically clear edit state. Listen for the relevant events and call `setElementState` yourself to leave edit mode.
|
|
37
|
+
:::
|
|
38
|
+
|
|
39
|
+
### updateText
|
|
40
|
+
|
|
41
|
+
Update the text value of a node or edge.
|
|
42
|
+
|
|
43
|
+
**Signature**
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
updateText(id: string, value: string): void
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Parameters**
|
|
50
|
+
|
|
51
|
+
| Name | Type | Required | Description |
|
|
52
|
+
| :--- | :--- | :--- | :--- |
|
|
53
|
+
| `id` | `string` | Yes | Node or edge id. |
|
|
54
|
+
| `value` | `string` | Yes | New text content. |
|
|
55
|
+
|
|
56
|
+
**Example**
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
lf.updateText('id', 'value');
|
|
60
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
nav: API
|
|
3
|
+
group:
|
|
4
|
+
title: LogicFlow 实例
|
|
5
|
+
order: 2
|
|
6
|
+
title: 文本编辑
|
|
7
|
+
toc: content
|
|
8
|
+
order: 5
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
本页汇总 LogicFlow 实例中与节点/边文本编辑相关的方法。
|
|
12
|
+
|
|
13
|
+
### editText
|
|
14
|
+
|
|
15
|
+
显示节点、连线文本编辑框,进入编辑状态。
|
|
16
|
+
|
|
17
|
+
**签名**
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
editText(id: string): void
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**参数**
|
|
24
|
+
|
|
25
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
26
|
+
| :--- | :--- | :--- | :--- |
|
|
27
|
+
| `id` | `string` | 是 | 节点或边 ID。 |
|
|
28
|
+
|
|
29
|
+
**示例**
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
lf.editText('node_1');
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
:::info{title=注意}
|
|
36
|
+
当初始化 `lf` 实例时设置了文本不可编辑,LogicFlow 内部不会自动监听并取消元素编辑状态。此时需要自行监听并通过 `setElementState` 取消文本编辑状态。
|
|
37
|
+
:::
|
|
38
|
+
|
|
39
|
+
### updateText
|
|
40
|
+
|
|
41
|
+
更新节点或边的文本内容。
|
|
42
|
+
|
|
43
|
+
**签名**
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
updateText(id: string, value: string): void
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**参数**
|
|
50
|
+
|
|
51
|
+
| 名称 | 类型 | 必传 | 说明 |
|
|
52
|
+
| :--- | :--- | :--- | :--- |
|
|
53
|
+
| `id` | `string` | 是 | 节点或边 ID。 |
|
|
54
|
+
| `value` | `string` | 是 | 更新后的文本值。 |
|
|
55
|
+
|
|
56
|
+
**示例**
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
lf.updateText('id', 'value');
|
|
60
|
+
```
|