react-design-editor 0.0.32 → 0.0.36

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