react-design-editor 0.0.50 → 0.0.51

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.
Files changed (100) hide show
  1. package/dist/react-design-editor.js +7739 -7114
  2. package/dist/react-design-editor.min.js +1 -1
  3. package/dist/react-design-editor.min.js.LICENSE.txt +2 -0
  4. package/lib/Canvas.d.ts +18 -18
  5. package/lib/Canvas.js +172 -172
  6. package/lib/CanvasObject.d.ts +10 -10
  7. package/lib/CanvasObject.js +96 -96
  8. package/lib/constants/code.d.ts +19 -19
  9. package/lib/constants/code.js +22 -22
  10. package/lib/constants/defaults.d.ts +38 -38
  11. package/lib/constants/defaults.js +69 -69
  12. package/lib/constants/index.d.ts +3 -3
  13. package/lib/constants/index.js +26 -26
  14. package/lib/handlers/AlignmentHandler.d.ts +18 -18
  15. package/lib/handlers/AlignmentHandler.js +58 -58
  16. package/lib/handlers/AnimationHandler.d.ts +50 -50
  17. package/lib/handlers/AnimationHandler.js +346 -346
  18. package/lib/handlers/ChartHandler.d.ts +8 -8
  19. package/lib/handlers/ChartHandler.js +8 -8
  20. package/lib/handlers/ContextmenuHandler.d.ts +28 -28
  21. package/lib/handlers/ContextmenuHandler.js +65 -65
  22. package/lib/handlers/CropHandler.d.ts +43 -43
  23. package/lib/handlers/CropHandler.js +261 -261
  24. package/lib/handlers/CustomHandler.d.ts +7 -7
  25. package/lib/handlers/CustomHandler.js +10 -10
  26. package/lib/handlers/DrawingHandler.d.ts +28 -28
  27. package/lib/handlers/DrawingHandler.js +318 -318
  28. package/lib/handlers/ElementHandler.d.ts +80 -80
  29. package/lib/handlers/ElementHandler.js +154 -154
  30. package/lib/handlers/EventHandler.d.ts +170 -170
  31. package/lib/handlers/EventHandler.js +880 -880
  32. package/lib/handlers/FiberHandler.d.ts +6 -6
  33. package/lib/handlers/FiberHandler.js +23 -23
  34. package/lib/handlers/GridHandler.d.ts +19 -19
  35. package/lib/handlers/GridHandler.js +77 -77
  36. package/lib/handlers/GuidelineHandler.d.ts +61 -61
  37. package/lib/handlers/GuidelineHandler.js +315 -315
  38. package/lib/handlers/Handler.d.ts +618 -618
  39. package/lib/handlers/Handler.js +1645 -1645
  40. package/lib/handlers/ImageHandler.d.ts +307 -307
  41. package/lib/handlers/ImageHandler.js +528 -528
  42. package/lib/handlers/InteractionHandler.d.ts +45 -45
  43. package/lib/handlers/InteractionHandler.js +168 -164
  44. package/lib/handlers/LinkHandler.d.ts +115 -115
  45. package/lib/handlers/LinkHandler.js +247 -247
  46. package/lib/handlers/NodeHandler.d.ts +50 -50
  47. package/lib/handlers/NodeHandler.js +274 -274
  48. package/lib/handlers/PortHandler.d.ts +22 -22
  49. package/lib/handlers/PortHandler.js +179 -179
  50. package/lib/handlers/ShortcutHandler.d.ts +119 -119
  51. package/lib/handlers/ShortcutHandler.js +151 -151
  52. package/lib/handlers/TooltipHandler.d.ts +33 -33
  53. package/lib/handlers/TooltipHandler.js +91 -91
  54. package/lib/handlers/TransactionHandler.d.ts +59 -59
  55. package/lib/handlers/TransactionHandler.js +137 -137
  56. package/lib/handlers/WorkareaHandler.d.ts +43 -43
  57. package/lib/handlers/WorkareaHandler.js +354 -354
  58. package/lib/handlers/ZoomHandler.d.ts +48 -48
  59. package/lib/handlers/ZoomHandler.js +143 -143
  60. package/lib/handlers/index.d.ts +23 -23
  61. package/lib/handlers/index.js +48 -48
  62. package/lib/index.d.ts +6 -6
  63. package/lib/index.js +20 -20
  64. package/lib/objects/Arrow.d.ts +2 -2
  65. package/lib/objects/Arrow.js +40 -40
  66. package/lib/objects/Chart.d.ts +10 -10
  67. package/lib/objects/Chart.js +117 -117
  68. package/lib/objects/CirclePort.d.ts +2 -2
  69. package/lib/objects/CirclePort.js +28 -28
  70. package/lib/objects/Cube.d.ts +5 -5
  71. package/lib/objects/Cube.js +71 -71
  72. package/lib/objects/CurvedLink.d.ts +2 -2
  73. package/lib/objects/CurvedLink.js +51 -51
  74. package/lib/objects/Element.d.ts +13 -13
  75. package/lib/objects/Element.js +77 -77
  76. package/lib/objects/Gif.d.ts +3 -3
  77. package/lib/objects/Gif.js +41 -41
  78. package/lib/objects/Iframe.d.ts +9 -9
  79. package/lib/objects/Iframe.js +63 -63
  80. package/lib/objects/Line.d.ts +2 -2
  81. package/lib/objects/Line.js +24 -24
  82. package/lib/objects/Link.d.ts +15 -15
  83. package/lib/objects/Link.js +107 -107
  84. package/lib/objects/Node.d.ts +59 -59
  85. package/lib/objects/Node.js +271 -271
  86. package/lib/objects/OrthogonalLink.d.ts +2 -2
  87. package/lib/objects/OrthogonalLink.js +54 -54
  88. package/lib/objects/Port.d.ts +12 -12
  89. package/lib/objects/Port.js +28 -28
  90. package/lib/objects/Svg.d.ts +12 -12
  91. package/lib/objects/Svg.js +93 -93
  92. package/lib/objects/Video.d.ts +14 -14
  93. package/lib/objects/Video.js +113 -113
  94. package/lib/objects/index.d.ts +15 -15
  95. package/lib/objects/index.js +32 -32
  96. package/lib/utils/ObjectUtil.d.ts +408 -408
  97. package/lib/utils/ObjectUtil.js +13 -13
  98. package/lib/utils/index.d.ts +1 -1
  99. package/lib/utils/index.js +13 -13
  100. 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
- * Change grab mode
49
- * @param {(obj: FabricObject) => IReturnType} [callback]
50
- */
51
- this.grab = (callback) => {
52
- if (this.handler.interactionMode === 'grab') {
53
- return;
54
- }
55
- this.handler.interactionMode = 'grab';
56
- this.handler.canvas.selection = false;
57
- this.handler.canvas.defaultCursor = 'grab';
58
- this.handler.workarea.hoverCursor = 'grab';
59
- this.handler.getObjects().forEach(obj => {
60
- if (callback) {
61
- this.interactionCallback(obj, callback);
62
- }
63
- else {
64
- obj.selectable = false;
65
- obj.evented = this.handler.editable ? false : true;
66
- }
67
- });
68
- this.handler.canvas.renderAll();
69
- };
70
- /**
71
- * Change drawing mode
72
- * @param {InteractionMode} [type]
73
- * @param {(obj: FabricObject) => IReturnType} [callback]
74
- */
75
- this.drawing = (type, callback) => {
76
- if (this.isDrawingMode()) {
77
- return;
78
- }
79
- this.handler.interactionMode = type;
80
- this.handler.canvas.selection = false;
81
- this.handler.canvas.defaultCursor = 'pointer';
82
- this.handler.workarea.hoverCursor = 'pointer';
83
- this.handler.getObjects().forEach(obj => {
84
- if (callback) {
85
- this.interactionCallback(obj, callback);
86
- }
87
- else {
88
- obj.selectable = false;
89
- obj.evented = this.handler.editable ? false : true;
90
- }
91
- });
92
- this.handler.canvas.renderAll();
93
- };
94
- this.linking = (callback) => {
95
- if (this.isDrawingMode()) {
96
- return;
97
- }
98
- this.handler.interactionMode = 'link';
99
- this.handler.canvas.selection = false;
100
- this.handler.canvas.defaultCursor = 'default';
101
- this.handler.workarea.hoverCursor = 'default';
102
- this.handler.getObjects().forEach(obj => {
103
- if (callback) {
104
- this.interactionCallback(obj, callback);
105
- }
106
- else {
107
- if (obj.superType === 'node' || obj.superType === 'port') {
108
- obj.hoverCursor = 'pointer';
109
- obj.selectable = false;
110
- obj.evented = true;
111
- return;
112
- }
113
- obj.selectable = false;
114
- obj.evented = this.handler.editable ? false : true;
115
- }
116
- });
117
- this.handler.canvas.renderAll();
118
- };
119
- /**
120
- * Moving objects in grap mode
121
- * @param {MouseEvent} e
122
- */
123
- this.moving = (e) => {
124
- if (this.isDrawingMode()) {
125
- return;
126
- }
127
- const delta = new fabric_1.fabric.Point(e.movementX, e.movementY);
128
- this.handler.canvas.relativePan(delta);
129
- this.handler.canvas.requestRenderAll();
130
- this.handler.objects.forEach(obj => {
131
- if (obj.superType === 'element') {
132
- const { id } = obj;
133
- const el = this.handler.elementHandler.findById(id);
134
- // update the element
135
- this.handler.elementHandler.setPosition(el, obj);
136
- }
137
- });
138
- };
139
- /**
140
- * Whether is drawing mode
141
- * @returns
142
- */
143
- this.isDrawingMode = () => {
144
- return (this.handler.interactionMode === 'link' ||
145
- this.handler.interactionMode === 'arrow' ||
146
- this.handler.interactionMode === 'line' ||
147
- this.handler.interactionMode === 'polygon');
148
- };
149
- /**
150
- * Interaction callback
151
- *
152
- * @param {FabricObject} obj
153
- * @param {(obj: FabricObject) => void} [callback]
154
- */
155
- this.interactionCallback = (obj, callback) => {
156
- callback(obj);
157
- };
158
- this.handler = handler;
159
- if (this.handler.editable) {
160
- this.selection();
161
- }
162
- }
163
- }
164
- exports.default = InteractionHandler;
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;