react-design-editor 0.0.36 → 0.0.37

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 +16979 -10664
  2. package/dist/react-design-editor.min.js +1 -1
  3. package/dist/react-design-editor.min.js.LICENSE.txt +0 -9
  4. package/package.json +20 -19
  5. package/lib/Canvas.d.ts +0 -18
  6. package/lib/Canvas.js +0 -172
  7. package/lib/CanvasObject.d.ts +0 -10
  8. package/lib/CanvasObject.js +0 -96
  9. package/lib/constants/code.d.ts +0 -19
  10. package/lib/constants/code.js +0 -22
  11. package/lib/constants/defaults.d.ts +0 -38
  12. package/lib/constants/defaults.js +0 -69
  13. package/lib/constants/index.d.ts +0 -3
  14. package/lib/constants/index.js +0 -26
  15. package/lib/handlers/AlignmentHandler.d.ts +0 -18
  16. package/lib/handlers/AlignmentHandler.js +0 -58
  17. package/lib/handlers/AnimationHandler.d.ts +0 -50
  18. package/lib/handlers/AnimationHandler.js +0 -323
  19. package/lib/handlers/ChartHandler.d.ts +0 -8
  20. package/lib/handlers/ChartHandler.js +0 -8
  21. package/lib/handlers/ContextmenuHandler.d.ts +0 -28
  22. package/lib/handlers/ContextmenuHandler.js +0 -65
  23. package/lib/handlers/CropHandler.d.ts +0 -43
  24. package/lib/handlers/CropHandler.js +0 -261
  25. package/lib/handlers/CustomHandler.d.ts +0 -7
  26. package/lib/handlers/CustomHandler.js +0 -10
  27. package/lib/handlers/DrawingHandler.d.ts +0 -28
  28. package/lib/handlers/DrawingHandler.js +0 -318
  29. package/lib/handlers/ElementHandler.d.ts +0 -80
  30. package/lib/handlers/ElementHandler.js +0 -154
  31. package/lib/handlers/EventHandler.d.ts +0 -170
  32. package/lib/handlers/EventHandler.js +0 -880
  33. package/lib/handlers/FiberHandler.d.ts +0 -6
  34. package/lib/handlers/FiberHandler.js +0 -23
  35. package/lib/handlers/GridHandler.d.ts +0 -19
  36. package/lib/handlers/GridHandler.js +0 -77
  37. package/lib/handlers/GuidelineHandler.d.ts +0 -61
  38. package/lib/handlers/GuidelineHandler.js +0 -315
  39. package/lib/handlers/Handler.d.ts +0 -622
  40. package/lib/handlers/Handler.js +0 -1638
  41. package/lib/handlers/ImageHandler.d.ts +0 -307
  42. package/lib/handlers/ImageHandler.js +0 -529
  43. package/lib/handlers/InteractionHandler.d.ts +0 -45
  44. package/lib/handlers/InteractionHandler.js +0 -164
  45. package/lib/handlers/LinkHandler.d.ts +0 -115
  46. package/lib/handlers/LinkHandler.js +0 -247
  47. package/lib/handlers/NodeHandler.d.ts +0 -50
  48. package/lib/handlers/NodeHandler.js +0 -274
  49. package/lib/handlers/PortHandler.d.ts +0 -22
  50. package/lib/handlers/PortHandler.js +0 -179
  51. package/lib/handlers/ShortcutHandler.d.ts +0 -119
  52. package/lib/handlers/ShortcutHandler.js +0 -151
  53. package/lib/handlers/TooltipHandler.d.ts +0 -33
  54. package/lib/handlers/TooltipHandler.js +0 -91
  55. package/lib/handlers/TransactionHandler.d.ts +0 -59
  56. package/lib/handlers/TransactionHandler.js +0 -137
  57. package/lib/handlers/WorkareaHandler.d.ts +0 -43
  58. package/lib/handlers/WorkareaHandler.js +0 -354
  59. package/lib/handlers/ZoomHandler.d.ts +0 -48
  60. package/lib/handlers/ZoomHandler.js +0 -143
  61. package/lib/handlers/index.d.ts +0 -23
  62. package/lib/handlers/index.js +0 -48
  63. package/lib/index.d.ts +0 -6
  64. package/lib/index.js +0 -20
  65. package/lib/objects/Arrow.d.ts +0 -2
  66. package/lib/objects/Arrow.js +0 -40
  67. package/lib/objects/Chart.d.ts +0 -10
  68. package/lib/objects/Chart.js +0 -124
  69. package/lib/objects/CirclePort.d.ts +0 -2
  70. package/lib/objects/CirclePort.js +0 -28
  71. package/lib/objects/Cube.d.ts +0 -5
  72. package/lib/objects/Cube.js +0 -71
  73. package/lib/objects/CurvedLink.d.ts +0 -2
  74. package/lib/objects/CurvedLink.js +0 -51
  75. package/lib/objects/Element.d.ts +0 -13
  76. package/lib/objects/Element.js +0 -84
  77. package/lib/objects/Gif.d.ts +0 -3
  78. package/lib/objects/Gif.js +0 -41
  79. package/lib/objects/Iframe.d.ts +0 -9
  80. package/lib/objects/Iframe.js +0 -70
  81. package/lib/objects/Line.d.ts +0 -2
  82. package/lib/objects/Line.js +0 -24
  83. package/lib/objects/Link.d.ts +0 -15
  84. package/lib/objects/Link.js +0 -106
  85. package/lib/objects/Node.d.ts +0 -59
  86. package/lib/objects/Node.js +0 -271
  87. package/lib/objects/OrthogonalLink.d.ts +0 -2
  88. package/lib/objects/OrthogonalLink.js +0 -54
  89. package/lib/objects/Port.d.ts +0 -12
  90. package/lib/objects/Port.js +0 -28
  91. package/lib/objects/Svg.d.ts +0 -8
  92. package/lib/objects/Svg.js +0 -59
  93. package/lib/objects/Video.d.ts +0 -14
  94. package/lib/objects/Video.js +0 -120
  95. package/lib/objects/index.d.ts +0 -15
  96. package/lib/objects/index.js +0 -32
  97. package/lib/utils/ObjectUtil.d.ts +0 -407
  98. package/lib/utils/ObjectUtil.js +0 -13
  99. package/lib/utils/index.d.ts +0 -1
  100. package/lib/utils/index.js +0 -13
@@ -1,274 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const fabric_1 = require("fabric");
4
- class NodeHandler {
5
- constructor(handler) {
6
- /**
7
- * Get the node path by target object
8
- * @param {NodeObject} target
9
- * @param {NodeObject[]} [nodes=[]]
10
- * @param {string} [direction='init']
11
- */
12
- this.getNodePath = (target, nodes = [], direction = 'init') => {
13
- if (target) {
14
- if (direction === 'to' || direction === 'init') {
15
- if (target.toPort) {
16
- target.toPort.links.forEach(link => {
17
- if (link.fromNode) {
18
- nodes.push(link.fromNode);
19
- this.getNodePath(link.fromNode, nodes, 'to');
20
- }
21
- });
22
- }
23
- if (direction === 'init') {
24
- nodes.push(target);
25
- }
26
- }
27
- if (direction === 'from' || direction === 'init') {
28
- target.fromPort.forEach(port => {
29
- port.links.forEach(link => {
30
- if (link.toNode) {
31
- nodes.push(link.toNode);
32
- this.getNodePath(link.toNode, nodes, 'from');
33
- }
34
- });
35
- });
36
- }
37
- }
38
- };
39
- /**
40
- * Select the node path
41
- * @param {string[]} [path]
42
- */
43
- this.selectByPath = (path) => {
44
- if (!path || !path.length) {
45
- return;
46
- }
47
- const targetObjects = this.handler.objects.filter(object => path.some(id => id === object.id));
48
- const nonTargetObjects = this.handler.objects.filter(object => path.some(id => id !== object.id));
49
- nonTargetObjects.forEach((object) => {
50
- if (object.superType === 'link') {
51
- const { fromNode, toNode } = object;
52
- if (fromNode && toNode) {
53
- const fromIndex = targetObjects.findIndex(obj => obj.id === fromNode.id);
54
- const toIndex = targetObjects.findIndex(obj => obj.id === toNode.id);
55
- if (fromIndex >= 0 && targetObjects[fromIndex] && toIndex >= 0 && targetObjects[toIndex]) {
56
- object.set({
57
- opacity: 1,
58
- shadow: {
59
- color: object.stroke,
60
- },
61
- });
62
- this.highlightingNode(object, 300);
63
- this.handler.canvas.requestRenderAll();
64
- return;
65
- }
66
- }
67
- }
68
- object.set({
69
- opacity: 0.2,
70
- });
71
- if (object.superType === 'node') {
72
- if (object.toPort) {
73
- object.toPort.set({
74
- opacity: 0.2,
75
- });
76
- }
77
- object.fromPort.forEach((port) => {
78
- port.set({
79
- opacity: 0.2,
80
- });
81
- });
82
- }
83
- if (!object.animating) {
84
- object.set('shadow', {
85
- blur: 0,
86
- });
87
- }
88
- });
89
- targetObjects.forEach((object) => {
90
- object.set({
91
- opacity: 1,
92
- shadow: {
93
- color: object.stroke,
94
- },
95
- });
96
- this.highlightingNode(object, 300);
97
- if (object.toPort) {
98
- object.toPort.set({
99
- opacity: 1,
100
- });
101
- }
102
- if (object.fromPort) {
103
- object.fromPort.forEach((port) => {
104
- port.set({
105
- opacity: 1,
106
- });
107
- });
108
- }
109
- });
110
- this.handler.canvas.requestRenderAll();
111
- };
112
- /**
113
- * Select node by id
114
- * @param {string} id
115
- */
116
- this.selectById = (id) => {
117
- this.handler.objects.forEach((object) => {
118
- if (id === object.id) {
119
- object.set('shadow', {
120
- color: object.stroke,
121
- blur: 50,
122
- });
123
- return;
124
- }
125
- else if (id === object.nodeId) {
126
- return;
127
- }
128
- object.set('shadow', {
129
- blur: 0,
130
- });
131
- });
132
- this.handler.canvas.requestRenderAll();
133
- };
134
- /**
135
- * Deselect nodes
136
- */
137
- this.deselect = () => {
138
- this.handler.objects.forEach((object) => {
139
- object.set({
140
- opacity: 1,
141
- });
142
- if (object.superType === 'node') {
143
- const node = object;
144
- if (node.toPort) {
145
- node.toPort.set({
146
- opacity: 1,
147
- });
148
- }
149
- node.fromPort.forEach(port => {
150
- port.set({
151
- opacity: 1,
152
- });
153
- });
154
- }
155
- if (!object.animating) {
156
- const node = object;
157
- node.set('shadow', {
158
- blur: 0,
159
- });
160
- }
161
- });
162
- this.handler.canvas.renderAll();
163
- };
164
- /**
165
- * Highlight node path
166
- * @param {string[]} [path]
167
- */
168
- this.highlightingByPath = (path) => {
169
- if (!path || !path.length) {
170
- return;
171
- }
172
- const targetObjects = this.handler.objects.filter((obj) => path.some(id => id === obj.id));
173
- const nonTargetObjects = this.handler.objects.filter((obj) => path.some(id => id !== obj.id));
174
- const lastObject = targetObjects.filter((obj) => obj.id === path[path.length - 1])[0];
175
- targetObjects.forEach((object) => {
176
- if (lastObject) {
177
- object.set('shadow', {
178
- color: lastObject.stroke,
179
- });
180
- }
181
- else {
182
- object.set('shadow', {
183
- color: object.stroke,
184
- });
185
- }
186
- this.highlightingNode(object);
187
- this.handler.canvas.requestRenderAll();
188
- });
189
- nonTargetObjects.forEach((object) => {
190
- if (object.superType === 'link') {
191
- const { fromNode, toNode } = object;
192
- if (fromNode && toNode) {
193
- const fromIndex = targetObjects.findIndex((obj) => obj.id === fromNode.id);
194
- const toIndex = targetObjects.findIndex((obj) => obj.id === toNode.id);
195
- if (fromIndex >= 0 && targetObjects[fromIndex] && toIndex >= 0 && targetObjects[toIndex]) {
196
- if (lastObject) {
197
- object.set('shadow', {
198
- color: lastObject.stroke,
199
- });
200
- }
201
- else {
202
- object.set('shadow', {
203
- color: object.stroke,
204
- });
205
- }
206
- this.highlightingNode(object);
207
- this.highlightingLink(object, lastObject);
208
- return;
209
- }
210
- }
211
- }
212
- });
213
- this.handler.canvas.requestRenderAll();
214
- };
215
- /**
216
- * Highlight link
217
- * @param {FabricObject} object
218
- * @param {FabricObject} targetObject
219
- * @param {number} [duration=500]
220
- */
221
- this.highlightingLink = (object, targetObject, duration = 500) => {
222
- object.animation = {
223
- duration,
224
- type: 'flash',
225
- stroke: targetObject ? targetObject.stroke : object.stroke,
226
- loop: 1,
227
- delay: 0,
228
- };
229
- this.handler.animationHandler.play(object.id, false);
230
- };
231
- /**
232
- * Highlight node
233
- *
234
- * @param {*} object
235
- * @param {number} [duration=500]
236
- * @param {number} [minBlur=0]
237
- * @param {number} [maxBlur=50]
238
- */
239
- this.highlightingNode = (object, duration = 500, minBlur = 0, maxBlur = 50) => {
240
- const onComplete = () => {
241
- if (object.shadow.blur === maxBlur) {
242
- object.animating = true;
243
- object.animate('shadow.blur', minBlur, {
244
- easing: fabric_1.fabric.util.ease.easeInOutQuad,
245
- onChange: (value) => {
246
- object.shadow.blur = value;
247
- this.handler.canvas.requestRenderAll();
248
- },
249
- onComplete: () => {
250
- object.animating = false;
251
- if (object.superType === 'link') {
252
- object.set({
253
- stroke: object.originStroke,
254
- });
255
- }
256
- },
257
- });
258
- }
259
- };
260
- object.animating = true;
261
- object.animate('shadow.blur', maxBlur, {
262
- easing: fabric_1.fabric.util.ease.easeInOutQuad,
263
- duration,
264
- onChange: (value) => {
265
- object.shadow.blur = value;
266
- this.handler.canvas.requestRenderAll();
267
- },
268
- onComplete,
269
- });
270
- };
271
- this.handler = handler;
272
- }
273
- }
274
- exports.default = NodeHandler;
@@ -1,22 +0,0 @@
1
- import Handler from './Handler';
2
- import { NodeObject } from '../objects/Node';
3
- declare class PortHandler {
4
- handler?: Handler;
5
- constructor(handler: Handler);
6
- /**
7
- * Create port
8
- * @param {NodeObject} target
9
- */
10
- create: (target: NodeObject) => void;
11
- /**
12
- * Set coords port
13
- * @param {NodeObject} target
14
- */
15
- setCoords: (target: NodeObject) => void;
16
- /**
17
- * Recreate port
18
- * @param {NodeObject} target
19
- */
20
- recreate: (target: NodeObject) => void;
21
- }
22
- export default PortHandler;
@@ -1,179 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class PortHandler {
4
- constructor(handler) {
5
- /**
6
- * Create port
7
- * @param {NodeObject} target
8
- */
9
- this.create = (target) => {
10
- if (!target.createToPort) {
11
- return;
12
- }
13
- const toPort = target.createToPort(target.left + target.width / 2, target.top);
14
- if (toPort) {
15
- toPort.on('mouseover', () => {
16
- if (this.handler.interactionMode === 'link' &&
17
- this.handler.activeLine &&
18
- this.handler.activeLine.class === 'line') {
19
- if (toPort.links.some(link => link.fromNode === this.handler.activeLine.fromNode)) {
20
- toPort.set({
21
- fill: 'red',
22
- });
23
- this.handler.canvas.renderAll();
24
- return;
25
- }
26
- toPort.set({
27
- fill: 'green',
28
- });
29
- this.handler.canvas.renderAll();
30
- }
31
- });
32
- toPort.on('mouseout', () => {
33
- toPort.set({
34
- fill: toPort.originFill,
35
- });
36
- this.handler.canvas.renderAll();
37
- });
38
- this.handler.canvas.add(toPort);
39
- toPort.setCoords();
40
- this.handler.canvas.bringToFront(toPort);
41
- }
42
- const fromPort = target.createFromPort(target.left + target.width / 2, target.top + target.height);
43
- if (fromPort && fromPort.length) {
44
- fromPort.forEach(port => {
45
- if (port) {
46
- port.on('mouseover', () => {
47
- if (this.handler.interactionMode !== 'link') {
48
- if (port.enabled) {
49
- if (this.handler.activeLine) {
50
- port.set({
51
- fill: 'red',
52
- });
53
- this.handler.canvas.renderAll();
54
- return;
55
- }
56
- port.set({
57
- fill: 'green',
58
- });
59
- this.handler.canvas.renderAll();
60
- return;
61
- }
62
- port.set({
63
- fill: 'red',
64
- });
65
- this.handler.canvas.renderAll();
66
- }
67
- });
68
- port.on('mouseout', () => {
69
- if (this.handler.interactionMode !== 'link') {
70
- port.set({
71
- fill: port.enabled ? port.originFill : port.hoverFill,
72
- });
73
- }
74
- this.handler.canvas.renderAll();
75
- });
76
- this.handler.canvas.add(port);
77
- port.setCoords();
78
- this.handler.canvas.bringToFront(port);
79
- }
80
- });
81
- }
82
- };
83
- /**
84
- * Set coords port
85
- * @param {NodeObject} target
86
- */
87
- this.setCoords = (target) => {
88
- if (target.toPort) {
89
- const toCoords = {
90
- left: target.left + target.width / 2,
91
- top: target.top,
92
- };
93
- target.toPort.set({
94
- ...toCoords,
95
- });
96
- target.toPort.setCoords();
97
- if (target.toPort.links.length) {
98
- target.toPort.links.forEach(link => {
99
- const fromPort = link.fromNode.fromPort.filter(port => port.id === link.fromPort.id)[0];
100
- this.handler.linkHandler.setCoords(fromPort.left, fromPort.top, toCoords.left, toCoords.top, link);
101
- });
102
- }
103
- }
104
- if (target.fromPort) {
105
- const fromCoords = {
106
- left: target.left + target.width / 2,
107
- top: target.top + target.height,
108
- };
109
- target.fromPort.forEach(port => {
110
- const left = port.leftDiff ? fromCoords.left + port.leftDiff : fromCoords.left;
111
- const top = port.topDiff ? fromCoords.top + port.topDiff : fromCoords.top;
112
- port.set({
113
- left,
114
- top,
115
- });
116
- port.setCoords();
117
- if (port.links.length) {
118
- port.links.forEach(link => {
119
- this.handler.linkHandler.setCoords(left, top, link.toNode.toPort.left, link.toNode.toPort.top, link);
120
- });
121
- }
122
- });
123
- }
124
- };
125
- /**
126
- * Recreate port
127
- * @param {NodeObject} target
128
- */
129
- this.recreate = (target) => {
130
- const { fromPort, toPort } = target;
131
- const ports = target.ports;
132
- if (ports) {
133
- ports.forEach(port => {
134
- target.removeWithUpdate(port);
135
- this.handler.canvas.remove(port.fromPort);
136
- });
137
- }
138
- this.handler.canvas.remove(target.toPort);
139
- if (target.toPort) {
140
- target.toPort.links.forEach(link => {
141
- this.handler.linkHandler.remove(link, 'from');
142
- });
143
- }
144
- if (target.fromPort) {
145
- target.fromPort.forEach((port) => {
146
- if (port.links.length) {
147
- port.links.forEach((link) => {
148
- this.handler.linkHandler.remove(link, 'to');
149
- });
150
- }
151
- });
152
- }
153
- this.create(target);
154
- toPort.links.forEach((link) => {
155
- link.fromNode = link.fromNode.id;
156
- link.fromPort = link.fromPort.id;
157
- link.toNode = target.toPort.nodeId;
158
- link.toPort = target.toPort.id;
159
- this.handler.linkHandler.create(link);
160
- });
161
- fromPort
162
- .filter(op => target.fromPort.some(np => np.id === op.id))
163
- .forEach(port => {
164
- port.links.forEach((link) => {
165
- if (link.fromPort.id === port.id) {
166
- link.fromNode = port.nodeId;
167
- link.fromPort = port.id;
168
- link.toNode = link.toNode.id;
169
- link.toPort = link.toPort.id;
170
- this.handler.linkHandler.create(link);
171
- this.setCoords(target);
172
- }
173
- });
174
- });
175
- };
176
- this.handler = handler;
177
- }
178
- }
179
- exports.default = PortHandler;
@@ -1,119 +0,0 @@
1
- import Handler from './Handler';
2
- import { KeyEvent } from '../utils';
3
- /**
4
- * Shortcut Handler Class
5
- *
6
- * @author salgum1114
7
- * @class ShortcutHandler
8
- */
9
- declare class ShortcutHandler {
10
- handler: Handler;
11
- keyEvent: KeyEvent;
12
- constructor(handler: Handler);
13
- /**
14
- * Whether keydown Escape
15
- *
16
- * @param {KeyboardEvent} e
17
- * @returns
18
- */
19
- isEscape: (e: KeyboardEvent) => boolean;
20
- /**
21
- * Whether keydown Q
22
- *
23
- * @param {KeyboardEvent} e
24
- * @returns
25
- */
26
- isQ: (e: KeyboardEvent) => boolean;
27
- /**
28
- * Whether keydown W
29
- *
30
- * @param {KeyboardEvent} e
31
- * @returns
32
- */
33
- isW: (e: KeyboardEvent) => boolean;
34
- /**
35
- * Whether keydown Delete or Backpsace
36
- *
37
- * @param {KeyboardEvent} e
38
- * @returns
39
- */
40
- isDelete: (e: KeyboardEvent) => boolean;
41
- /**
42
- * Whether keydown Arrow
43
- *
44
- * @param {KeyboardEvent} e
45
- * @returns
46
- */
47
- isArrow: (e: KeyboardEvent) => boolean;
48
- /**
49
- * Whether keydown Ctrl + A
50
- *
51
- * @param {KeyboardEvent} e
52
- * @returns
53
- */
54
- isCtrlA: (e: KeyboardEvent) => boolean;
55
- /**
56
- * Whether keydown Ctrl + C
57
- *
58
- * @param {KeyboardEvent} e
59
- * @returns
60
- */
61
- isCtrlC: (e: KeyboardEvent) => boolean;
62
- /**
63
- * Whether keydown Ctrl + V
64
- *
65
- * @param {KeyboardEvent} e
66
- * @returns
67
- */
68
- isCtrlV: (e: KeyboardEvent) => boolean;
69
- /**
70
- * Whether keydown Ctrl + Z
71
- *
72
- * @param {KeyboardEvent} e
73
- * @returns
74
- */
75
- isCtrlZ: (e: KeyboardEvent) => boolean;
76
- /**
77
- * Whether keydown Ctrl + Y
78
- *
79
- * @param {KeyboardEvent} e
80
- * @returns
81
- */
82
- isCtrlY: (e: KeyboardEvent) => boolean;
83
- /**
84
- * Whether keydown Plus Or Equal
85
- *
86
- * @param {KeyboardEvent} e
87
- * @returns
88
- */
89
- isPlus: (e: KeyboardEvent) => boolean;
90
- /**
91
- * Whether keydown Minus
92
- *
93
- * @param {KeyboardEvent} e
94
- * @returns
95
- */
96
- isMinus: (e: KeyboardEvent) => boolean;
97
- /**
98
- * Whether keydown O
99
- *
100
- * @param {KeyboardEvent} e
101
- * @returns
102
- */
103
- isO: (e: KeyboardEvent) => boolean;
104
- /**
105
- * Whether keydown P
106
- *
107
- * @param {KeyboardEvent} e
108
- * @returns
109
- */
110
- isP: (e: KeyboardEvent) => boolean;
111
- /**
112
- * Whether keydown Ctrl + X
113
- *
114
- * @param {KeyboardEvent} e
115
- * @returns
116
- */
117
- isCtrlX: (e: KeyboardEvent) => boolean;
118
- }
119
- export default ShortcutHandler;