@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
|
@@ -3,106 +3,42 @@ import BaseEdgeModel from './edge/BaseEdgeModel';
|
|
|
3
3
|
import EditConfigModel from './EditConfigModel';
|
|
4
4
|
import TransfromModel from './TransformModel';
|
|
5
5
|
import { IBaseModel } from './BaseModel';
|
|
6
|
-
import {
|
|
7
|
-
import { AdditionData, Point, NodeConfig, EdgeConfig,
|
|
6
|
+
import { ElementState, ModelType, ElementType } from '../constant/constant';
|
|
7
|
+
import { AdditionData, Point, NodeConfig, EdgeConfig, Style, NodeMoveRule } from '../type';
|
|
8
8
|
import EventEmitter from '../event/eventEmitter';
|
|
9
|
-
import { Theme } from '../constant/DefaultTheme';
|
|
10
|
-
import { Definition } from '../options';
|
|
11
9
|
declare type BaseNodeModelId = string;
|
|
12
10
|
declare type ElementModeId = string;
|
|
13
11
|
declare class GraphModel {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* 也就是初始化LogicFlow实例时传入的container
|
|
17
|
-
*/
|
|
12
|
+
readonly BaseType = ElementType.GRAPH;
|
|
13
|
+
modelType: ModelType;
|
|
18
14
|
rootEl: HTMLElement;
|
|
19
|
-
|
|
20
|
-
* LogicFlow画布宽度
|
|
21
|
-
*/
|
|
22
|
-
width: number;
|
|
23
|
-
/**
|
|
24
|
-
* LogicFlow画布高度
|
|
25
|
-
*/
|
|
26
|
-
height: number;
|
|
27
|
-
/**
|
|
28
|
-
* 主题配置
|
|
29
|
-
* @see todo docs link
|
|
30
|
-
*/
|
|
31
|
-
theme: Theme;
|
|
32
|
-
/**
|
|
33
|
-
* 事件中心
|
|
34
|
-
* @see todo docs link
|
|
35
|
-
*/
|
|
15
|
+
theme: any;
|
|
36
16
|
eventCenter: EventEmitter;
|
|
37
|
-
/**
|
|
38
|
-
* 维护所有节点和边类型对应的model
|
|
39
|
-
*/
|
|
40
17
|
modelMap: Map<any, any>;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
* 此元素只在堆叠模式为默认模式下存在。
|
|
44
|
-
* 用于在默认模式下将之前的顶部元素恢复初始高度。
|
|
45
|
-
*/
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
46
20
|
topElement: BaseNodeModel | BaseEdgeModel;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
* @see todo docs link
|
|
50
|
-
*/
|
|
51
|
-
idGenerator: (type?: string) => string;
|
|
52
|
-
/**
|
|
53
|
-
* 节点移动规则判断
|
|
54
|
-
* 在节点移动的时候,会出发此数组中的所有规则判断
|
|
55
|
-
*/
|
|
21
|
+
selectElement: BaseNodeModel | BaseEdgeModel;
|
|
22
|
+
idGenerator: (type?: string) => number | string;
|
|
56
23
|
nodeMoveRules: NodeMoveRule[];
|
|
57
|
-
/**
|
|
58
|
-
* 在图上操作创建边时,默认使用的边类型.
|
|
59
|
-
*/
|
|
60
24
|
edgeType: string;
|
|
61
|
-
/**
|
|
62
|
-
* 当前图上所有节点的model
|
|
63
|
-
*/
|
|
64
25
|
nodes: BaseNodeModel[];
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
26
|
+
activeElement: IBaseModel;
|
|
27
|
+
activeElementState: ElementState;
|
|
28
|
+
state: ElementState;
|
|
29
|
+
additionStateData: AdditionData;
|
|
68
30
|
edges: BaseEdgeModel[];
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
* @see todo link
|
|
74
|
-
*/
|
|
75
|
-
overlapMode: OverlapMode;
|
|
76
|
-
/**
|
|
77
|
-
* 背景配置
|
|
78
|
-
* @see todo link
|
|
79
|
-
*/
|
|
31
|
+
isSlient: boolean;
|
|
32
|
+
overlapMode: number;
|
|
33
|
+
plugins: any[];
|
|
34
|
+
tools: any[];
|
|
80
35
|
background: any;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
* @see todo link
|
|
84
|
-
*/
|
|
85
|
-
transformModel: TransfromModel;
|
|
86
|
-
/**
|
|
87
|
-
* 控制流程图编辑相关配置
|
|
88
|
-
* @see todo link
|
|
89
|
-
*/
|
|
90
|
-
editConfigModel: EditConfigModel;
|
|
91
|
-
/**
|
|
92
|
-
* 网格大小
|
|
93
|
-
* @see todo link
|
|
94
|
-
*/
|
|
36
|
+
transformMatrix: TransfromModel;
|
|
37
|
+
editConfig: EditConfigModel;
|
|
95
38
|
gridSize: number;
|
|
96
|
-
/**
|
|
97
|
-
* 局部渲染
|
|
98
|
-
* @see todo logicflow性能
|
|
99
|
-
*/
|
|
100
39
|
partial: boolean;
|
|
101
|
-
/**
|
|
102
|
-
* 外部拖动节点进入画布的过程中,用fakerNode来和画布上正是的节点区分开
|
|
103
|
-
*/
|
|
104
40
|
fakerNode: BaseNodeModel;
|
|
105
|
-
constructor(
|
|
41
|
+
constructor(config: any);
|
|
106
42
|
get nodesMap(): {
|
|
107
43
|
[key: string]: {
|
|
108
44
|
index: number;
|
|
@@ -115,13 +51,9 @@ declare class GraphModel {
|
|
|
115
51
|
model: BaseEdgeModel;
|
|
116
52
|
};
|
|
117
53
|
};
|
|
118
|
-
/**
|
|
119
|
-
* 基于zIndex对元素进行排序。
|
|
120
|
-
* todo: 性能优化
|
|
121
|
-
*/
|
|
122
54
|
get sortElements(): any[];
|
|
123
55
|
/**
|
|
124
|
-
*
|
|
56
|
+
* 当前编辑的元素,低频操作,先循环找吧。
|
|
125
57
|
*/
|
|
126
58
|
get textEditElement(): BaseNodeModel | BaseEdgeModel;
|
|
127
59
|
get selectElements(): Map<any, any>;
|
|
@@ -129,14 +61,8 @@ declare class GraphModel {
|
|
|
129
61
|
* 获取指定区域内的所有元素
|
|
130
62
|
*/
|
|
131
63
|
getAreaElement(leftTopPoint: any, rightBottomPoint: any): any[];
|
|
132
|
-
/**
|
|
133
|
-
* 获取指定类型元素对应的Model
|
|
134
|
-
*/
|
|
135
64
|
getModel(type: string): any;
|
|
136
|
-
|
|
137
|
-
* 基于Id获取节点的model
|
|
138
|
-
*/
|
|
139
|
-
getNodeModelById(nodeId: BaseNodeModelId): BaseNodeModel;
|
|
65
|
+
getNodeModel(nodeId: BaseNodeModelId): BaseNodeModel;
|
|
140
66
|
/**
|
|
141
67
|
* 因为流程图所在的位置可以是页面任何地方
|
|
142
68
|
* 当内部事件需要获取触发事件时,其相对于画布左上角的位置
|
|
@@ -154,99 +80,45 @@ declare class GraphModel {
|
|
|
154
80
|
};
|
|
155
81
|
/**
|
|
156
82
|
* 判断一个元素是否在指定矩形区域内。
|
|
157
|
-
* @param element
|
|
83
|
+
* @param element 节点或者连线
|
|
158
84
|
* @param lt 左上角点
|
|
159
85
|
* @param rb 右下角点
|
|
160
86
|
*/
|
|
161
87
|
isElementInArea(element: any, lt: any, rb: any, wholeEdge?: boolean): boolean;
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* 获取边的model
|
|
174
|
-
*/
|
|
175
|
-
getEdgeModelById(edgeId: string): BaseEdgeModel | undefined;
|
|
176
|
-
/**
|
|
177
|
-
* 获取节点或者边的model
|
|
178
|
-
*/
|
|
88
|
+
graphDataToModel(graphData: any): void;
|
|
89
|
+
modelToGraphData(): {
|
|
90
|
+
nodes: import("../type").NodeData[];
|
|
91
|
+
edges: import("../type").EdgeData[];
|
|
92
|
+
};
|
|
93
|
+
modelToHistoryData(): false | {
|
|
94
|
+
nodes: any[];
|
|
95
|
+
edges: any[];
|
|
96
|
+
};
|
|
97
|
+
getEdgeModel(edgeId: string): BaseEdgeModel;
|
|
179
98
|
getElement(id: string): IBaseModel | undefined;
|
|
180
|
-
/**
|
|
181
|
-
* 所有节点上所有边的model
|
|
182
|
-
*/
|
|
183
99
|
getNodeEdges(nodeId: any): BaseEdgeModel[];
|
|
184
100
|
/**
|
|
185
101
|
* 获取选中的元素数据
|
|
186
|
-
* @param isIgnoreCheck 是否包括sourceNode和targetNode
|
|
187
|
-
*
|
|
188
|
-
*/
|
|
189
|
-
getSelectElements(isIgnoreCheck?: boolean): GraphConfigData;
|
|
190
|
-
/**
|
|
191
|
-
* 修改对应元素 model 中的属性
|
|
192
|
-
* 注意:此方法慎用,除非您对logicflow内部有足够的了解。
|
|
193
|
-
* 大多数情况下,请使用setProperties、updateText、changeNodeId等方法。
|
|
194
|
-
* 例如直接使用此方法修改节点的id,那么就是会导致连接到此节点的边的sourceNodeId出现找不到的情况。
|
|
195
|
-
* @param {string} id 元素id
|
|
196
|
-
* @param {object} attributes 需要更新的属性
|
|
102
|
+
* @param isIgnoreCheck 是否包括sourceNode和targetNode没有被选中的连线,默认包括。
|
|
103
|
+
* 复制的时候不能包括此类连线, 因为复制的时候不允许悬空的连线
|
|
197
104
|
*/
|
|
105
|
+
getSelectElements(isIgnoreCheck?: boolean): {
|
|
106
|
+
nodes: any[];
|
|
107
|
+
edges: any[];
|
|
108
|
+
};
|
|
198
109
|
updateAttributes(id: string, attributes: object): void;
|
|
199
110
|
/**
|
|
200
|
-
*
|
|
201
|
-
* @param { string } oldId 将要被修改的id
|
|
202
|
-
* @param { string } newId 可选,修改后的id
|
|
203
|
-
* @returns 修改后的节点id, 如果传入的oldId不存在,返回空字符串
|
|
204
|
-
*/
|
|
205
|
-
changeNodeId<T extends string>(oldId: any, newId?: T | string): T | string;
|
|
206
|
-
/**
|
|
207
|
-
* 修改边的id, 如果不传新的id,会内部自动创建一个。
|
|
208
|
-
* @param { string } oldId 将要被修改的id
|
|
209
|
-
* @param { string } newId 可选,修改后的id
|
|
210
|
-
* @returns 修改后的节点id, 如果传入的oldId不存在,返回空字符串
|
|
211
|
-
*/
|
|
212
|
-
changeEdgeId<T extends string>(oldId: string, newId?: string): T | string;
|
|
213
|
-
/**
|
|
214
|
-
* 内部保留方法,请勿直接使用
|
|
111
|
+
* 修改指定节点id
|
|
215
112
|
*/
|
|
113
|
+
changeNodeId<T extends string>(oldId: any, newId?: T | string): false | T | string;
|
|
114
|
+
changeEdgeId<T extends string>(oldId: string, newId?: string): false | T | string;
|
|
216
115
|
setFakerNode(nodeModel: BaseNodeModel): void;
|
|
217
|
-
/**
|
|
218
|
-
* 内部保留方法,请勿直接使用
|
|
219
|
-
*/
|
|
220
116
|
removeFakerNode(): void;
|
|
221
|
-
/**
|
|
222
|
-
* 设置指定类型的Model,请勿直接使用
|
|
223
|
-
*/
|
|
224
117
|
setModel(type: string, ModelClass: any): Map<any, any>;
|
|
225
|
-
|
|
226
|
-
* 将某个元素放置到顶部。
|
|
227
|
-
* 如果堆叠模式为默认模式,则将原置顶元素重新恢复原有层级。
|
|
228
|
-
* 如果堆叠模式为递增模式,则将需指定元素zIndex设置为当前最大zIndex + 1。
|
|
229
|
-
* @see todo link 堆叠模式
|
|
230
|
-
* @param id 元素Id
|
|
231
|
-
*/
|
|
118
|
+
updateEdgeByIndex(index: any, data: any): void;
|
|
232
119
|
toFront(id: any): void;
|
|
233
|
-
|
|
234
|
-
* 设置元素的zIndex.
|
|
235
|
-
* 注意:默认堆叠模式下,不建议使用此方法。
|
|
236
|
-
* @see todo link 堆叠模式
|
|
237
|
-
* @param id 元素id
|
|
238
|
-
* @param zIndex zIndex的值,可以传数字,也支持传入'top' 和 'bottom'
|
|
239
|
-
*/
|
|
240
|
-
setElementZIndex(id: string, zIndex: number | 'top' | 'bottom'): void;
|
|
241
|
-
/**
|
|
242
|
-
* 删除节点
|
|
243
|
-
* @param {string} nodeId 节点Id
|
|
244
|
-
*/
|
|
120
|
+
setElementZIndex(id: any, zIndex: any): void;
|
|
245
121
|
deleteNode(id: any): void;
|
|
246
|
-
/**
|
|
247
|
-
* 添加节点
|
|
248
|
-
* @param nodeConfig 节点配置
|
|
249
|
-
*/
|
|
250
122
|
addNode(nodeConfig: NodeConfig): any;
|
|
251
123
|
/**
|
|
252
124
|
* 克隆节点
|
|
@@ -268,71 +140,20 @@ declare class GraphModel {
|
|
|
268
140
|
* @param y Y轴目标位置
|
|
269
141
|
*/
|
|
270
142
|
moveNode2Coordinate(nodeId: BaseNodeModelId, x: number, y: number): void;
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
* @param nodeId 节点id
|
|
274
|
-
*/
|
|
275
|
-
editText(id: ElementModeId): void;
|
|
276
|
-
/**
|
|
277
|
-
* 给两个节点之间添加一条边
|
|
278
|
-
* @param {object} edgeConfig
|
|
279
|
-
*/
|
|
280
|
-
addEdge(edgeConfig: EdgeConfig): EdgeConfig;
|
|
281
|
-
/**
|
|
282
|
-
* 移动边,内部方法,请勿直接使用
|
|
283
|
-
*/
|
|
143
|
+
setTextEditable(id: ElementModeId): void;
|
|
144
|
+
createEdge(edgeConfig: EdgeConfig): EdgeConfig;
|
|
284
145
|
moveEdge(nodeId: BaseNodeModelId, deltaX: number, deltaY: number): void;
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
*/
|
|
294
|
-
deleteEdgeById(id: any): void;
|
|
295
|
-
/**
|
|
296
|
-
* 删除以节点Id为起点的所有边
|
|
297
|
-
*/
|
|
298
|
-
deleteEdgeBySource(sourceNodeId: any): void;
|
|
299
|
-
/**
|
|
300
|
-
* 删除以节点Id为终点的所有边
|
|
301
|
-
*/
|
|
302
|
-
deleteEdgeByTarget(targetNodeId: any): void;
|
|
303
|
-
/**
|
|
304
|
-
* 设置元素的状态,在需要保证整个画布上所有的元素只有一个元素拥有此状态时可以调用此方法。
|
|
305
|
-
* 例如文本编辑、菜单显示等。
|
|
306
|
-
* additionStateData: 传递的额外值,如菜单显示的时候,需要传递期望菜单显示的位置。
|
|
307
|
-
*/
|
|
308
|
-
setElementStateById(id: ElementModeId, state: number, additionStateData?: AdditionData): void;
|
|
309
|
-
/**
|
|
310
|
-
* 更新节点或边的文案
|
|
311
|
-
* @param id 节点或者边id
|
|
312
|
-
* @param value 文案内容
|
|
313
|
-
*/
|
|
314
|
-
updateText(id: ElementModeId, value: string): void;
|
|
315
|
-
/**
|
|
316
|
-
* 选中节点
|
|
317
|
-
* @param id 节点Id
|
|
318
|
-
* @param multiple 是否为多选,如果为多选,则不去掉原有已选择节点的选中状态
|
|
319
|
-
*/
|
|
146
|
+
removeEdge(sourceNodeId: any, targetNodeId: any): void;
|
|
147
|
+
removeEdgeById(id: any): void;
|
|
148
|
+
removeEdgeBySource(sourceNodeId: any): void;
|
|
149
|
+
removeEdgeByTarget(targetNodeId: any): void;
|
|
150
|
+
setElementState(state: ElementState, additionStateData?: AdditionData): void;
|
|
151
|
+
setElementStateById(id: ElementModeId, state: ElementState, additionStateData?: AdditionData): void;
|
|
152
|
+
setElementTextById(id: ElementModeId, value: string): void;
|
|
153
|
+
resetElementState(): void;
|
|
320
154
|
selectNodeById(id: string, multiple?: boolean): void;
|
|
321
|
-
/**
|
|
322
|
-
* 选中边
|
|
323
|
-
* @param id 边Id
|
|
324
|
-
* @param multiple 是否为多选,如果为多选,则不去掉原已选中边的状态
|
|
325
|
-
*/
|
|
326
155
|
selectEdgeById(id: string, multiple?: boolean): void;
|
|
327
|
-
/**
|
|
328
|
-
* 将图形选中
|
|
329
|
-
* @param id 选择元素ID
|
|
330
|
-
* @param multiple 是否允许多选,如果为true,不会将上一个选中的元素重置
|
|
331
|
-
*/
|
|
332
156
|
selectElementById(id: string, multiple?: boolean): void;
|
|
333
|
-
/**
|
|
334
|
-
* 将所有选中的元素设置为非选中
|
|
335
|
-
*/
|
|
336
157
|
clearSelectElements(): void;
|
|
337
158
|
/**
|
|
338
159
|
* 批量移动元素
|
|
@@ -341,8 +162,8 @@ declare class GraphModel {
|
|
|
341
162
|
nodes: NodeConfig[];
|
|
342
163
|
}, deltaX: number, deltaY: number): void;
|
|
343
164
|
/**
|
|
344
|
-
*
|
|
345
|
-
*
|
|
165
|
+
* 批量移动节点,节点移动的时候,会动态计算所有节点与未移动节点的连线位置
|
|
166
|
+
* 移动的节点直接的连线会保持相对位置
|
|
346
167
|
*/
|
|
347
168
|
moveNodes(nodeIds: any, deltaX: any, deltaY: any, isignoreRule?: boolean): void;
|
|
348
169
|
/**
|
|
@@ -351,36 +172,9 @@ declare class GraphModel {
|
|
|
351
172
|
* @param fn function
|
|
352
173
|
*/
|
|
353
174
|
addNodeMoveRules(fn: NodeMoveRule): void;
|
|
354
|
-
|
|
355
|
-
* 设置默认的边类型
|
|
356
|
-
* 也就是设置在节点直接有用户手动绘制的连线类型。
|
|
357
|
-
* @param type Options.EdgeType
|
|
358
|
-
*/
|
|
359
|
-
setDefaultEdgeType(type: string): void;
|
|
360
|
-
/**
|
|
361
|
-
* 修改指定节点类型
|
|
362
|
-
* @param id 节点id
|
|
363
|
-
* @param type 节点类型
|
|
364
|
-
*/
|
|
175
|
+
changeEdgeType(type: string): void;
|
|
365
176
|
changeNodeType(id: any, type: string): void;
|
|
366
|
-
|
|
367
|
-
* 切换边的类型
|
|
368
|
-
* @param id 边Id
|
|
369
|
-
* @param type 期望切换的类型
|
|
370
|
-
*/
|
|
371
|
-
changeEdgeType(id: any, type: any): void;
|
|
372
|
-
/**
|
|
373
|
-
* 设置主题
|
|
374
|
-
* todo docs link
|
|
375
|
-
*/
|
|
376
|
-
setTheme(style: Theme): void;
|
|
377
|
-
/**
|
|
378
|
-
* 重新设置画布的宽高
|
|
379
|
-
*/
|
|
380
|
-
resize(width: number, height: number): void;
|
|
381
|
-
/**
|
|
382
|
-
* 清空画布
|
|
383
|
-
*/
|
|
177
|
+
setTheme(style: Style): void;
|
|
384
178
|
clearData(): void;
|
|
385
179
|
}
|
|
386
180
|
export { GraphModel };
|
|
@@ -15,13 +15,9 @@ export default class SnaplineModel {
|
|
|
15
15
|
isShowHorizontal: boolean;
|
|
16
16
|
isShowVertical: boolean;
|
|
17
17
|
position: SnaplinePosition;
|
|
18
|
+
get stroke(): string;
|
|
19
|
+
get strokeWidth(): number;
|
|
18
20
|
constructor(graphModel: any);
|
|
19
|
-
getStyle(): {
|
|
20
|
-
[x: string]: any;
|
|
21
|
-
fill?: string;
|
|
22
|
-
stroke?: string;
|
|
23
|
-
strokeWidth?: number;
|
|
24
|
-
};
|
|
25
21
|
private getCenterSnapLine;
|
|
26
22
|
private getHorizontalSnapline;
|
|
27
23
|
private getVerticalSnapline;
|
|
@@ -10,7 +10,7 @@ export interface TransfromInterface {
|
|
|
10
10
|
ZOOM_SIZE: number;
|
|
11
11
|
MINI_SCALE_SIZE: number;
|
|
12
12
|
MAX_SCALE_SIZE: number;
|
|
13
|
-
zoom: (isZoomout: ZoomParam) =>
|
|
13
|
+
zoom: (isZoomout: ZoomParam) => boolean;
|
|
14
14
|
HtmlPointToCanvasPoint: (point: PointTuple) => PointTuple;
|
|
15
15
|
CanvasPointToHtmlPoint: (point: PointTuple) => PointTuple;
|
|
16
16
|
moveCanvasPointByHtml: (point: PointTuple, x: number, y: number) => PointTuple;
|
|
@@ -62,13 +62,7 @@ export default class TransfromModel implements TransfromInterface {
|
|
|
62
62
|
getTransformStyle(): {
|
|
63
63
|
transform: string;
|
|
64
64
|
};
|
|
65
|
-
|
|
66
|
-
* 放大缩小图形
|
|
67
|
-
* @param zoomSize 放大缩小的值,支持传入0-n之间的数字。小于1表示缩小,大于1表示放大。也支持传入true和false按照内置的刻度放大缩小
|
|
68
|
-
* @param point 缩放的原点
|
|
69
|
-
* @returns {string} -放大缩小的比例
|
|
70
|
-
*/
|
|
71
|
-
zoom(zoomSize?: ZoomParam, point?: PointTuple): string;
|
|
65
|
+
zoom(zoomSize?: ZoomParam, point?: PointTuple): boolean;
|
|
72
66
|
private emitGraphTransform;
|
|
73
67
|
resetZoom(): void;
|
|
74
68
|
translate(x: number, y: number): void;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { IBaseModel } from '../BaseModel';
|
|
2
2
|
import GraphModel from '../GraphModel';
|
|
3
|
-
import { Point, AdditionData, EdgeData, MenuConfig, EdgeConfig } from '../../type/index';
|
|
4
|
-
import { ModelType, ElementType } from '../../constant/constant';
|
|
5
|
-
import { OutlineTheme } from '../../constant/DefaultTheme';
|
|
3
|
+
import { Point, AdditionData, EdgeAttribute, EdgeData, MenuConfig, EdgeConfig } from '../../type/index';
|
|
4
|
+
import { ElementState, ModelType, ElementType } from '../../constant/constant';
|
|
6
5
|
declare class BaseEdgeModel implements IBaseModel {
|
|
7
6
|
id: string;
|
|
8
7
|
readonly BaseType = ElementType.EDGE;
|
|
@@ -30,12 +29,18 @@ declare class BaseEdgeModel implements IBaseModel {
|
|
|
30
29
|
endPoint: any;
|
|
31
30
|
strokeWidth: number;
|
|
32
31
|
stroke: string;
|
|
32
|
+
strokeDashArray: string;
|
|
33
|
+
outlineColor: string;
|
|
33
34
|
hideOutline: boolean;
|
|
35
|
+
outlineStrokeDashArray: string;
|
|
34
36
|
strokeOpacity: number;
|
|
35
37
|
zIndex: number;
|
|
36
38
|
isSelected: boolean;
|
|
37
39
|
isHovered: boolean;
|
|
40
|
+
isDragging: boolean;
|
|
38
41
|
isHitable: boolean;
|
|
42
|
+
hoverStroke: string;
|
|
43
|
+
selectedStroke: string;
|
|
39
44
|
points: string;
|
|
40
45
|
pointsList: any[];
|
|
41
46
|
draggable: boolean;
|
|
@@ -43,12 +48,6 @@ declare class BaseEdgeModel implements IBaseModel {
|
|
|
43
48
|
initEdgeData(data: any): void;
|
|
44
49
|
createId(): any;
|
|
45
50
|
setAttributes(): void;
|
|
46
|
-
getEdgeStyle(): {
|
|
47
|
-
[x: string]: any;
|
|
48
|
-
fill?: string;
|
|
49
|
-
stroke?: string;
|
|
50
|
-
strokeWidth?: number;
|
|
51
|
-
};
|
|
52
51
|
get sourceNode(): import("..").BaseNodeModel;
|
|
53
52
|
get targetNode(): import("..").BaseNodeModel;
|
|
54
53
|
get textPosition(): Point;
|
|
@@ -64,12 +63,7 @@ declare class BaseEdgeModel implements IBaseModel {
|
|
|
64
63
|
getData(): EdgeData;
|
|
65
64
|
setProperty(key: any, val: any): void;
|
|
66
65
|
setProperties(properties: any): void;
|
|
67
|
-
|
|
68
|
-
* @overridable 支持重写
|
|
69
|
-
* 获取outline样式,重写可以定义此类型节点outline样式, 默认使用主题样式
|
|
70
|
-
* @returns 自定义outline样式
|
|
71
|
-
*/
|
|
72
|
-
getOutlineStyle(): OutlineTheme;
|
|
66
|
+
updateData(edgeAttribute: EdgeAttribute): void;
|
|
73
67
|
formatText(data: any): void;
|
|
74
68
|
resetTextPosition(): void;
|
|
75
69
|
moveText(deltaX: number, deltaY: number): void;
|
|
@@ -79,7 +73,7 @@ declare class BaseEdgeModel implements IBaseModel {
|
|
|
79
73
|
setSelected(flag?: boolean): void;
|
|
80
74
|
setHovered(flag?: boolean): void;
|
|
81
75
|
setHitable(flag?: boolean): void;
|
|
82
|
-
setElementState(state:
|
|
76
|
+
setElementState(state: ElementState, additionStateData?: AdditionData): void;
|
|
83
77
|
updateStroke(color: any): void;
|
|
84
78
|
updateStrokeWidth(width: any): void;
|
|
85
79
|
updateStartPoint(anchor: any): void;
|
|
@@ -7,15 +7,6 @@ export default class BezierEdgeModel extends BaseEdgeModel {
|
|
|
7
7
|
offset: number;
|
|
8
8
|
path: string;
|
|
9
9
|
constructor(data: any, graphModel: any);
|
|
10
|
-
getEdgeStyle(): {
|
|
11
|
-
[x: string]: any;
|
|
12
|
-
offset?: number;
|
|
13
|
-
adjustLine?: import("../../constant/DefaultTheme").CommonTheme;
|
|
14
|
-
adjustAnchor?: import("../../constant/DefaultTheme").CircleTheme;
|
|
15
|
-
fill?: string;
|
|
16
|
-
stroke?: string;
|
|
17
|
-
strokeWidth?: number;
|
|
18
|
-
};
|
|
19
10
|
getTextPosition(): Point;
|
|
20
11
|
getData(): {
|
|
21
12
|
pointsList: {
|
|
@@ -5,11 +5,5 @@ export { LineEdgeModel };
|
|
|
5
5
|
export default class LineEdgeModel extends BaseEdgeModel {
|
|
6
6
|
modelType: ModelType;
|
|
7
7
|
constructor(data: any, graphModel: any);
|
|
8
|
-
getEdgeStyle(): {
|
|
9
|
-
[x: string]: any;
|
|
10
|
-
fill?: string;
|
|
11
|
-
stroke?: string;
|
|
12
|
-
strokeWidth?: number;
|
|
13
|
-
};
|
|
14
8
|
getTextPosition(): Point;
|
|
15
9
|
}
|
|
@@ -9,13 +9,6 @@ export default class PolylineEdgeModel extends BaseEdgeModel {
|
|
|
9
9
|
draginngPointList: any;
|
|
10
10
|
dbClickPosition: Point;
|
|
11
11
|
constructor(data: any, graphModel: GraphModel);
|
|
12
|
-
getEdgeStyle(): {
|
|
13
|
-
[x: string]: any;
|
|
14
|
-
offset?: number;
|
|
15
|
-
fill?: string;
|
|
16
|
-
stroke?: string;
|
|
17
|
-
strokeWidth?: number;
|
|
18
|
-
};
|
|
19
12
|
getTextPosition(): {
|
|
20
13
|
x: number;
|
|
21
14
|
y: number;
|