react-design-editor 0.0.50 → 0.0.52
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/react-design-editor.js +7739 -7114
- package/dist/react-design-editor.min.js +1 -1
- package/dist/react-design-editor.min.js.LICENSE.txt +2 -0
- package/lib/Canvas.d.ts +18 -18
- package/lib/Canvas.js +172 -172
- package/lib/CanvasObject.d.ts +10 -10
- package/lib/CanvasObject.js +96 -96
- package/lib/constants/code.d.ts +19 -19
- package/lib/constants/code.js +22 -22
- package/lib/constants/defaults.d.ts +38 -38
- package/lib/constants/defaults.js +69 -69
- package/lib/constants/index.d.ts +3 -3
- package/lib/constants/index.js +26 -26
- package/lib/handlers/AlignmentHandler.d.ts +18 -18
- package/lib/handlers/AlignmentHandler.js +58 -58
- package/lib/handlers/AnimationHandler.d.ts +50 -50
- package/lib/handlers/AnimationHandler.js +346 -346
- package/lib/handlers/ChartHandler.d.ts +8 -8
- package/lib/handlers/ChartHandler.js +8 -8
- package/lib/handlers/ContextmenuHandler.d.ts +28 -28
- package/lib/handlers/ContextmenuHandler.js +65 -65
- package/lib/handlers/CropHandler.d.ts +43 -43
- package/lib/handlers/CropHandler.js +261 -261
- package/lib/handlers/CustomHandler.d.ts +7 -7
- package/lib/handlers/CustomHandler.js +10 -10
- package/lib/handlers/DrawingHandler.d.ts +28 -28
- package/lib/handlers/DrawingHandler.js +318 -318
- package/lib/handlers/ElementHandler.d.ts +80 -80
- package/lib/handlers/ElementHandler.js +154 -154
- package/lib/handlers/EventHandler.d.ts +170 -170
- package/lib/handlers/EventHandler.js +880 -880
- package/lib/handlers/FiberHandler.d.ts +6 -6
- package/lib/handlers/FiberHandler.js +23 -23
- package/lib/handlers/GridHandler.d.ts +19 -19
- package/lib/handlers/GridHandler.js +77 -77
- package/lib/handlers/GuidelineHandler.d.ts +61 -61
- package/lib/handlers/GuidelineHandler.js +315 -315
- package/lib/handlers/Handler.d.ts +618 -618
- package/lib/handlers/Handler.js +1645 -1645
- package/lib/handlers/ImageHandler.d.ts +307 -307
- package/lib/handlers/ImageHandler.js +528 -528
- package/lib/handlers/InteractionHandler.d.ts +45 -45
- package/lib/handlers/InteractionHandler.js +168 -164
- package/lib/handlers/LinkHandler.d.ts +115 -115
- package/lib/handlers/LinkHandler.js +247 -247
- package/lib/handlers/NodeHandler.d.ts +50 -50
- package/lib/handlers/NodeHandler.js +274 -274
- package/lib/handlers/PortHandler.d.ts +22 -22
- package/lib/handlers/PortHandler.js +179 -179
- package/lib/handlers/ShortcutHandler.d.ts +119 -119
- package/lib/handlers/ShortcutHandler.js +151 -151
- package/lib/handlers/TooltipHandler.d.ts +33 -33
- package/lib/handlers/TooltipHandler.js +91 -91
- package/lib/handlers/TransactionHandler.d.ts +59 -59
- package/lib/handlers/TransactionHandler.js +137 -137
- package/lib/handlers/WorkareaHandler.d.ts +43 -43
- package/lib/handlers/WorkareaHandler.js +354 -354
- package/lib/handlers/ZoomHandler.d.ts +48 -48
- package/lib/handlers/ZoomHandler.js +143 -143
- package/lib/handlers/index.d.ts +23 -23
- package/lib/handlers/index.js +48 -48
- package/lib/index.d.ts +6 -6
- package/lib/index.js +20 -20
- package/lib/objects/Arrow.d.ts +2 -2
- package/lib/objects/Arrow.js +40 -40
- package/lib/objects/Chart.d.ts +10 -10
- package/lib/objects/Chart.js +117 -117
- package/lib/objects/CirclePort.d.ts +2 -2
- package/lib/objects/CirclePort.js +28 -28
- package/lib/objects/Cube.d.ts +5 -5
- package/lib/objects/Cube.js +71 -71
- package/lib/objects/CurvedLink.d.ts +2 -2
- package/lib/objects/CurvedLink.js +51 -51
- package/lib/objects/Element.d.ts +13 -13
- package/lib/objects/Element.js +77 -77
- package/lib/objects/Gif.d.ts +3 -3
- package/lib/objects/Gif.js +41 -41
- package/lib/objects/Iframe.d.ts +9 -9
- package/lib/objects/Iframe.js +63 -63
- package/lib/objects/Line.d.ts +2 -2
- package/lib/objects/Line.js +24 -24
- package/lib/objects/Link.d.ts +15 -15
- package/lib/objects/Link.js +107 -107
- package/lib/objects/Node.d.ts +59 -59
- package/lib/objects/Node.js +271 -271
- package/lib/objects/OrthogonalLink.d.ts +2 -2
- package/lib/objects/OrthogonalLink.js +54 -54
- package/lib/objects/Port.d.ts +12 -12
- package/lib/objects/Port.js +28 -28
- package/lib/objects/Svg.d.ts +12 -12
- package/lib/objects/Svg.js +93 -93
- package/lib/objects/Video.d.ts +14 -14
- package/lib/objects/Video.js +113 -113
- package/lib/objects/index.d.ts +15 -15
- package/lib/objects/index.js +32 -32
- package/lib/utils/ObjectUtil.d.ts +408 -408
- package/lib/utils/ObjectUtil.js +13 -13
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +13 -13
- package/package.json +1 -1
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { FabricObject, InteractionMode } from '../utils';
|
|
2
|
-
import Handler from './Handler';
|
|
3
|
-
declare type IReturnType = {
|
|
4
|
-
selectable?: boolean;
|
|
5
|
-
evented?: boolean;
|
|
6
|
-
} | boolean;
|
|
7
|
-
declare class InteractionHandler {
|
|
8
|
-
handler: Handler;
|
|
9
|
-
constructor(handler: Handler);
|
|
10
|
-
/**
|
|
11
|
-
* Change selection mode
|
|
12
|
-
* @param {(obj: FabricObject) => IReturnType} [callback]
|
|
13
|
-
*/
|
|
14
|
-
selection: (callback?: (obj: FabricObject) => IReturnType) => void;
|
|
15
|
-
/**
|
|
16
|
-
* Change grab mode
|
|
17
|
-
* @param {(obj: FabricObject) => IReturnType} [callback]
|
|
18
|
-
*/
|
|
19
|
-
grab: (callback?: (obj: FabricObject) => IReturnType) => void;
|
|
20
|
-
/**
|
|
21
|
-
* Change drawing mode
|
|
22
|
-
* @param {InteractionMode} [type]
|
|
23
|
-
* @param {(obj: FabricObject) => IReturnType} [callback]
|
|
24
|
-
*/
|
|
25
|
-
drawing: (type?: InteractionMode, callback?: (obj: FabricObject) => IReturnType) => void;
|
|
26
|
-
linking: (callback?: (obj: FabricObject) => IReturnType) => void;
|
|
27
|
-
/**
|
|
28
|
-
* Moving objects in grap mode
|
|
29
|
-
* @param {MouseEvent} e
|
|
30
|
-
*/
|
|
31
|
-
moving: (e: MouseEvent) => void;
|
|
32
|
-
/**
|
|
33
|
-
* Whether is drawing mode
|
|
34
|
-
* @returns
|
|
35
|
-
*/
|
|
36
|
-
isDrawingMode: () => boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Interaction callback
|
|
39
|
-
*
|
|
40
|
-
* @param {FabricObject} obj
|
|
41
|
-
* @param {(obj: FabricObject) => void} [callback]
|
|
42
|
-
*/
|
|
43
|
-
private interactionCallback;
|
|
44
|
-
}
|
|
45
|
-
export default InteractionHandler;
|
|
1
|
+
import { FabricObject, InteractionMode } from '../utils';
|
|
2
|
+
import Handler from './Handler';
|
|
3
|
+
declare type IReturnType = {
|
|
4
|
+
selectable?: boolean;
|
|
5
|
+
evented?: boolean;
|
|
6
|
+
} | boolean;
|
|
7
|
+
declare class InteractionHandler {
|
|
8
|
+
handler: Handler;
|
|
9
|
+
constructor(handler: Handler);
|
|
10
|
+
/**
|
|
11
|
+
* Change selection mode
|
|
12
|
+
* @param {(obj: FabricObject) => IReturnType} [callback]
|
|
13
|
+
*/
|
|
14
|
+
selection: (callback?: (obj: FabricObject) => IReturnType) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Change grab mode
|
|
17
|
+
* @param {(obj: FabricObject) => IReturnType} [callback]
|
|
18
|
+
*/
|
|
19
|
+
grab: (callback?: (obj: FabricObject) => IReturnType) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Change drawing mode
|
|
22
|
+
* @param {InteractionMode} [type]
|
|
23
|
+
* @param {(obj: FabricObject) => IReturnType} [callback]
|
|
24
|
+
*/
|
|
25
|
+
drawing: (type?: InteractionMode, callback?: (obj: FabricObject) => IReturnType) => void;
|
|
26
|
+
linking: (callback?: (obj: FabricObject) => IReturnType) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Moving objects in grap mode
|
|
29
|
+
* @param {MouseEvent} e
|
|
30
|
+
*/
|
|
31
|
+
moving: (e: MouseEvent) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Whether is drawing mode
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
isDrawingMode: () => boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Interaction callback
|
|
39
|
+
*
|
|
40
|
+
* @param {FabricObject} obj
|
|
41
|
+
* @param {(obj: FabricObject) => void} [callback]
|
|
42
|
+
*/
|
|
43
|
+
private interactionCallback;
|
|
44
|
+
}
|
|
45
|
+
export default InteractionHandler;
|
|
@@ -1,164 +1,168 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const fabric_1 = require("fabric");
|
|
4
|
-
class InteractionHandler {
|
|
5
|
-
constructor(handler) {
|
|
6
|
-
/**
|
|
7
|
-
* Change selection mode
|
|
8
|
-
* @param {(obj: FabricObject) => IReturnType} [callback]
|
|
9
|
-
*/
|
|
10
|
-
this.selection = (callback) => {
|
|
11
|
-
if (this.handler.interactionMode === 'selection') {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
this.handler.interactionMode = 'selection';
|
|
15
|
-
if (typeof this.handler.canvasOption.selection === 'undefined') {
|
|
16
|
-
this.handler.canvas.selection = true;
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
this.handler.canvas.selection = this.handler.canvasOption.selection;
|
|
20
|
-
}
|
|
21
|
-
this.handler.canvas.defaultCursor = 'default';
|
|
22
|
-
this.handler.workarea.hoverCursor = 'default';
|
|
23
|
-
this.handler.getObjects().forEach(obj => {
|
|
24
|
-
if (callback) {
|
|
25
|
-
this.interactionCallback(obj, callback);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
// When typeof selection is ActiveSelection, ignoring selectable, because link position left: 0, top: 0
|
|
29
|
-
if (obj.superType === 'link' || obj.superType === 'port') {
|
|
30
|
-
obj.selectable = false;
|
|
31
|
-
obj.evented = true;
|
|
32
|
-
obj.hoverCursor = 'pointer';
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
if (this.handler.editable) {
|
|
36
|
-
obj.hoverCursor = 'move';
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
obj.hoverCursor = 'pointer';
|
|
40
|
-
}
|
|
41
|
-
obj.selectable = true;
|
|
42
|
-
obj.evented = true;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
this.handler.canvas.renderAll();
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
this.handler.
|
|
57
|
-
this.handler.canvas.
|
|
58
|
-
this.handler.
|
|
59
|
-
this.handler.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
obj.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
*
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
this.handler.
|
|
82
|
-
this.handler.
|
|
83
|
-
this.handler.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
this.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
this.handler.
|
|
102
|
-
this.handler.
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
this.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fabric_1 = require("fabric");
|
|
4
|
+
class InteractionHandler {
|
|
5
|
+
constructor(handler) {
|
|
6
|
+
/**
|
|
7
|
+
* Change selection mode
|
|
8
|
+
* @param {(obj: FabricObject) => IReturnType} [callback]
|
|
9
|
+
*/
|
|
10
|
+
this.selection = (callback) => {
|
|
11
|
+
if (this.handler.interactionMode === 'selection') {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
this.handler.interactionMode = 'selection';
|
|
15
|
+
if (typeof this.handler.canvasOption.selection === 'undefined') {
|
|
16
|
+
this.handler.canvas.selection = true;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
this.handler.canvas.selection = this.handler.canvasOption.selection;
|
|
20
|
+
}
|
|
21
|
+
this.handler.canvas.defaultCursor = 'default';
|
|
22
|
+
this.handler.workarea.hoverCursor = 'default';
|
|
23
|
+
this.handler.getObjects().forEach(obj => {
|
|
24
|
+
if (callback) {
|
|
25
|
+
this.interactionCallback(obj, callback);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// When typeof selection is ActiveSelection, ignoring selectable, because link position left: 0, top: 0
|
|
29
|
+
if (obj.superType === 'link' || obj.superType === 'port') {
|
|
30
|
+
obj.selectable = false;
|
|
31
|
+
obj.evented = true;
|
|
32
|
+
obj.hoverCursor = 'pointer';
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (this.handler.editable) {
|
|
36
|
+
obj.hoverCursor = 'move';
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
obj.hoverCursor = 'pointer';
|
|
40
|
+
}
|
|
41
|
+
obj.selectable = true;
|
|
42
|
+
obj.evented = true;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
this.handler.canvas.renderAll();
|
|
46
|
+
this.handler.onInteraction?.('selection');
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Change grab mode
|
|
50
|
+
* @param {(obj: FabricObject) => IReturnType} [callback]
|
|
51
|
+
*/
|
|
52
|
+
this.grab = (callback) => {
|
|
53
|
+
if (this.handler.interactionMode === 'grab') {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this.handler.interactionMode = 'grab';
|
|
57
|
+
this.handler.canvas.selection = false;
|
|
58
|
+
this.handler.canvas.defaultCursor = 'grab';
|
|
59
|
+
this.handler.workarea.hoverCursor = 'grab';
|
|
60
|
+
this.handler.getObjects().forEach(obj => {
|
|
61
|
+
if (callback) {
|
|
62
|
+
this.interactionCallback(obj, callback);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
obj.selectable = false;
|
|
66
|
+
obj.evented = this.handler.editable ? false : true;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
this.handler.canvas.renderAll();
|
|
70
|
+
this.handler.onInteraction?.('grab');
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Change drawing mode
|
|
74
|
+
* @param {InteractionMode} [type]
|
|
75
|
+
* @param {(obj: FabricObject) => IReturnType} [callback]
|
|
76
|
+
*/
|
|
77
|
+
this.drawing = (type, callback) => {
|
|
78
|
+
if (this.isDrawingMode()) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
this.handler.interactionMode = type;
|
|
82
|
+
this.handler.canvas.selection = false;
|
|
83
|
+
this.handler.canvas.defaultCursor = 'pointer';
|
|
84
|
+
this.handler.workarea.hoverCursor = 'pointer';
|
|
85
|
+
this.handler.getObjects().forEach(obj => {
|
|
86
|
+
if (callback) {
|
|
87
|
+
this.interactionCallback(obj, callback);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
obj.selectable = false;
|
|
91
|
+
obj.evented = this.handler.editable ? false : true;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
this.handler.canvas.renderAll();
|
|
95
|
+
this.handler.onInteraction?.(type);
|
|
96
|
+
};
|
|
97
|
+
this.linking = (callback) => {
|
|
98
|
+
if (this.isDrawingMode()) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.handler.interactionMode = 'link';
|
|
102
|
+
this.handler.canvas.selection = false;
|
|
103
|
+
this.handler.canvas.defaultCursor = 'default';
|
|
104
|
+
this.handler.workarea.hoverCursor = 'default';
|
|
105
|
+
this.handler.getObjects().forEach(obj => {
|
|
106
|
+
if (callback) {
|
|
107
|
+
this.interactionCallback(obj, callback);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
if (obj.superType === 'node' || obj.superType === 'port') {
|
|
111
|
+
obj.hoverCursor = 'pointer';
|
|
112
|
+
obj.selectable = false;
|
|
113
|
+
obj.evented = true;
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
obj.selectable = false;
|
|
117
|
+
obj.evented = this.handler.editable ? false : true;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
this.handler.canvas.renderAll();
|
|
121
|
+
this.handler.onInteraction?.('link');
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Moving objects in grap mode
|
|
125
|
+
* @param {MouseEvent} e
|
|
126
|
+
*/
|
|
127
|
+
this.moving = (e) => {
|
|
128
|
+
if (this.isDrawingMode()) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const delta = new fabric_1.fabric.Point(e.movementX, e.movementY);
|
|
132
|
+
this.handler.canvas.relativePan(delta);
|
|
133
|
+
this.handler.canvas.requestRenderAll();
|
|
134
|
+
this.handler.objects.forEach(obj => {
|
|
135
|
+
if (obj.superType === 'element') {
|
|
136
|
+
const { id } = obj;
|
|
137
|
+
const el = this.handler.elementHandler.findById(id);
|
|
138
|
+
// update the element
|
|
139
|
+
this.handler.elementHandler.setPosition(el, obj);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Whether is drawing mode
|
|
145
|
+
* @returns
|
|
146
|
+
*/
|
|
147
|
+
this.isDrawingMode = () => {
|
|
148
|
+
return (this.handler.interactionMode === 'link' ||
|
|
149
|
+
this.handler.interactionMode === 'arrow' ||
|
|
150
|
+
this.handler.interactionMode === 'line' ||
|
|
151
|
+
this.handler.interactionMode === 'polygon');
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Interaction callback
|
|
155
|
+
*
|
|
156
|
+
* @param {FabricObject} obj
|
|
157
|
+
* @param {(obj: FabricObject) => void} [callback]
|
|
158
|
+
*/
|
|
159
|
+
this.interactionCallback = (obj, callback) => {
|
|
160
|
+
callback(obj);
|
|
161
|
+
};
|
|
162
|
+
this.handler = handler;
|
|
163
|
+
if (this.handler.editable) {
|
|
164
|
+
this.selection();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.default = InteractionHandler;
|
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
import { LinkObject } from '../objects/Link';
|
|
2
|
-
import { PortObject } from '../objects/Port';
|
|
3
|
-
import Handler from './Handler';
|
|
4
|
-
export interface LinkOption {
|
|
5
|
-
/**
|
|
6
|
-
* Link Type
|
|
7
|
-
* @type {string}
|
|
8
|
-
*/
|
|
9
|
-
type: string;
|
|
10
|
-
/**
|
|
11
|
-
* FromNode id of Link
|
|
12
|
-
* @type {string}
|
|
13
|
-
*/
|
|
14
|
-
fromNodeId?: string;
|
|
15
|
-
/**
|
|
16
|
-
* FromPort id of Link
|
|
17
|
-
* @type {string}
|
|
18
|
-
*/
|
|
19
|
-
fromPortId?: string;
|
|
20
|
-
/**
|
|
21
|
-
* ToNode id of Link
|
|
22
|
-
* @type {string}
|
|
23
|
-
*/
|
|
24
|
-
toNodeId?: string;
|
|
25
|
-
/**
|
|
26
|
-
* ToPort id of Link
|
|
27
|
-
* @type {string}
|
|
28
|
-
*/
|
|
29
|
-
toPortId?: string;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Link Handler Class
|
|
33
|
-
* @author salgum1114
|
|
34
|
-
* @class LinkHandler
|
|
35
|
-
*/
|
|
36
|
-
declare class LinkHandler {
|
|
37
|
-
private port;
|
|
38
|
-
handler: Handler;
|
|
39
|
-
constructor(handler: Handler);
|
|
40
|
-
/**
|
|
41
|
-
* On source port click, start link
|
|
42
|
-
* @param {PortObject} port
|
|
43
|
-
*/
|
|
44
|
-
init: (port: PortObject) => void;
|
|
45
|
-
/**
|
|
46
|
-
* End drawing link.
|
|
47
|
-
*/
|
|
48
|
-
finish: (link?: LinkObject) => void;
|
|
49
|
-
/**
|
|
50
|
-
* On dest port click, finish link
|
|
51
|
-
* @param {PortObject} port
|
|
52
|
-
*/
|
|
53
|
-
generate: (port: PortObject) => void;
|
|
54
|
-
/**
|
|
55
|
-
* Add link in Canvas
|
|
56
|
-
* @param {LinkOption} link
|
|
57
|
-
* @param {boolean} [loaded=false]
|
|
58
|
-
* @returns
|
|
59
|
-
*/
|
|
60
|
-
create: (link: LinkOption, loaded?: boolean) => LinkObject;
|
|
61
|
-
/**
|
|
62
|
-
* Set coordinate of link
|
|
63
|
-
* @param {number} x1
|
|
64
|
-
* @param {number} y1
|
|
65
|
-
* @param {number} x2
|
|
66
|
-
* @param {number} y2
|
|
67
|
-
* @param {LinkObject} link
|
|
68
|
-
*/
|
|
69
|
-
setCoords: (x1: number, y1: number, x2: number, y2: number, link: LinkObject) => void;
|
|
70
|
-
/**
|
|
71
|
-
* When the link is deleted, linked FromNode delete
|
|
72
|
-
* @param {LinkObject} link
|
|
73
|
-
*/
|
|
74
|
-
removeFrom: (link: LinkObject) => void;
|
|
75
|
-
/**
|
|
76
|
-
* When the link is deleted, linked ToNode delete
|
|
77
|
-
* @param {LinkObject} link
|
|
78
|
-
*/
|
|
79
|
-
removeTo: (link: LinkObject) => void;
|
|
80
|
-
/**
|
|
81
|
-
* When the link is deleted, linked node delete
|
|
82
|
-
* @param {LinkObject} link
|
|
83
|
-
*/
|
|
84
|
-
removeAll: (link: LinkObject) => void;
|
|
85
|
-
/**
|
|
86
|
-
* Remove link in canvas
|
|
87
|
-
* @param {LinkObject} link
|
|
88
|
-
* @param {string} [type]
|
|
89
|
-
*/
|
|
90
|
-
remove: (link: LinkObject, type?: string) => void;
|
|
91
|
-
/**
|
|
92
|
-
* Check if there is a port connected
|
|
93
|
-
* @param {PortObject} port
|
|
94
|
-
* @returns
|
|
95
|
-
*/
|
|
96
|
-
isConnected: (port: PortObject) => boolean;
|
|
97
|
-
/**
|
|
98
|
-
* Check if select same node
|
|
99
|
-
* @param {PortObject} port
|
|
100
|
-
* @returns
|
|
101
|
-
*/
|
|
102
|
-
isSameNode: (port: PortObject) => boolean;
|
|
103
|
-
/**
|
|
104
|
-
* Check if select same node
|
|
105
|
-
* @param {PortObject} port
|
|
106
|
-
* @returns
|
|
107
|
-
*/
|
|
108
|
-
isDuplicate: (port: PortObject) => boolean;
|
|
109
|
-
/**
|
|
110
|
-
* Check if draw the link
|
|
111
|
-
* @returns
|
|
112
|
-
*/
|
|
113
|
-
isDrawing: () => any;
|
|
114
|
-
}
|
|
115
|
-
export default LinkHandler;
|
|
1
|
+
import { LinkObject } from '../objects/Link';
|
|
2
|
+
import { PortObject } from '../objects/Port';
|
|
3
|
+
import Handler from './Handler';
|
|
4
|
+
export interface LinkOption {
|
|
5
|
+
/**
|
|
6
|
+
* Link Type
|
|
7
|
+
* @type {string}
|
|
8
|
+
*/
|
|
9
|
+
type: string;
|
|
10
|
+
/**
|
|
11
|
+
* FromNode id of Link
|
|
12
|
+
* @type {string}
|
|
13
|
+
*/
|
|
14
|
+
fromNodeId?: string;
|
|
15
|
+
/**
|
|
16
|
+
* FromPort id of Link
|
|
17
|
+
* @type {string}
|
|
18
|
+
*/
|
|
19
|
+
fromPortId?: string;
|
|
20
|
+
/**
|
|
21
|
+
* ToNode id of Link
|
|
22
|
+
* @type {string}
|
|
23
|
+
*/
|
|
24
|
+
toNodeId?: string;
|
|
25
|
+
/**
|
|
26
|
+
* ToPort id of Link
|
|
27
|
+
* @type {string}
|
|
28
|
+
*/
|
|
29
|
+
toPortId?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Link Handler Class
|
|
33
|
+
* @author salgum1114
|
|
34
|
+
* @class LinkHandler
|
|
35
|
+
*/
|
|
36
|
+
declare class LinkHandler {
|
|
37
|
+
private port;
|
|
38
|
+
handler: Handler;
|
|
39
|
+
constructor(handler: Handler);
|
|
40
|
+
/**
|
|
41
|
+
* On source port click, start link
|
|
42
|
+
* @param {PortObject} port
|
|
43
|
+
*/
|
|
44
|
+
init: (port: PortObject) => void;
|
|
45
|
+
/**
|
|
46
|
+
* End drawing link.
|
|
47
|
+
*/
|
|
48
|
+
finish: (link?: LinkObject) => void;
|
|
49
|
+
/**
|
|
50
|
+
* On dest port click, finish link
|
|
51
|
+
* @param {PortObject} port
|
|
52
|
+
*/
|
|
53
|
+
generate: (port: PortObject) => void;
|
|
54
|
+
/**
|
|
55
|
+
* Add link in Canvas
|
|
56
|
+
* @param {LinkOption} link
|
|
57
|
+
* @param {boolean} [loaded=false]
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
create: (link: LinkOption, loaded?: boolean) => LinkObject;
|
|
61
|
+
/**
|
|
62
|
+
* Set coordinate of link
|
|
63
|
+
* @param {number} x1
|
|
64
|
+
* @param {number} y1
|
|
65
|
+
* @param {number} x2
|
|
66
|
+
* @param {number} y2
|
|
67
|
+
* @param {LinkObject} link
|
|
68
|
+
*/
|
|
69
|
+
setCoords: (x1: number, y1: number, x2: number, y2: number, link: LinkObject) => void;
|
|
70
|
+
/**
|
|
71
|
+
* When the link is deleted, linked FromNode delete
|
|
72
|
+
* @param {LinkObject} link
|
|
73
|
+
*/
|
|
74
|
+
removeFrom: (link: LinkObject) => void;
|
|
75
|
+
/**
|
|
76
|
+
* When the link is deleted, linked ToNode delete
|
|
77
|
+
* @param {LinkObject} link
|
|
78
|
+
*/
|
|
79
|
+
removeTo: (link: LinkObject) => void;
|
|
80
|
+
/**
|
|
81
|
+
* When the link is deleted, linked node delete
|
|
82
|
+
* @param {LinkObject} link
|
|
83
|
+
*/
|
|
84
|
+
removeAll: (link: LinkObject) => void;
|
|
85
|
+
/**
|
|
86
|
+
* Remove link in canvas
|
|
87
|
+
* @param {LinkObject} link
|
|
88
|
+
* @param {string} [type]
|
|
89
|
+
*/
|
|
90
|
+
remove: (link: LinkObject, type?: string) => void;
|
|
91
|
+
/**
|
|
92
|
+
* Check if there is a port connected
|
|
93
|
+
* @param {PortObject} port
|
|
94
|
+
* @returns
|
|
95
|
+
*/
|
|
96
|
+
isConnected: (port: PortObject) => boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Check if select same node
|
|
99
|
+
* @param {PortObject} port
|
|
100
|
+
* @returns
|
|
101
|
+
*/
|
|
102
|
+
isSameNode: (port: PortObject) => boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Check if select same node
|
|
105
|
+
* @param {PortObject} port
|
|
106
|
+
* @returns
|
|
107
|
+
*/
|
|
108
|
+
isDuplicate: (port: PortObject) => boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Check if draw the link
|
|
111
|
+
* @returns
|
|
112
|
+
*/
|
|
113
|
+
isDrawing: () => any;
|
|
114
|
+
}
|
|
115
|
+
export default LinkHandler;
|