@logicflow/core 1.0.0-alpha.4 → 1.0.0-alpha.5
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/logic-flow.js +11 -2
- package/dist/style/index.css +1 -1
- package/package.json +1 -1
- package/types/LogicFlow.d.ts +137 -341
- package/types/constant/DefaultTheme.d.ts +171 -271
- package/types/keyboard/index.d.ts +5 -1
- package/types/model/BaseModel.d.ts +0 -59
- package/types/model/EditConfigModel.d.ts +16 -6
- package/types/model/GraphModel.d.ts +58 -264
- package/types/model/SnaplineModel.d.ts +2 -6
- package/types/model/TransformModel.d.ts +2 -8
- package/types/model/edge/BaseEdgeModel.d.ts +10 -16
- package/types/model/edge/BezierEdgeModel.d.ts +0 -9
- package/types/model/edge/LineEdgeModel.d.ts +0 -6
- package/types/model/edge/PolylineEdgeModel.d.ts +0 -7
- package/types/model/node/BaseNodeModel.d.ts +29 -90
- package/types/model/node/CircleNodeModel.d.ts +4 -12
- package/types/model/node/DiamondNodeModel.d.ts +4 -7
- package/types/model/node/EllipseNodeModel.d.ts +2 -6
- package/types/model/node/HtmlNodeModel.d.ts +2 -0
- package/types/model/node/PolygonNodeModel.d.ts +2 -11
- package/types/model/node/RectNodeModel.d.ts +2 -9
- package/types/model/node/TextNodeModel.d.ts +4 -8
- package/types/options.d.ts +10 -84
- package/types/type/index.d.ts +37 -50
- package/types/util/edge.d.ts +3 -3
- package/types/util/graph.d.ts +1 -1
- package/types/util/node.d.ts +1 -1
- package/types/util/theme.d.ts +173 -2
- package/types/view/Anchor.d.ts +2 -0
- package/types/view/Graph.d.ts +3 -1
- package/types/view/basic-shape/Path.d.ts +9 -1
- package/types/view/basic-shape/Rect.d.ts +5 -1
- package/types/view/behavior/DnD.d.ts +4 -0
- package/types/view/edge/AdjustPoint.d.ts +3 -1
- package/types/view/edge/Arrow.d.ts +3 -3
- package/types/view/edge/BaseEdge.d.ts +20 -2
- package/types/view/edge/BezierEdge.d.ts +12 -0
- package/types/view/edge/LineEdge.d.ts +13 -0
- package/types/view/edge/PolylineEdge.d.ts +12 -0
- package/types/view/node/BaseNode.d.ts +36 -1
- package/types/view/node/CircleNode.d.ts +37 -0
- package/types/view/node/DiamondNode.d.ts +37 -0
- package/types/view/node/EllipseNode.d.ts +26 -0
- package/types/view/node/HtmlNode.d.ts +0 -20
- package/types/view/node/PolygonNode.d.ts +19 -1
- package/types/view/node/RectNode.d.ts +37 -0
- package/types/view/node/TextNode.d.ts +0 -1
- package/types/view/overlay/BackgroundOverlay.d.ts +29 -18
- package/types/view/overlay/CanvasOverlay.d.ts +2 -0
- package/types/view/overlay/OutlineOverlay.d.ts +1 -1
package/dist/style/index.css
CHANGED
package/package.json
CHANGED
package/types/LogicFlow.d.ts
CHANGED
|
@@ -4,134 +4,117 @@ import * as Options from './options';
|
|
|
4
4
|
import * as _Model from './model';
|
|
5
5
|
import History from './history/History';
|
|
6
6
|
import Tool from './tool';
|
|
7
|
-
import { CallbackType } from './event/eventEmitter';
|
|
7
|
+
import EventEmitter, { CallbackType } from './event/eventEmitter';
|
|
8
8
|
import Keyboard from './keyboard';
|
|
9
|
-
import { EdgeConfig, EdgeFilter, NodeConfig, Extension, ComponentRender, FocusOnArgs, EdgeData, GraphConfigData, RegisterElementFn, RegisterConfig, ZoomParam, PointTuple } from './type';
|
|
9
|
+
import { EdgeConfig, EdgeFilter, NodeConfig, NodeAttribute, Extension, ComponentRender, FocusOnArgs, EdgeAttribute, EdgeData, GraphConfigData, RegisterElementFn, RegisterConfig, ZoomParam, PointTuple } from './type';
|
|
10
10
|
import SnaplineModel from './model/SnaplineModel';
|
|
11
|
-
import { EditConfigInterface } from './model/
|
|
12
|
-
import { Theme } from './constant/DefaultTheme';
|
|
11
|
+
import { EditConfigInterface } from './model/EditConfigModel';
|
|
13
12
|
declare type GraphConfigModel = {
|
|
14
13
|
nodes: _Model.BaseNodeModel[];
|
|
15
14
|
edges: _Model.BaseEdgeModel[];
|
|
16
15
|
};
|
|
17
16
|
export default class LogicFlow {
|
|
18
|
-
/**
|
|
19
|
-
* 只读:logicflow实例挂载的容器。
|
|
20
|
-
*/
|
|
21
17
|
container: HTMLElement;
|
|
22
|
-
/**
|
|
23
|
-
* 只读:画布宽度
|
|
24
|
-
*/
|
|
25
18
|
width: number;
|
|
26
|
-
/**
|
|
27
|
-
* 只读:画布高度
|
|
28
|
-
*/
|
|
29
19
|
height: number;
|
|
30
|
-
/**
|
|
31
|
-
* 只读:控制整个logicflow画布的model
|
|
32
|
-
*/
|
|
33
20
|
graphModel: GraphModel;
|
|
34
|
-
/**
|
|
35
|
-
* 只读:控制上一步、下一步相关
|
|
36
|
-
*/
|
|
37
21
|
history: History;
|
|
38
22
|
viewMap: Map<any, any>;
|
|
39
23
|
tool: Tool;
|
|
40
24
|
keyboard: Keyboard;
|
|
41
25
|
dnd: Dnd;
|
|
42
26
|
options: Options.Definition;
|
|
27
|
+
getSnapshot: () => void;
|
|
28
|
+
eventCenter: EventEmitter;
|
|
43
29
|
snaplineModel: SnaplineModel;
|
|
44
|
-
components: ComponentRender[];
|
|
45
30
|
static extensions: Map<string, Extension>;
|
|
31
|
+
components: ComponentRender[];
|
|
32
|
+
adapterIn: (data: unknown) => GraphConfigData;
|
|
33
|
+
adapterOut: (data: GraphConfigData) => unknown;
|
|
34
|
+
[propName: string]: any;
|
|
35
|
+
constructor(options: Options.Definition);
|
|
36
|
+
on(evt: string, callback: CallbackType): void;
|
|
37
|
+
off(evt: string, callback: CallbackType): void;
|
|
38
|
+
once(evt: string, callback: CallbackType): void;
|
|
39
|
+
emit(evt: string, arg: any): void;
|
|
46
40
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* @see todo
|
|
41
|
+
* 添加扩展, 待讨论,这里是不是静态方法好一些?
|
|
42
|
+
* 重复添加插件的时候,把上一次添加的插件的销毁。
|
|
43
|
+
* @param plugin 插件
|
|
51
44
|
*/
|
|
52
|
-
|
|
45
|
+
static use(extension: Extension): void;
|
|
46
|
+
installPlugins(disabledPlugins?: any[]): void;
|
|
47
|
+
__installPlugin(extension: any): void;
|
|
48
|
+
register(type: string | RegisterConfig, fn?: RegisterElementFn, isObserverView?: boolean): void;
|
|
49
|
+
_registerElement(config: any): void;
|
|
50
|
+
defaultRegister(): void;
|
|
51
|
+
undo(): void;
|
|
52
|
+
redo(): void;
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* @
|
|
54
|
+
* 放大缩小图形
|
|
55
|
+
* @param zoomSize 放大缩小的值,支持传入0-n之间的数字。小于1表示缩小,大于1表示放大。也支持传入true和false按照内置的刻度放大缩小
|
|
56
|
+
* @param point 缩放的原点
|
|
57
|
+
* @returns {string} -放大缩小的比例
|
|
58
58
|
*/
|
|
59
|
-
|
|
59
|
+
zoom(zoomSize?: ZoomParam, point?: PointTuple): string;
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
61
|
+
* 还原图形
|
|
62
62
|
*/
|
|
63
|
-
|
|
64
|
-
constructor(options: Options.Definition);
|
|
63
|
+
resetZoom(): void;
|
|
65
64
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* 方式一(推荐)
|
|
69
|
-
* 详情见 todo: docs link
|
|
70
|
-
* @example
|
|
71
|
-
* import { RectNode, RectModel } from '@logicflow/core'
|
|
72
|
-
* class CustomView extends RectNode {
|
|
73
|
-
* }
|
|
74
|
-
* class CustomModel extends RectModel {
|
|
75
|
-
* }
|
|
76
|
-
* lf.register({
|
|
77
|
-
* type: 'custom',
|
|
78
|
-
* view: CustomView,
|
|
79
|
-
* model: CustomModel
|
|
80
|
-
* })
|
|
81
|
-
* 方式二
|
|
82
|
-
* 不推荐,极个别在自定义的时候需要用到lf的情况下可以用这种方式。
|
|
83
|
-
* 大多数情况下,我们可以直接在view中从this.props中获取graphModel
|
|
84
|
-
* 或者model中直接this.graphModel获取model的方法。
|
|
85
|
-
* @example
|
|
86
|
-
* lf.register('custom', ({ RectNode, RectModel }) => {
|
|
87
|
-
* class CustomView extends RectNode {}
|
|
88
|
-
* class CustomModel extends RectModel {}
|
|
89
|
-
* return {
|
|
90
|
-
* view: CustomView,
|
|
91
|
-
* model: CustomModel
|
|
92
|
-
* }
|
|
93
|
-
* })
|
|
65
|
+
* 设置图形缩小时,能缩放到的最小倍数。参数为0-1自己。默认0.2
|
|
66
|
+
* @param size 图形缩小的最小值
|
|
94
67
|
*/
|
|
95
|
-
|
|
96
|
-
private registerElement;
|
|
97
|
-
private defaultRegister;
|
|
68
|
+
setZoomMiniSize(size: number): void;
|
|
98
69
|
/**
|
|
99
|
-
*
|
|
100
|
-
* @param
|
|
101
|
-
* @param multiple 是否允许多选,如果为true,不会将上一个选中的元素重置
|
|
70
|
+
* 设置图形放大时,能放大到的最大倍数,默认16
|
|
71
|
+
* @param size 图形放大的最大值
|
|
102
72
|
*/
|
|
103
|
-
|
|
73
|
+
setZoomMaxSize(size: number): void;
|
|
104
74
|
/**
|
|
105
|
-
*
|
|
106
|
-
* 支持用户传入图形当前的坐标或id,可以通过type来区分是节点还是边的id,也可以不传(兜底)
|
|
107
|
-
* @param focusOnArgs.id 如果传入的是id, 则画布视口中心移动到此id的元素中心点。
|
|
108
|
-
* @param focusOnArgs.coordinate 如果传入的是坐标,则画布视口中心移动到此坐标。
|
|
75
|
+
* 获取缩放的值和平移的值。
|
|
109
76
|
*/
|
|
110
|
-
|
|
77
|
+
getTransform(): {
|
|
78
|
+
SCALE_X: number;
|
|
79
|
+
SCALE_Y: number;
|
|
80
|
+
TRANSLATE_X: number;
|
|
81
|
+
TRANSLATE_Y: number;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* 平移图形
|
|
85
|
+
* @param x 向x轴移动距离
|
|
86
|
+
* @param y 向y轴移动距离
|
|
87
|
+
*/
|
|
88
|
+
translate(x: number, y: number): void;
|
|
89
|
+
/**
|
|
90
|
+
* 还原图形为初始位置
|
|
91
|
+
*/
|
|
92
|
+
resetTranslate(): void;
|
|
111
93
|
/**
|
|
112
|
-
*
|
|
113
|
-
* @param
|
|
114
|
-
*
|
|
94
|
+
* 将图形选中
|
|
95
|
+
* @param id 选择元素ID
|
|
96
|
+
* @param multiple 是否允许多选,如果为true,不会将上一个选中的元素重置
|
|
115
97
|
*/
|
|
116
|
-
|
|
98
|
+
select(id: string, multiple?: boolean): void;
|
|
117
99
|
/**
|
|
118
|
-
*
|
|
100
|
+
* 将图形定位到画布中心
|
|
101
|
+
* @param focusOnArgs 支持用户传入图形当前的坐标或id,可以通过type来区分是节点还是连线的id,也可以不传(兜底)
|
|
119
102
|
*/
|
|
120
|
-
|
|
103
|
+
focusOn(focusOnArgs: FocusOnArgs): void;
|
|
104
|
+
setTheme(style: any): void;
|
|
121
105
|
/**
|
|
122
|
-
*
|
|
123
|
-
* 也就是设置在节点直接有用户手动绘制的连线类型。
|
|
106
|
+
* 设置默认的连线类型
|
|
124
107
|
* @param type Options.EdgeType
|
|
125
108
|
*/
|
|
126
109
|
setDefaultEdgeType(type: Options.EdgeType): void;
|
|
127
110
|
/**
|
|
128
|
-
*
|
|
129
|
-
* @param id
|
|
111
|
+
* 更新节点或连线文案
|
|
112
|
+
* @param id 节点或者连线id
|
|
130
113
|
* @param value 文案内容
|
|
131
114
|
*/
|
|
132
115
|
updateText(id: string, value: string): void;
|
|
133
116
|
/**
|
|
134
|
-
* 删除元素,在不确定当前id
|
|
117
|
+
* 删除元素,在不确定当前id是节点还是连线时使用
|
|
135
118
|
* @param id 元素id
|
|
136
119
|
*/
|
|
137
120
|
deleteElement(id: any): boolean;
|
|
@@ -142,7 +125,7 @@ export default class LogicFlow {
|
|
|
142
125
|
*/
|
|
143
126
|
changeNodeType(id: string, type: string): void;
|
|
144
127
|
/**
|
|
145
|
-
*
|
|
128
|
+
* 获取节点所有连线的model
|
|
146
129
|
* @param nodeId 节点ID
|
|
147
130
|
* @returns model数组
|
|
148
131
|
*/
|
|
@@ -158,99 +141,70 @@ export default class LogicFlow {
|
|
|
158
141
|
*/
|
|
159
142
|
deleteNode(nodeId: string): boolean;
|
|
160
143
|
/**
|
|
161
|
-
*
|
|
162
|
-
* @param nodeId 节点
|
|
144
|
+
* 显示节点文本编辑框
|
|
145
|
+
* @param nodeId 节点id
|
|
163
146
|
*/
|
|
164
|
-
|
|
147
|
+
editNodeText(nodeId: string): void;
|
|
165
148
|
/**
|
|
166
|
-
*
|
|
167
|
-
* @param { string } oldId 将要被修改的id
|
|
168
|
-
* @param { string } newId 可选,修改后的id
|
|
169
|
-
* @returns 修改后的节点id, 如果传入的oldId不存在,返回空字符串
|
|
170
|
-
*/
|
|
171
|
-
changeNodeId<T extends string>(oldId: string, newId?: T): T | string;
|
|
172
|
-
/**
|
|
173
|
-
* 获取节点对象
|
|
149
|
+
* 克隆节点
|
|
174
150
|
* @param nodeId 节点Id
|
|
175
151
|
*/
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
* 获取节点数据
|
|
179
|
-
* @param nodeId 节点
|
|
180
|
-
*/
|
|
181
|
-
getNodeDataById(nodeId: string): NodeConfig;
|
|
182
|
-
/**
|
|
183
|
-
* 给两个节点之间添加一条边
|
|
184
|
-
* @example
|
|
185
|
-
* lf.addEdge({
|
|
186
|
-
* type: 'polygon'
|
|
187
|
-
* sourceNodeId: 'node_id_1',
|
|
188
|
-
* targetNodeId: 'node_id_2',
|
|
189
|
-
* })
|
|
190
|
-
* @param {object} edgeConfig
|
|
191
|
-
*/
|
|
192
|
-
addEdge(edgeConfig: EdgeConfig): void;
|
|
152
|
+
cloneNode(nodeId: string): _Model.BaseNodeModel;
|
|
153
|
+
createEdge(edgeConfig: EdgeConfig): void;
|
|
193
154
|
/**
|
|
194
155
|
* 删除边
|
|
195
156
|
* @param {string} edgeId 边Id
|
|
196
157
|
*/
|
|
197
158
|
deleteEdge(edgeId: string): boolean;
|
|
198
159
|
/**
|
|
199
|
-
*
|
|
160
|
+
* 删除指定类型的边
|
|
161
|
+
* todo: API一致
|
|
200
162
|
* @param config.sourceNodeId 边的起点节点ID
|
|
201
163
|
* @param config.targetNodeId 边的终点节点ID
|
|
202
164
|
*/
|
|
203
|
-
|
|
204
|
-
sourceNodeId
|
|
205
|
-
targetNodeId
|
|
165
|
+
removeEdge(config: {
|
|
166
|
+
sourceNodeId: string;
|
|
167
|
+
targetNodeId: string;
|
|
206
168
|
}): void;
|
|
207
169
|
/**
|
|
208
|
-
*
|
|
209
|
-
* @param
|
|
210
|
-
|
|
211
|
-
|
|
170
|
+
* 获取节点对象
|
|
171
|
+
* @param nodeId 节点Id
|
|
172
|
+
*/
|
|
173
|
+
getNodeModel(nodeId: string): _Model.BaseNodeModel;
|
|
174
|
+
getNodeData(nodeId: string): NodeAttribute;
|
|
175
|
+
/**
|
|
176
|
+
* 设置节点数据
|
|
177
|
+
* @deprecated 不建议直接设置节点数据,更新文本请用updateText, 修改数据请用setProperties
|
|
212
178
|
*/
|
|
213
|
-
|
|
179
|
+
setNodeData(nodeAttribute: NodeAttribute): void;
|
|
180
|
+
getEdgeModel(config: EdgeFilter): _Model.BaseEdgeModel[];
|
|
214
181
|
/**
|
|
215
|
-
*
|
|
182
|
+
* 获取边的model
|
|
216
183
|
* @param edgeId 边的Id
|
|
217
|
-
* @return model
|
|
218
184
|
*/
|
|
219
185
|
getEdgeModelById(edgeId: string): _Model.BaseEdgeModel;
|
|
220
186
|
/**
|
|
221
|
-
*
|
|
222
|
-
* @
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
* lf.getEdgeModels({
|
|
230
|
-
* targetNodeId: 'nodeB_id'
|
|
231
|
-
* })
|
|
232
|
-
* 获取起点为节点A,终点为节点B的边
|
|
233
|
-
* lf.getEdgeModels({
|
|
234
|
-
* sourceNodeId: 'nodeA_id',
|
|
235
|
-
* targetNodeId: 'nodeB_id'
|
|
236
|
-
* })
|
|
237
|
-
* @return model数组
|
|
238
|
-
*/
|
|
239
|
-
getEdgeModels(edgeFilter: EdgeFilter): _Model.BaseEdgeModel[];
|
|
240
|
-
/**
|
|
241
|
-
* 基于id获取边数据
|
|
242
|
-
* @param edgeId 边Id
|
|
243
|
-
* @returns EdgeData
|
|
244
|
-
*/
|
|
245
|
-
getEdgeDataById(edgeId: string): EdgeData;
|
|
246
|
-
/**
|
|
247
|
-
* 显示节点、连线文本编辑框
|
|
248
|
-
* @param id 元素id
|
|
187
|
+
* 获取边Model
|
|
188
|
+
* @deprecated 不建议使用getEdge, 建议使用getEdgeModel
|
|
189
|
+
*/
|
|
190
|
+
getEdge(config: EdgeFilter): _Model.BaseEdgeModel[];
|
|
191
|
+
getEdgeData(edgeId: string): EdgeData;
|
|
192
|
+
/**
|
|
193
|
+
* 设置边数据
|
|
194
|
+
* @deprecated 不建议直接设置边数据,更新文本请用updateText, 修改数据请用setProperties
|
|
249
195
|
*/
|
|
250
|
-
|
|
196
|
+
setEdgeData(edgeAttribute: EdgeAttribute): void;
|
|
197
|
+
/**
|
|
198
|
+
* 获取流程绘图数据
|
|
199
|
+
*/
|
|
200
|
+
getGraphData(): GraphConfigData | any;
|
|
201
|
+
/**
|
|
202
|
+
* 获取流程绘图原始数据
|
|
203
|
+
* 在存在adapter时,可以使用getGraphRawData获取图原始数据
|
|
204
|
+
*/
|
|
205
|
+
getGraphRawData(): GraphConfigData;
|
|
251
206
|
/**
|
|
252
207
|
* 设置元素的自定义属性
|
|
253
|
-
* @see todo docs link
|
|
254
208
|
* @param id 元素的id
|
|
255
209
|
* @param properties 自定义属性
|
|
256
210
|
*/
|
|
@@ -262,73 +216,29 @@ export default class LogicFlow {
|
|
|
262
216
|
*/
|
|
263
217
|
getProperties(id: string): Object;
|
|
264
218
|
/**
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
* @
|
|
269
|
-
* @param id 元素Id
|
|
270
|
-
*/
|
|
271
|
-
toFront(id: any): void;
|
|
272
|
-
/**
|
|
273
|
-
* 设置元素的zIndex.
|
|
274
|
-
* 注意:默认堆叠模式下,不建议使用此方法。
|
|
275
|
-
* @see todo link 堆叠模式
|
|
276
|
-
* @param id 元素id
|
|
277
|
-
* @param zIndex zIndex的值,可以传数字,也支持传入'top' 和 'bottom'
|
|
278
|
-
*/
|
|
279
|
-
setElementZIndex(id: string, zIndex: number | 'top' | 'bottom'): void;
|
|
280
|
-
/**
|
|
281
|
-
* 添加多个元素, 包括边和节点。
|
|
282
|
-
*/
|
|
283
|
-
addElements({ nodes, edges }: GraphConfigData): GraphConfigModel;
|
|
284
|
-
/**
|
|
285
|
-
* 获取指定区域内的所有元素,此区域必须是DOM层。
|
|
286
|
-
* 例如鼠标绘制选区后,获取选区内的所有元素。
|
|
287
|
-
* @see todo 分层
|
|
288
|
-
* @param leftTopPoint 区域左上角坐标, dom层坐标
|
|
289
|
-
* @param rightBottomPoint 区域右下角坐标,dom层坐标
|
|
290
|
-
*/
|
|
291
|
-
getAreaElement(leftTopPoint: PointTuple, rightBottomPoint: PointTuple): any[];
|
|
292
|
-
/**
|
|
293
|
-
* 获取选中的元素数据
|
|
294
|
-
* @param isIgnoreCheck 是否包括sourceNode和targetNode没有被选中的边,默认包括。
|
|
295
|
-
* 注意:复制的时候不能包括此类边, 因为复制的时候不允许悬空的边。
|
|
296
|
-
*/
|
|
297
|
-
getSelectElements(isIgnoreCheck?: boolean): GraphConfigData;
|
|
298
|
-
/**
|
|
299
|
-
* 将所有选中的元素设置为非选中
|
|
300
|
-
*/
|
|
301
|
-
clearSelectElements(): void;
|
|
302
|
-
/**
|
|
303
|
-
* 获取流程绘图数据
|
|
304
|
-
* 注意: getGraphData返回的数据受到adapter影响,所以其数据格式不一定是logicflow内部图数据格式。
|
|
305
|
-
* 如果实现通用插件,请使用getGraphRawData
|
|
306
|
-
*/
|
|
307
|
-
getGraphData(): GraphConfigData | any;
|
|
308
|
-
/**
|
|
309
|
-
* 获取流程绘图原始数据
|
|
310
|
-
* 在存在adapter时,可以使用getGraphRawData获取图原始数据
|
|
219
|
+
* 修改节点的id, 如果不传新的id,会内部自动创建一个。
|
|
220
|
+
* @param { string } oldId 将要被修改的id
|
|
221
|
+
* @param { string } newId 可选,修改后的id
|
|
222
|
+
* @returns 修改后的节点id
|
|
311
223
|
*/
|
|
312
|
-
|
|
224
|
+
changeNodeId<T extends string>(oldId: string, newId?: T): false | T | string;
|
|
313
225
|
/**
|
|
314
|
-
*
|
|
226
|
+
* 修改连线的id, 如果不传新的id,会内部自动创建一个。
|
|
227
|
+
* @param { string } oldId 将要被修改的id
|
|
228
|
+
* @param { string } newId 可选,修改后的id
|
|
229
|
+
* @returns 修改后的节点id
|
|
315
230
|
*/
|
|
316
|
-
|
|
231
|
+
changeEdgeId<T extends string>(oldId: string, newId?: T): false | T | string;
|
|
317
232
|
/**
|
|
318
233
|
* 更新流程图编辑相关设置
|
|
319
|
-
* @param {object} config 编辑配置
|
|
320
|
-
* @see todo docs link
|
|
321
234
|
*/
|
|
322
235
|
updateEditConfig(config: EditConfigInterface): void;
|
|
323
236
|
/**
|
|
324
|
-
*
|
|
325
|
-
* @see todo docs link
|
|
237
|
+
* 获取流程图编辑相关设置
|
|
326
238
|
*/
|
|
327
239
|
getEditConfig(): Partial<_Model.EditConfigModel>;
|
|
328
240
|
/**
|
|
329
241
|
* 获取事件位置相对于画布左上角的坐标
|
|
330
|
-
* 画布所在的位置可以是页面任何地方,原生事件返回的坐标是相对于页面左上角的,该方法可以提供以画布左上角为原点的准确位置。
|
|
331
|
-
* @see todo link
|
|
332
242
|
* @param {number} x 事件x坐标
|
|
333
243
|
* @param {number} y 事件y坐标
|
|
334
244
|
* @returns {object} Point 事件位置的坐标
|
|
@@ -346,156 +256,42 @@ export default class LogicFlow {
|
|
|
346
256
|
};
|
|
347
257
|
};
|
|
348
258
|
/**
|
|
349
|
-
*
|
|
350
|
-
*
|
|
351
|
-
|
|
352
|
-
undo(): void;
|
|
353
|
-
/**
|
|
354
|
-
* 历史记录操作
|
|
355
|
-
* 恢复下一步
|
|
356
|
-
*/
|
|
357
|
-
redo(): void;
|
|
358
|
-
/**
|
|
359
|
-
* 放大缩小图形
|
|
360
|
-
* @param zoomSize 放大缩小的值,支持传入0-n之间的数字。小于1表示缩小,大于1表示放大。也支持传入true和false按照内置的刻度放大缩小
|
|
361
|
-
* @param point 缩放的原点
|
|
362
|
-
* @returns {string} -放大缩小的比例
|
|
363
|
-
*/
|
|
364
|
-
zoom(zoomSize?: ZoomParam, point?: PointTuple): string;
|
|
365
|
-
/**
|
|
366
|
-
* 重置图形的放大缩写比例为默认
|
|
367
|
-
*/
|
|
368
|
-
resetZoom(): void;
|
|
369
|
-
/**
|
|
370
|
-
* 设置图形缩小时,能缩放到的最小倍数。参数为0-1自己。默认0.2
|
|
371
|
-
* @param size 图形缩小的最小值
|
|
372
|
-
*/
|
|
373
|
-
setZoomMiniSize(size: number): void;
|
|
374
|
-
/**
|
|
375
|
-
* 设置图形放大时,能放大到的最大倍数,默认16
|
|
376
|
-
* @param size 图形放大的最大值
|
|
377
|
-
*/
|
|
378
|
-
setZoomMaxSize(size: number): void;
|
|
379
|
-
/**
|
|
380
|
-
* 获取缩放的值和平移的值。
|
|
381
|
-
*/
|
|
382
|
-
getTransform(): {
|
|
383
|
-
SCALE_X: number;
|
|
384
|
-
SCALE_Y: number;
|
|
385
|
-
TRANSLATE_X: number;
|
|
386
|
-
TRANSLATE_Y: number;
|
|
387
|
-
};
|
|
388
|
-
/**
|
|
389
|
-
* 平移图
|
|
390
|
-
* @param x 向x轴移动距离
|
|
391
|
-
* @param y 向y轴移动距离
|
|
392
|
-
*/
|
|
393
|
-
translate(x: number, y: number): void;
|
|
394
|
-
/**
|
|
395
|
-
* 还原图形为初始位置
|
|
396
|
-
*/
|
|
397
|
-
resetTranslate(): void;
|
|
398
|
-
/**
|
|
399
|
-
* 监听事件
|
|
400
|
-
* 事件详情见 @see todo
|
|
401
|
-
* 支持同时监听多个事件
|
|
402
|
-
* @example
|
|
403
|
-
* lf.on('node:click,node:contextmenu', (data) => {
|
|
404
|
-
* });
|
|
405
|
-
*/
|
|
406
|
-
on(evt: string, callback: CallbackType): void;
|
|
407
|
-
/**
|
|
408
|
-
* 撤销监听事件
|
|
409
|
-
*/
|
|
410
|
-
off(evt: string, callback: CallbackType): void;
|
|
411
|
-
/**
|
|
412
|
-
* 监听事件,只监听一次
|
|
413
|
-
*/
|
|
414
|
-
once(evt: string, callback: CallbackType): void;
|
|
415
|
-
/**
|
|
416
|
-
* 触发监听事件
|
|
417
|
-
*/
|
|
418
|
-
emit(evt: string, arg: any): void;
|
|
419
|
-
/**
|
|
420
|
-
* 添加扩展, 待讨论,这里是不是静态方法好一些?
|
|
421
|
-
* 重复添加插件的时候,把上一次添加的插件的销毁。
|
|
422
|
-
* @param plugin 插件
|
|
423
|
-
*/
|
|
424
|
-
static use(extension: Extension): void;
|
|
425
|
-
private installPlugins;
|
|
426
|
-
/**
|
|
427
|
-
* 加载插件
|
|
428
|
-
* 注意,不建议插件用这种方式加载,此方式只会出发render方法,
|
|
429
|
-
* 可能不会实时出发cont
|
|
259
|
+
* 获取选中的元素数据
|
|
260
|
+
* @param isIgnoreCheck 是否包括sourceNode和targetNode没有被选中的连线,默认包括。
|
|
261
|
+
* 复制的时候不能包括此类连线, 因为复制的时候不允许悬空的连线。
|
|
430
262
|
*/
|
|
431
|
-
|
|
263
|
+
getSelectElements(isIgnoreCheck?: boolean): GraphConfigData;
|
|
432
264
|
/**
|
|
433
|
-
*
|
|
434
|
-
* 注意:此方法慎用,除非您对logicflow内部有足够的了解。
|
|
435
|
-
* 大多数情况下,请使用setProperties、updateText、changeNodeId等方法。
|
|
436
|
-
* 例如直接使用此方法修改节点的id,那么就是会导致连接到此节点的边的sourceNodeId出现找不到的情况。
|
|
265
|
+
* 动态修改 id 对应元素 model 中的属性
|
|
437
266
|
* @param {string} id 元素id
|
|
438
267
|
* @param {object} attributes 需要更新的属性
|
|
439
268
|
*/
|
|
440
269
|
updateAttributes(id: string, attributes: object): void;
|
|
441
270
|
/**
|
|
442
|
-
*
|
|
443
|
-
* 创建一个fakerNode,用于dnd插件拖动节点进画布的时候使用。
|
|
271
|
+
* 清空画布
|
|
444
272
|
*/
|
|
445
|
-
|
|
273
|
+
clearData(): void;
|
|
446
274
|
/**
|
|
447
|
-
*
|
|
448
|
-
* 移除fakerNode
|
|
275
|
+
* 设置元素的层级高度,在元素重叠的时候大的在前面
|
|
449
276
|
*/
|
|
450
|
-
|
|
277
|
+
setElementZIndex(id: any, zIndex: number | 'top' | 'bottom'): void;
|
|
451
278
|
/**
|
|
452
|
-
*
|
|
453
|
-
* 用于fakerNode显示对齐线
|
|
279
|
+
* 添加多个元素, 包括连线和节点。
|
|
454
280
|
*/
|
|
281
|
+
addElements({ nodes, edges }: GraphConfigData): GraphConfigModel;
|
|
282
|
+
clearSelectElements(): void;
|
|
283
|
+
createFakerNode(nodeConfig: any): any;
|
|
284
|
+
removeFakerNode(): void;
|
|
455
285
|
setNodeSnapLine(data: any): void;
|
|
456
286
|
/**
|
|
457
|
-
*
|
|
458
|
-
*
|
|
287
|
+
* 获取指定区域坐标,此区域必须是DOM层,也就是可视区域。
|
|
288
|
+
* @param leftTopPoint 区域左上角坐标, dom层坐标
|
|
289
|
+
* @param rightBottomPoint 区域右下角坐标,dom层坐标
|
|
459
290
|
*/
|
|
291
|
+
getAreaElement(leftTopPoint: PointTuple, rightBottomPoint: PointTuple): any[];
|
|
460
292
|
removeNodeSnapLine(): void;
|
|
461
|
-
/**
|
|
462
|
-
* 内部保留方法
|
|
463
|
-
* 用于fakerNode移除对齐线
|
|
464
|
-
*/
|
|
465
293
|
setView(type: string, component: any): void;
|
|
466
|
-
/**
|
|
467
|
-
* 内部保留方法
|
|
468
|
-
* 获取指定类型的view
|
|
469
|
-
*/
|
|
470
294
|
getView: (type: string) => any;
|
|
471
|
-
/**
|
|
472
|
-
* 渲染图
|
|
473
|
-
* @example
|
|
474
|
-
* lf.render({
|
|
475
|
-
* nodes: [
|
|
476
|
-
* {
|
|
477
|
-
* id: 'node_1',
|
|
478
|
-
* type: 'rect',
|
|
479
|
-
* x: 100,
|
|
480
|
-
* y: 100
|
|
481
|
-
* },
|
|
482
|
-
* {
|
|
483
|
-
* id: 'node_2',
|
|
484
|
-
* type: 'circel',
|
|
485
|
-
* x: 300,
|
|
486
|
-
* y: 200
|
|
487
|
-
* }
|
|
488
|
-
* ],
|
|
489
|
-
* edges: [
|
|
490
|
-
* {
|
|
491
|
-
* sourceNodeId: 'node_1',
|
|
492
|
-
* targetNodeId: 'node_2',
|
|
493
|
-
* type: 'polyline'
|
|
494
|
-
* }
|
|
495
|
-
* ]
|
|
496
|
-
* })
|
|
497
|
-
* @param graphData 图数据
|
|
498
|
-
*/
|
|
499
295
|
render(graphData?: {}): void;
|
|
500
296
|
}
|
|
501
297
|
export {};
|