@logicflow/core 1.0.0-alpha.5 → 1.0.0-alpha.6
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 +3 -3
- package/dist/style/index.css +1 -1
- package/package.json +1 -1
- package/types/LogicFlow.d.ts +341 -137
- package/types/constant/DefaultTheme.d.ts +271 -171
- package/types/constant/constant.d.ts +7 -1
- package/types/keyboard/index.d.ts +1 -5
- package/types/model/BaseModel.d.ts +59 -0
- package/types/model/EditConfigModel.d.ts +6 -16
- package/types/model/GraphModel.d.ts +264 -58
- package/types/model/SnaplineModel.d.ts +6 -2
- package/types/model/TransformModel.d.ts +8 -2
- package/types/model/edge/BaseEdgeModel.d.ts +36 -12
- package/types/model/edge/BezierEdgeModel.d.ts +9 -0
- package/types/model/edge/LineEdgeModel.d.ts +6 -0
- package/types/model/edge/PolylineEdgeModel.d.ts +7 -0
- package/types/model/node/BaseNodeModel.d.ts +90 -29
- package/types/model/node/CircleNodeModel.d.ts +12 -4
- package/types/model/node/DiamondNodeModel.d.ts +7 -4
- package/types/model/node/EllipseNodeModel.d.ts +6 -2
- package/types/model/node/HtmlNodeModel.d.ts +0 -2
- package/types/model/node/PolygonNodeModel.d.ts +11 -2
- package/types/model/node/RectNodeModel.d.ts +9 -2
- package/types/model/node/TextNodeModel.d.ts +8 -4
- package/types/options.d.ts +84 -10
- package/types/type/index.d.ts +50 -37
- 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 +2 -173
- package/types/view/Anchor.d.ts +0 -2
- package/types/view/Graph.d.ts +1 -3
- package/types/view/basic-shape/Path.d.ts +1 -9
- package/types/view/basic-shape/Rect.d.ts +1 -5
- package/types/view/behavior/DnD.d.ts +0 -4
- package/types/view/edge/AdjustPoint.d.ts +1 -3
- package/types/view/edge/Arrow.d.ts +3 -3
- package/types/view/edge/BaseEdge.d.ts +2 -20
- package/types/view/edge/BezierEdge.d.ts +0 -12
- package/types/view/edge/LineEdge.d.ts +0 -13
- package/types/view/edge/PolylineEdge.d.ts +0 -12
- package/types/view/node/BaseNode.d.ts +1 -36
- package/types/view/node/CircleNode.d.ts +0 -37
- package/types/view/node/DiamondNode.d.ts +0 -37
- package/types/view/node/EllipseNode.d.ts +0 -26
- package/types/view/node/HtmlNode.d.ts +20 -0
- package/types/view/node/PolygonNode.d.ts +1 -19
- package/types/view/node/RectNode.d.ts +0 -37
- package/types/view/node/TextNode.d.ts +1 -0
- package/types/view/overlay/BackgroundOverlay.d.ts +18 -29
- package/types/view/overlay/CanvasOverlay.d.ts +0 -2
- package/types/view/overlay/OutlineOverlay.d.ts +1 -1
|
@@ -1,173 +1,273 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
fontWeight: string;
|
|
87
|
-
fontFamily: string;
|
|
88
|
-
};
|
|
89
|
-
nodeText: {
|
|
90
|
-
autoWrap: boolean;
|
|
91
|
-
lineHeight: number;
|
|
92
|
-
wrapPadding: string;
|
|
93
|
-
color: string;
|
|
94
|
-
fontSize: number;
|
|
95
|
-
fontWeight: string;
|
|
96
|
-
fontFamily: string;
|
|
97
|
-
};
|
|
98
|
-
edgeText: {
|
|
99
|
-
color: string;
|
|
100
|
-
fontSize: number;
|
|
101
|
-
fontWeight: string;
|
|
102
|
-
fontFamily: string;
|
|
103
|
-
background: {
|
|
104
|
-
fill: string;
|
|
105
|
-
height: number;
|
|
106
|
-
stroke: string;
|
|
107
|
-
radius: number;
|
|
108
|
-
};
|
|
109
|
-
hoverBackground: any;
|
|
110
|
-
autoWrap: boolean;
|
|
111
|
-
lineHeight: number;
|
|
112
|
-
wrapPadding: string;
|
|
113
|
-
};
|
|
114
|
-
line: {
|
|
115
|
-
stroke: string;
|
|
116
|
-
strokeWidth: number;
|
|
117
|
-
hoverStroke: string;
|
|
118
|
-
selectedStroke: string;
|
|
119
|
-
strokeDashArray: string;
|
|
120
|
-
outlineColor: string;
|
|
121
|
-
outlineStrokeDashArray: string;
|
|
122
|
-
};
|
|
123
|
-
polyline: {
|
|
124
|
-
offset: number;
|
|
125
|
-
stroke: string;
|
|
126
|
-
strokeWidth: number;
|
|
127
|
-
hoverStroke: string;
|
|
128
|
-
selectedStroke: string;
|
|
129
|
-
strokeDashArray: string;
|
|
130
|
-
outlineColor: string;
|
|
131
|
-
outlineStrokeDashArray: string;
|
|
132
|
-
};
|
|
133
|
-
bezier: {
|
|
134
|
-
offset: number;
|
|
135
|
-
adjustLineColor: string;
|
|
136
|
-
adjustAnchorStroke: string;
|
|
137
|
-
adjustAnchorFill: string;
|
|
138
|
-
adjustAnchorFillOpacity: number;
|
|
139
|
-
stroke: string;
|
|
140
|
-
strokeWidth: number;
|
|
141
|
-
hoverStroke: string;
|
|
142
|
-
selectedStroke: string;
|
|
143
|
-
strokeDashArray: string;
|
|
144
|
-
outlineColor: string;
|
|
145
|
-
outlineStrokeDashArray: string;
|
|
146
|
-
};
|
|
147
|
-
arrow: {
|
|
148
|
-
offset: number;
|
|
149
|
-
verticalLength: number;
|
|
150
|
-
};
|
|
151
|
-
anchorLine: {
|
|
152
|
-
stroke: string;
|
|
153
|
-
strokeWidth: number;
|
|
154
|
-
strokeDasharray: string;
|
|
155
|
-
};
|
|
156
|
-
anchorHover: {
|
|
157
|
-
fill: string;
|
|
158
|
-
fillOpacity: number;
|
|
159
|
-
stroke: string;
|
|
160
|
-
strokeWidth: number;
|
|
161
|
-
r: number;
|
|
162
|
-
};
|
|
163
|
-
snapline: {
|
|
164
|
-
stroke: string;
|
|
165
|
-
strokeWidth: number;
|
|
166
|
-
};
|
|
167
|
-
edgeAdjust: {
|
|
1
|
+
/**
|
|
2
|
+
* 颜色
|
|
3
|
+
* CSS属性用颜色
|
|
4
|
+
* 如#000000,reg(0,0,0,0)
|
|
5
|
+
* 如果是透明,可以传'none'
|
|
6
|
+
*/
|
|
7
|
+
export declare type Color = string;
|
|
8
|
+
/**
|
|
9
|
+
* svg虚线
|
|
10
|
+
* 格式为逗号分割字符串,如
|
|
11
|
+
* @see https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute/stroke-dasharray
|
|
12
|
+
*/
|
|
13
|
+
export declare type DashArray = string;
|
|
14
|
+
export declare type CommonTheme = {
|
|
15
|
+
/**
|
|
16
|
+
* 填充颜色
|
|
17
|
+
*/
|
|
18
|
+
fill?: Color;
|
|
19
|
+
/**
|
|
20
|
+
* 边框颜色
|
|
21
|
+
*/
|
|
22
|
+
stroke?: Color;
|
|
23
|
+
/**
|
|
24
|
+
* 边框宽度
|
|
25
|
+
*/
|
|
26
|
+
strokeWidth?: number;
|
|
27
|
+
/**
|
|
28
|
+
* 其他属性
|
|
29
|
+
* 我们会把你定义的所有属性最终传递到DOM上
|
|
30
|
+
* 详情请参考svg属性规范
|
|
31
|
+
* https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute
|
|
32
|
+
*/
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* rect主题样式
|
|
37
|
+
* svg基础图形-矩形
|
|
38
|
+
* https://developer.mozilla.org/zh-CN/docs/Web/SVG/Element/rect
|
|
39
|
+
*/
|
|
40
|
+
export declare type RectTheme = {
|
|
41
|
+
/**
|
|
42
|
+
* 矩形的默认宽度
|
|
43
|
+
*/
|
|
44
|
+
width?: number;
|
|
45
|
+
/**
|
|
46
|
+
* 矩形的默认高度
|
|
47
|
+
*/
|
|
48
|
+
height?: number;
|
|
49
|
+
/**
|
|
50
|
+
* 圆角
|
|
51
|
+
* 注意,矩形圆角请使用radius
|
|
52
|
+
* 不要使用rx和ry
|
|
53
|
+
*/
|
|
54
|
+
radius?: number;
|
|
55
|
+
} & CommonTheme;
|
|
56
|
+
/**
|
|
57
|
+
* circle主题样式
|
|
58
|
+
* svg基础图形-圆形
|
|
59
|
+
* https://developer.mozilla.org/zh-CN/docs/Web/SVG/Element/circle
|
|
60
|
+
*/
|
|
61
|
+
export declare type CircleTheme = {
|
|
62
|
+
/**
|
|
63
|
+
* 默认半径
|
|
64
|
+
*/
|
|
65
|
+
r?: number;
|
|
66
|
+
} & CommonTheme;
|
|
67
|
+
/**
|
|
68
|
+
* polygon主题样式
|
|
69
|
+
* svg基础图形-多边形
|
|
70
|
+
* https://developer.mozilla.org/zh-CN/docs/Web/SVG/Element/polygon
|
|
71
|
+
*/
|
|
72
|
+
export declare type PolygonTheme = CommonTheme;
|
|
73
|
+
/**
|
|
74
|
+
* ellipse主题样式
|
|
75
|
+
* svg基础图形-椭圆
|
|
76
|
+
* https://developer.mozilla.org/zh-CN/docs/Web/SVG/Element/ellipse
|
|
77
|
+
*/
|
|
78
|
+
export declare type EllipseTheme = CommonTheme;
|
|
79
|
+
/**
|
|
80
|
+
* 锚点样式
|
|
81
|
+
* svg基础图形-圆
|
|
82
|
+
*/
|
|
83
|
+
export declare type AnchorTheme = {
|
|
84
|
+
r?: number;
|
|
85
|
+
hover?: {
|
|
168
86
|
r: number;
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
87
|
+
} & CommonTheme;
|
|
88
|
+
} & CommonTheme;
|
|
89
|
+
/**
|
|
90
|
+
* 文本样式
|
|
91
|
+
* svg文本
|
|
92
|
+
* https://developer.mozilla.org/zh-CN/docs/Web/SVG/Element/text
|
|
93
|
+
*/
|
|
94
|
+
export declare type TextTheme = {
|
|
95
|
+
/**
|
|
96
|
+
* 文本颜色
|
|
97
|
+
*/
|
|
98
|
+
color?: Color;
|
|
99
|
+
/**
|
|
100
|
+
* 文本大小
|
|
101
|
+
*/
|
|
102
|
+
fontSize?: number;
|
|
103
|
+
} & CommonTheme;
|
|
104
|
+
/**
|
|
105
|
+
* 文本节点样式
|
|
106
|
+
*/
|
|
107
|
+
export declare type TextNodeTheme = {
|
|
108
|
+
background?: RectTheme;
|
|
109
|
+
} & TextTheme;
|
|
110
|
+
/**
|
|
111
|
+
* 节点上文本样式
|
|
112
|
+
*/
|
|
113
|
+
export declare type NodeTextTheme = {
|
|
114
|
+
/**
|
|
115
|
+
* 文本超出指定宽度处理方式
|
|
116
|
+
* default: 不特殊处理,允许超出
|
|
117
|
+
* autoWrap: 超出自动换行
|
|
118
|
+
* ellipsis: 超出省略
|
|
119
|
+
*/
|
|
120
|
+
overflowMode?: string;
|
|
121
|
+
background?: RectTheme;
|
|
122
|
+
} & TextTheme;
|
|
123
|
+
/**
|
|
124
|
+
* 边上文本样式
|
|
125
|
+
*/
|
|
126
|
+
export declare type EdgeTextTheme = {
|
|
127
|
+
/**
|
|
128
|
+
* 文本超出指定宽度处理方式
|
|
129
|
+
* default: 不特殊处理,允许超出
|
|
130
|
+
* autoWrap: 超出自动换行
|
|
131
|
+
* ellipsis: 超出省略
|
|
132
|
+
*/
|
|
133
|
+
overflowMode?: string;
|
|
134
|
+
/**
|
|
135
|
+
* 文本一行最大宽度
|
|
136
|
+
*/
|
|
137
|
+
textWidth?: number;
|
|
138
|
+
/**
|
|
139
|
+
* 文本背景样式
|
|
140
|
+
*/
|
|
141
|
+
background?: {
|
|
142
|
+
wrapPadding?: string;
|
|
143
|
+
} & RectTheme;
|
|
144
|
+
/**
|
|
145
|
+
* hover状态下文本样式
|
|
146
|
+
*/
|
|
147
|
+
hover?: EdgeTextTheme;
|
|
148
|
+
} & TextTheme;
|
|
149
|
+
export declare type EdgeTheme = CommonTheme;
|
|
150
|
+
export declare type EdgePolylineTheme = {
|
|
151
|
+
/**
|
|
152
|
+
* 为了避免折线贴着节点导致折线和节点边重合
|
|
153
|
+
* 设置折线与节点产生垂线的距离。
|
|
154
|
+
* 详情见http://logic-flow.org/article/article03.html#%E7%9B%B4%E8%A7%92%E6%8A%98%E7%BA%BF
|
|
155
|
+
*/
|
|
156
|
+
offset?: number;
|
|
157
|
+
} & EdgeTheme;
|
|
158
|
+
export declare type EdgeBezierTheme = {
|
|
159
|
+
/**
|
|
160
|
+
* 贝塞尔曲线控制点与锚点的距离
|
|
161
|
+
*/
|
|
162
|
+
offset?: number;
|
|
163
|
+
/**
|
|
164
|
+
* 贝塞尔调整线主题
|
|
165
|
+
*/
|
|
166
|
+
adjustLine?: EdgeTheme;
|
|
167
|
+
/**
|
|
168
|
+
* 贝塞尔调整锚点主题
|
|
169
|
+
*/
|
|
170
|
+
adjustAnchor?: CircleTheme;
|
|
171
|
+
} & EdgeTheme;
|
|
172
|
+
/**
|
|
173
|
+
* 箭头主题
|
|
174
|
+
*/
|
|
175
|
+
export declare type ArrowTheme = {
|
|
176
|
+
/**
|
|
177
|
+
* 箭头长度.
|
|
178
|
+
* 以符号"->"为例, offset表示箭头大于号的宽度。
|
|
179
|
+
*/
|
|
180
|
+
offset?: number;
|
|
181
|
+
/**
|
|
182
|
+
* 箭头垂直于边的距离
|
|
183
|
+
* 以符号"->"为例, verticalLength表示箭头大于号的高度
|
|
184
|
+
*/
|
|
185
|
+
verticalLength?: number;
|
|
186
|
+
} & CommonTheme;
|
|
187
|
+
export declare type OutlineTheme = {
|
|
188
|
+
/**
|
|
189
|
+
* hover状态下样式
|
|
190
|
+
*/
|
|
191
|
+
hover?: CommonTheme;
|
|
192
|
+
} & CommonTheme;
|
|
193
|
+
export declare type Theme = {
|
|
194
|
+
/**
|
|
195
|
+
* 所有节点的通用主题设置
|
|
196
|
+
*/
|
|
197
|
+
baseNode?: CommonTheme;
|
|
198
|
+
/**
|
|
199
|
+
* 基础图形-矩形样式
|
|
200
|
+
*/
|
|
201
|
+
rect?: RectTheme;
|
|
202
|
+
/**
|
|
203
|
+
* 基础图形-圆形样式
|
|
204
|
+
*/
|
|
205
|
+
circle?: CircleTheme;
|
|
206
|
+
/**
|
|
207
|
+
* 基础图形-菱形样式
|
|
208
|
+
*/
|
|
209
|
+
diamond?: PolygonTheme;
|
|
210
|
+
/**
|
|
211
|
+
* 基础图形-椭圆样式
|
|
212
|
+
*/
|
|
213
|
+
ellipse?: EllipseTheme;
|
|
214
|
+
/**
|
|
215
|
+
* 基础图形-多边形样式
|
|
216
|
+
*/
|
|
217
|
+
polygon?: PolygonTheme;
|
|
218
|
+
/**
|
|
219
|
+
* 所有边的通用主题设置
|
|
220
|
+
*/
|
|
221
|
+
baseEdge?: EdgeTheme;
|
|
222
|
+
/**
|
|
223
|
+
* 基础图形-直线样式
|
|
224
|
+
*/
|
|
225
|
+
line?: EdgeTheme;
|
|
226
|
+
/**
|
|
227
|
+
* 基础图形-折现样式
|
|
228
|
+
*/
|
|
229
|
+
polyline?: EdgePolylineTheme;
|
|
230
|
+
/**
|
|
231
|
+
* 基础图形-贝塞尔曲线样式
|
|
232
|
+
*/
|
|
233
|
+
bezier?: EdgeBezierTheme;
|
|
234
|
+
/**
|
|
235
|
+
* 锚点样式
|
|
236
|
+
*/
|
|
237
|
+
anchor?: AnchorTheme;
|
|
238
|
+
/**
|
|
239
|
+
* 文本节点样式
|
|
240
|
+
*/
|
|
241
|
+
text?: TextTheme;
|
|
242
|
+
/**
|
|
243
|
+
* 节点文本样式
|
|
244
|
+
*/
|
|
245
|
+
nodeText?: NodeTextTheme;
|
|
246
|
+
/**
|
|
247
|
+
* 边文本样式
|
|
248
|
+
*/
|
|
249
|
+
edgeText?: EdgeTextTheme;
|
|
250
|
+
/**
|
|
251
|
+
* 边上箭头的样式
|
|
252
|
+
*/
|
|
253
|
+
arrow?: ArrowTheme;
|
|
254
|
+
/**
|
|
255
|
+
* 从锚点拉出的边的样式
|
|
256
|
+
*/
|
|
257
|
+
anchorLine?: EdgeTheme;
|
|
258
|
+
/**
|
|
259
|
+
* 对齐线样式
|
|
260
|
+
*/
|
|
261
|
+
snapline?: EdgeTheme;
|
|
262
|
+
/**
|
|
263
|
+
* 当开启了跳转边的起点和终点(adjustEdgeStartAndEnd:true)后
|
|
264
|
+
* 边的两端会出现调整按钮
|
|
265
|
+
* 边连段的调整点样式
|
|
266
|
+
*/
|
|
267
|
+
edgeAdjust?: CircleTheme;
|
|
268
|
+
/**
|
|
269
|
+
* 节点选择状态下外侧的选框样式
|
|
270
|
+
*/
|
|
271
|
+
outline?: OutlineTheme;
|
|
173
272
|
};
|
|
273
|
+
export declare const defaultTheme: Theme;
|
|
@@ -56,7 +56,6 @@ export declare enum EventType {
|
|
|
56
56
|
EDGE_CONTEXTMENU = "edge:contextmenu",
|
|
57
57
|
EDGE_ADJUST = "edge:adjust",
|
|
58
58
|
EDGE_EXCHANGE_NODE = "edge:exchange-node",
|
|
59
|
-
SELECTION_CONTEXTMENU = "selection:contextmenu",
|
|
60
59
|
BLANK_MOUSEDOWN = "blank:mousedown",
|
|
61
60
|
BLANK_DRAGSTART = "blank:dragstart",
|
|
62
61
|
BLANK_DRAG = "blank:drag",
|
|
@@ -65,6 +64,13 @@ export declare enum EventType {
|
|
|
65
64
|
BLANK_MOUSEUP = "blank:mouseup",
|
|
66
65
|
BLANK_CLICK = "blank:click",
|
|
67
66
|
BLANK_CONTEXTMENU = "blank:contextmenu",
|
|
67
|
+
SELECTION_MOUSEDOWN = "selection:mousedown",
|
|
68
|
+
SELECTION_DRAGSTART = "selection:dragstart",
|
|
69
|
+
SELECTION_DRAG = "selection:drag",
|
|
70
|
+
SELECTION_DROP = "selection:drop",
|
|
71
|
+
SELECTION_MOUSEMOVE = "selection:mousemove",
|
|
72
|
+
SELECTION_MOUSEUP = "selection:mouseup",
|
|
73
|
+
SELECTION_CONTEXTMENU = "selection:contextmenu",
|
|
68
74
|
CONNECTION_NOT_ALLOWED = "connection:not-allowed",
|
|
69
75
|
HISTORY_CHANGE = "history:change",
|
|
70
76
|
TEXT_UPDATE = "text:update",
|
|
@@ -1,14 +1,73 @@
|
|
|
1
1
|
import { ElementState } from '../constant/constant';
|
|
2
2
|
import { TextConfig, AdditionData } from '../type';
|
|
3
3
|
interface IBaseModel {
|
|
4
|
+
/**
|
|
5
|
+
* 节点或者边的id.
|
|
6
|
+
* 默认情况下,使用uuidv4生成。
|
|
7
|
+
* 如果想要自定义,可以重写createId生成。
|
|
8
|
+
*/
|
|
4
9
|
id: string;
|
|
10
|
+
/**
|
|
11
|
+
* 不可自定义
|
|
12
|
+
* model对应的图形外观类型(eg: 圆形、矩形、多边形等)
|
|
13
|
+
* 用于logicflow内部计算使用。
|
|
14
|
+
*/
|
|
5
15
|
modelType: string;
|
|
16
|
+
/**
|
|
17
|
+
* 请勿直接修改属性,如果想要将一个节点类型修改为另一个类型。请使用
|
|
18
|
+
* `lf.graphModel.changeEdgeType`和`lf.graphModel.changeNodeType`
|
|
19
|
+
*
|
|
20
|
+
* 流程图元素类型,自定义元素时对应的标识。
|
|
21
|
+
* 在logicflow/core中对应着rect、circle、polyline这种。
|
|
22
|
+
* 在实际项目中,我们会基于业务类型进行自定义type.
|
|
23
|
+
* 例如BPMN应用场景,我们会定义开始节点的类型为bpmn:start-event
|
|
24
|
+
*
|
|
25
|
+
* 和modelType的区别是,type更多的是业务上的类型,而modelType则是外观上的类型。
|
|
26
|
+
* 例如bpmnjs的开始节点和结束节点type分别为'bpmn:start-event'和'bpmn:end-event'。
|
|
27
|
+
* 但是他们的modelType都是circle-node, 因为他们外观都是基于圆形自定义而来。
|
|
28
|
+
*/
|
|
6
29
|
type: string;
|
|
30
|
+
/**
|
|
31
|
+
* 元素状态
|
|
32
|
+
* 不同的状态对应着元素显示效果。
|
|
33
|
+
* 请勿直接修改。
|
|
34
|
+
* logicflow内部将元素状态分为5种:
|
|
35
|
+
* DEFAULT = 1 默认显示
|
|
36
|
+
* TEXT_EDIT = 2 此元素正在进行文本编辑
|
|
37
|
+
* SHOW_MENU = 3, 显示菜单,废弃请使用菜单插件
|
|
38
|
+
* ALLOW_CONNECT = 4, 此元素允许作为当前边的目标节点
|
|
39
|
+
* NOT_ALLOW_CONNECT = 5, 此元素不允许作为当前边的目标节点
|
|
40
|
+
*/
|
|
7
41
|
state: ElementState;
|
|
8
42
|
additionStateData: AdditionData;
|
|
43
|
+
/**
|
|
44
|
+
* 元素上的文本
|
|
45
|
+
* logicflow中存在两种文本
|
|
46
|
+
* 一种是脱离边和节点单独存在的文本
|
|
47
|
+
* 一种是必须和边、节点关联的文本。
|
|
48
|
+
* 此属性控制的是第二种。
|
|
49
|
+
* 节点和边删除、调整的时候,其关联的文本也会对应删除、调整。
|
|
50
|
+
*/
|
|
9
51
|
text: TextConfig;
|
|
52
|
+
/**
|
|
53
|
+
* 元素是否被选中
|
|
54
|
+
*/
|
|
10
55
|
isSelected: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* 元素堆叠是层级,默认情况下节点zIndex值为1,边zIndex为0。
|
|
58
|
+
* todo:写完善
|
|
59
|
+
*/
|
|
11
60
|
zIndex: number;
|
|
61
|
+
/**
|
|
62
|
+
* 创建节点ID
|
|
63
|
+
* 默认情况下,logicflow内部使用uuidv4生成id。
|
|
64
|
+
* 在自定义节点的时候,可以重写此方法基于自己的规则生成id。
|
|
65
|
+
* 注意,此方法必须是同步的。
|
|
66
|
+
* 如果想要异步修改Id,建议删除此节点后再同一位置创建一个新的节点。
|
|
67
|
+
* @overridable 可以重写
|
|
68
|
+
* @returns string
|
|
69
|
+
*/
|
|
70
|
+
createId(): string;
|
|
12
71
|
move(deltaX: number, deltaY: number): void;
|
|
13
72
|
moveText(deltaX: number, deltaY: number): void;
|
|
14
73
|
updateText(value: string): void;
|
|
@@ -16,11 +16,11 @@ export interface EditConfigInterface {
|
|
|
16
16
|
*/
|
|
17
17
|
stopMoveGraph?: boolean;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* 允许调整边
|
|
20
20
|
*/
|
|
21
21
|
adjustEdge?: boolean;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* 允许调整边起点和终点
|
|
24
24
|
*/
|
|
25
25
|
adjustEdgeStartAndEnd?: boolean;
|
|
26
26
|
/**
|
|
@@ -40,7 +40,7 @@ export interface EditConfigInterface {
|
|
|
40
40
|
*/
|
|
41
41
|
nodeSelectedOutline?: boolean;
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* 边被选中时是否显示outline
|
|
44
44
|
*/
|
|
45
45
|
edgeSelectedOutline?: boolean;
|
|
46
46
|
/**
|
|
@@ -48,7 +48,7 @@ export interface EditConfigInterface {
|
|
|
48
48
|
*/
|
|
49
49
|
nodeTextEdit?: boolean;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* 允许边文本可以编辑
|
|
52
52
|
*/
|
|
53
53
|
edgeTextEdit?: boolean;
|
|
54
54
|
/**
|
|
@@ -60,22 +60,14 @@ export interface EditConfigInterface {
|
|
|
60
60
|
*/
|
|
61
61
|
nodeTextDraggable?: boolean;
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
63
|
+
* 允许边文本可以拖拽
|
|
64
64
|
*/
|
|
65
65
|
edgeTextDraggable?: boolean;
|
|
66
|
-
/**
|
|
67
|
-
* 允许meta多选元素
|
|
68
|
-
*/
|
|
69
|
-
metaKeyMultipleSelected?: boolean;
|
|
70
66
|
/**
|
|
71
67
|
* 多选按键, 支持meta(cmd)、shift、alt
|
|
72
|
-
* 不支持ctrl,ctrl
|
|
68
|
+
* 不支持ctrl,ctrl会触发contextmenu
|
|
73
69
|
*/
|
|
74
70
|
multipleSelectKey?: string;
|
|
75
|
-
/**
|
|
76
|
-
* 外部传入的额外配置, 待优化,这里不够易用。
|
|
77
|
-
*/
|
|
78
|
-
extraConf?: Record<string, string | number | object | boolean>;
|
|
79
71
|
}
|
|
80
72
|
/**
|
|
81
73
|
* 页面编辑配置
|
|
@@ -96,9 +88,7 @@ export default class EditConfigModel {
|
|
|
96
88
|
edgeTextEdit: boolean;
|
|
97
89
|
nodeTextDraggable: boolean;
|
|
98
90
|
edgeTextDraggable: boolean;
|
|
99
|
-
metaKeyMultipleSelected: boolean;
|
|
100
91
|
multipleSelectKey: string;
|
|
101
|
-
extraConf: {};
|
|
102
92
|
defaultConfig: {};
|
|
103
93
|
constructor(config: EditConfigInterface);
|
|
104
94
|
updateEditConfig(config: any): void;
|