react-design-editor 0.0.31 → 0.0.35

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 +1 -1
  2. package/dist/react-design-editor.js +37380 -16467
  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 -29
  6. package/lib/Canvas.js +172 -208
  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 -914
  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 -75
  37. package/lib/handlers/GuidelineHandler.d.ts +61 -39
  38. package/lib/handlers/GuidelineHandler.js +315 -263
  39. package/lib/handlers/Handler.d.ts +622 -543
  40. package/lib/handlers/Handler.js +1638 -1514
  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 -156
  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 -129
  57. package/lib/handlers/WorkareaHandler.d.ts +43 -31
  58. package/lib/handlers/WorkareaHandler.js +354 -355
  59. package/lib/handlers/ZoomHandler.d.ts +48 -48
  60. package/lib/handlers/ZoomHandler.js +143 -145
  61. package/lib/handlers/index.d.ts +23 -21
  62. package/lib/handlers/index.js +48 -44
  63. package/lib/index.d.ts +5 -5
  64. package/lib/index.js +19 -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 -412
  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 +7 -6
@@ -1,89 +1,96 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCanvasObject = void 0;
4
- const fabric_1 = require("fabric");
5
- const objects_1 = require("./objects");
6
- exports.createCanvasObject = (objectSchema) => objectSchema;
7
- const CanvasObject = {
8
- group: {
9
- create: ({ objects, ...option }) => new fabric_1.fabric.Group(objects, option),
10
- },
11
- 'i-text': {
12
- create: ({ text, ...option }) => new fabric_1.fabric.IText(text, option),
13
- },
14
- textbox: {
15
- create: ({ text, ...option }) => new fabric_1.fabric.Textbox(text, option),
16
- },
17
- triangle: {
18
- create: (option) => new fabric_1.fabric.Triangle(option),
19
- },
20
- circle: {
21
- create: (option) => new fabric_1.fabric.Circle(option),
22
- },
23
- rect: {
24
- create: (option) => new fabric_1.fabric.Rect(option),
25
- },
26
- cube: {
27
- create: (option) => new objects_1.Cube(option),
28
- },
29
- image: {
30
- create: ({ element = new Image(), ...option }) => new fabric_1.fabric.Image(element, {
31
- ...option,
32
- crossOrigin: 'anonymous',
33
- }),
34
- },
35
- polygon: {
36
- create: ({ points, ...option }) => new fabric_1.fabric.Polygon(points, {
37
- ...option,
38
- perPixelTargetFind: true,
39
- }),
40
- },
41
- line: {
42
- create: ({ points, ...option }) => new objects_1.Line(points, option),
43
- },
44
- arrow: {
45
- create: ({ points, ...option }) => new objects_1.Arrow(points, option),
46
- },
47
- chart: {
48
- create: (option) => new objects_1.Chart(option.chartOption || {
49
- xAxis: {},
50
- yAxis: {},
51
- series: [
52
- {
53
- type: 'line',
54
- data: [
55
- [0, 1],
56
- [1, 2],
57
- [2, 3],
58
- [3, 4],
59
- ],
60
- },
61
- ],
62
- }, option),
63
- },
64
- element: {
65
- create: ({ code, ...option }) => new objects_1.Element(code, option),
66
- },
67
- iframe: {
68
- create: ({ src, ...option }) => new objects_1.Iframe(src, option),
69
- },
70
- video: {
71
- create: ({ src, file, ...option }) => new objects_1.Video(src || file, option),
72
- },
73
- gif: {
74
- create: (option) => new objects_1.Gif(option),
75
- },
76
- node: {
77
- create: (option) => new objects_1.Node(option),
78
- },
79
- link: {
80
- create: (fromNode, fromPort, toNode, toPort, option) => new objects_1.Link(fromNode, fromPort, toNode, toPort, option),
81
- },
82
- curvedLink: {
83
- create: (fromNode, fromPort, toNode, toPort, option) => new objects_1.CurvedLink(fromNode, fromPort, toNode, toPort, option),
84
- },
85
- orthogonalLink: {
86
- create: (fromNode, fromPort, toNode, toPort, option) => new objects_1.OrthogonalLink(fromNode, fromPort, toNode, toPort, option),
87
- },
88
- };
89
- exports.default = CanvasObject;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createCanvasObject = void 0;
7
+ const fabric_1 = require("fabric");
8
+ const objects_1 = require("./objects");
9
+ const Svg_1 = __importDefault(require("./objects/Svg"));
10
+ exports.createCanvasObject = (objectSchema) => objectSchema;
11
+ const CanvasObject = {
12
+ group: {
13
+ create: ({ objects, ...option }) => new fabric_1.fabric.Group(objects, option),
14
+ },
15
+ 'i-text': {
16
+ create: ({ text, ...option }) => new fabric_1.fabric.IText(text, option),
17
+ },
18
+ textbox: {
19
+ create: ({ text, ...option }) => new fabric_1.fabric.Textbox(text, option),
20
+ },
21
+ triangle: {
22
+ create: (option) => new fabric_1.fabric.Triangle(option),
23
+ },
24
+ circle: {
25
+ create: (option) => new fabric_1.fabric.Circle(option),
26
+ },
27
+ rect: {
28
+ create: (option) => new fabric_1.fabric.Rect(option),
29
+ },
30
+ cube: {
31
+ create: (option) => new objects_1.Cube(option),
32
+ },
33
+ image: {
34
+ create: ({ element = new Image(), ...option }) => new fabric_1.fabric.Image(element, {
35
+ ...option,
36
+ crossOrigin: 'anonymous',
37
+ }),
38
+ },
39
+ polygon: {
40
+ create: ({ points, ...option }) => new fabric_1.fabric.Polygon(points, {
41
+ ...option,
42
+ perPixelTargetFind: true,
43
+ }),
44
+ },
45
+ line: {
46
+ create: ({ points, ...option }) => new objects_1.Line(points, option),
47
+ },
48
+ arrow: {
49
+ create: ({ points, ...option }) => new objects_1.Arrow(points, option),
50
+ },
51
+ chart: {
52
+ create: (option) => new objects_1.Chart(option.chartOption || {
53
+ xAxis: {},
54
+ yAxis: {},
55
+ series: [
56
+ {
57
+ type: 'line',
58
+ data: [
59
+ [0, 1],
60
+ [1, 2],
61
+ [2, 3],
62
+ [3, 4],
63
+ ],
64
+ },
65
+ ],
66
+ }, option),
67
+ },
68
+ element: {
69
+ create: ({ code, ...option }) => new objects_1.Element(code, option),
70
+ },
71
+ iframe: {
72
+ create: ({ src, ...option }) => new objects_1.Iframe(src, option),
73
+ },
74
+ video: {
75
+ create: ({ src, file, ...option }) => new objects_1.Video(src || file, option),
76
+ },
77
+ gif: {
78
+ create: (option) => new objects_1.Gif(option),
79
+ },
80
+ node: {
81
+ create: (option) => new objects_1.Node(option),
82
+ },
83
+ link: {
84
+ create: (fromNode, fromPort, toNode, toPort, option) => new objects_1.Link(fromNode, fromPort, toNode, toPort, option),
85
+ },
86
+ curvedLink: {
87
+ create: (fromNode, fromPort, toNode, toPort, option) => new objects_1.CurvedLink(fromNode, fromPort, toNode, toPort, option),
88
+ },
89
+ orthogonalLink: {
90
+ create: (fromNode, fromPort, toNode, toPort, option) => new objects_1.OrthogonalLink(fromNode, fromPort, toNode, toPort, option),
91
+ },
92
+ svg: {
93
+ create: (option) => new Svg_1.default(option),
94
+ },
95
+ };
96
+ exports.default = CanvasObject;
@@ -0,0 +1,19 @@
1
+ export declare const ESCAPE = "Escape";
2
+ export declare const DELETE = "Delete";
3
+ export declare const BACKSPACE = "Backspace";
4
+ export declare const EQUAL = "Equal";
5
+ export declare const MINUS = "Minus";
6
+ export declare const KEY_A = "KeyA";
7
+ export declare const KEY_Q = "KeyQ";
8
+ export declare const KEY_W = "KeyW";
9
+ export declare const KEY_C = "KeyC";
10
+ export declare const KEY_V = "KeyV";
11
+ export declare const KEY_Z = "KeyZ";
12
+ export declare const KEY_Y = "KeyY";
13
+ export declare const KEY_O = "KeyO";
14
+ export declare const KEY_P = "KeyP";
15
+ export declare const KEY_X = "KeyX";
16
+ export declare const ARROW_UP = "ArrowUp";
17
+ export declare const ARROW_DOWN = "ArrowDown";
18
+ export declare const ARROW_LEFT = "ArrowLeft";
19
+ export declare const ARROW_RIGHT = "ArrowRight";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ARROW_RIGHT = exports.ARROW_LEFT = exports.ARROW_DOWN = exports.ARROW_UP = exports.KEY_X = exports.KEY_P = exports.KEY_O = exports.KEY_Y = exports.KEY_Z = exports.KEY_V = exports.KEY_C = exports.KEY_W = exports.KEY_Q = exports.KEY_A = exports.MINUS = exports.EQUAL = exports.BACKSPACE = exports.DELETE = exports.ESCAPE = void 0;
4
+ exports.ESCAPE = 'Escape';
5
+ exports.DELETE = 'Delete';
6
+ exports.BACKSPACE = 'Backspace';
7
+ exports.EQUAL = 'Equal';
8
+ exports.MINUS = 'Minus';
9
+ exports.KEY_A = 'KeyA';
10
+ exports.KEY_Q = 'KeyQ';
11
+ exports.KEY_W = 'KeyW';
12
+ exports.KEY_C = 'KeyC';
13
+ exports.KEY_V = 'KeyV';
14
+ exports.KEY_Z = 'KeyZ';
15
+ exports.KEY_Y = 'KeyY';
16
+ exports.KEY_O = 'KeyO';
17
+ exports.KEY_P = 'KeyP';
18
+ exports.KEY_X = 'KeyX';
19
+ exports.ARROW_UP = 'ArrowUp';
20
+ exports.ARROW_DOWN = 'ArrowDown';
21
+ exports.ARROW_LEFT = 'ArrowLeft';
22
+ exports.ARROW_RIGHT = 'ArrowRight';
@@ -0,0 +1,38 @@
1
+ import { FabricObjectOption, WorkareaObject } from '../utils';
2
+ export declare const canvasOption: {
3
+ preserveObjectStacking: boolean;
4
+ width: number;
5
+ height: number;
6
+ selection: boolean;
7
+ defaultCursor: string;
8
+ backgroundColor: string;
9
+ };
10
+ export declare const keyEvent: {
11
+ move: boolean;
12
+ all: boolean;
13
+ copy: boolean;
14
+ paste: boolean;
15
+ esc: boolean;
16
+ del: boolean;
17
+ clipboard: boolean;
18
+ transaction: boolean;
19
+ zoom: boolean;
20
+ cut: boolean;
21
+ grab: boolean;
22
+ };
23
+ export declare const gridOption: {
24
+ enabled: boolean;
25
+ grid: number;
26
+ snapToGrid: boolean;
27
+ lineColor: string;
28
+ borderColor: string;
29
+ };
30
+ export declare const workareaOption: Partial<WorkareaObject>;
31
+ export declare const objectOption: Partial<FabricObjectOption>;
32
+ export declare const guidelineOption: {
33
+ enabled: boolean;
34
+ };
35
+ export declare const activeSelectionOption: {
36
+ hasControls: boolean;
37
+ };
38
+ export declare const propertiesToInclude: string[];
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.propertiesToInclude = exports.activeSelectionOption = exports.guidelineOption = exports.objectOption = exports.workareaOption = exports.gridOption = exports.keyEvent = exports.canvasOption = void 0;
4
+ exports.canvasOption = {
5
+ preserveObjectStacking: true,
6
+ width: 300,
7
+ height: 150,
8
+ selection: true,
9
+ defaultCursor: 'default',
10
+ backgroundColor: '#f3f3f3',
11
+ };
12
+ exports.keyEvent = {
13
+ move: true,
14
+ all: true,
15
+ copy: true,
16
+ paste: true,
17
+ esc: true,
18
+ del: true,
19
+ clipboard: false,
20
+ transaction: true,
21
+ zoom: true,
22
+ cut: true,
23
+ grab: true,
24
+ };
25
+ exports.gridOption = {
26
+ enabled: false,
27
+ grid: 10,
28
+ snapToGrid: false,
29
+ lineColor: '#ebebeb',
30
+ borderColor: '#cccccc',
31
+ };
32
+ exports.workareaOption = {
33
+ width: 600,
34
+ height: 400,
35
+ workareaWidth: 600,
36
+ workareaHeight: 400,
37
+ lockScalingX: true,
38
+ lockScalingY: true,
39
+ scaleX: 1,
40
+ scaleY: 1,
41
+ backgroundColor: '#fff',
42
+ hasBorders: false,
43
+ hasControls: false,
44
+ selectable: false,
45
+ lockMovementX: true,
46
+ lockMovementY: true,
47
+ hoverCursor: 'default',
48
+ name: '',
49
+ id: 'workarea',
50
+ type: 'image',
51
+ layout: 'fixed',
52
+ link: {},
53
+ tooltip: {
54
+ enabled: false,
55
+ },
56
+ isElement: false,
57
+ };
58
+ exports.objectOption = {
59
+ rotation: 0,
60
+ centeredRotation: true,
61
+ strokeUniform: true,
62
+ };
63
+ exports.guidelineOption = {
64
+ enabled: true,
65
+ };
66
+ exports.activeSelectionOption = {
67
+ hasControls: true,
68
+ };
69
+ exports.propertiesToInclude = ['id', 'name', 'locked', 'editable'];
@@ -0,0 +1,3 @@
1
+ import * as defaults from './defaults';
2
+ import * as code from './code';
3
+ export { defaults, code };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.code = exports.defaults = void 0;
23
+ const defaults = __importStar(require("./defaults"));
24
+ exports.defaults = defaults;
25
+ const code = __importStar(require("./code"));
26
+ exports.code = code;
@@ -1,18 +1,18 @@
1
- import Handler from './Handler';
2
- declare class AlignmentHandler {
3
- handler: Handler;
4
- constructor(handler: Handler);
5
- /**
6
- * Align left at selection
7
- */
8
- left: () => void;
9
- /**
10
- * Align center at selection
11
- */
12
- center: () => void;
13
- /**
14
- * Align right at selection
15
- */
16
- right: () => void;
17
- }
18
- export default AlignmentHandler;
1
+ import Handler from './Handler';
2
+ declare class AlignmentHandler {
3
+ handler: Handler;
4
+ constructor(handler: Handler);
5
+ /**
6
+ * Align left at selection
7
+ */
8
+ left: () => void;
9
+ /**
10
+ * Align center at selection
11
+ */
12
+ center: () => void;
13
+ /**
14
+ * Align right at selection
15
+ */
16
+ right: () => void;
17
+ }
18
+ export default AlignmentHandler;
@@ -1,58 +1,58 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class AlignmentHandler {
4
- constructor(handler) {
5
- /**
6
- * Align left at selection
7
- */
8
- this.left = () => {
9
- const activeObject = this.handler.canvas.getActiveObject();
10
- if (activeObject && activeObject.type === 'activeSelection') {
11
- const activeSelection = activeObject;
12
- const activeObjectLeft = -(activeObject.width / 2);
13
- activeSelection.forEachObject(obj => {
14
- obj.set({
15
- left: activeObjectLeft,
16
- });
17
- obj.setCoords();
18
- this.handler.canvas.renderAll();
19
- });
20
- }
21
- };
22
- /**
23
- * Align center at selection
24
- */
25
- this.center = () => {
26
- const activeObject = this.handler.canvas.getActiveObject();
27
- if (activeObject && activeObject.type === 'activeSelection') {
28
- const activeSelection = activeObject;
29
- activeSelection.forEachObject(obj => {
30
- obj.set({
31
- left: 0 - ((obj.width * obj.scaleX) / 2),
32
- });
33
- obj.setCoords();
34
- this.handler.canvas.renderAll();
35
- });
36
- }
37
- };
38
- /**
39
- * Align right at selection
40
- */
41
- this.right = () => {
42
- const activeObject = this.handler.canvas.getActiveObject();
43
- if (activeObject && activeObject.type === 'activeSelection') {
44
- const activeSelection = activeObject;
45
- const activeObjectLeft = (activeObject.width / 2);
46
- activeSelection.forEachObject(obj => {
47
- obj.set({
48
- left: activeObjectLeft - (obj.width * obj.scaleX),
49
- });
50
- obj.setCoords();
51
- this.handler.canvas.renderAll();
52
- });
53
- }
54
- };
55
- this.handler = handler;
56
- }
57
- }
58
- exports.default = AlignmentHandler;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class AlignmentHandler {
4
+ constructor(handler) {
5
+ /**
6
+ * Align left at selection
7
+ */
8
+ this.left = () => {
9
+ const activeObject = this.handler.canvas.getActiveObject();
10
+ if (activeObject && activeObject.type === 'activeSelection') {
11
+ const activeSelection = activeObject;
12
+ const activeObjectLeft = -(activeObject.width / 2);
13
+ activeSelection.forEachObject(obj => {
14
+ obj.set({
15
+ left: activeObjectLeft,
16
+ });
17
+ obj.setCoords();
18
+ this.handler.canvas.renderAll();
19
+ });
20
+ }
21
+ };
22
+ /**
23
+ * Align center at selection
24
+ */
25
+ this.center = () => {
26
+ const activeObject = this.handler.canvas.getActiveObject();
27
+ if (activeObject && activeObject.type === 'activeSelection') {
28
+ const activeSelection = activeObject;
29
+ activeSelection.forEachObject(obj => {
30
+ obj.set({
31
+ left: 0 - ((obj.width * obj.scaleX) / 2),
32
+ });
33
+ obj.setCoords();
34
+ this.handler.canvas.renderAll();
35
+ });
36
+ }
37
+ };
38
+ /**
39
+ * Align right at selection
40
+ */
41
+ this.right = () => {
42
+ const activeObject = this.handler.canvas.getActiveObject();
43
+ if (activeObject && activeObject.type === 'activeSelection') {
44
+ const activeSelection = activeObject;
45
+ const activeObjectLeft = (activeObject.width / 2);
46
+ activeSelection.forEachObject(obj => {
47
+ obj.set({
48
+ left: activeObjectLeft - (obj.width * obj.scaleX),
49
+ });
50
+ obj.setCoords();
51
+ this.handler.canvas.renderAll();
52
+ });
53
+ }
54
+ };
55
+ this.handler = handler;
56
+ }
57
+ }
58
+ exports.default = AlignmentHandler;
@@ -1,48 +1,50 @@
1
- import anime from 'animejs';
2
- import { Handler } from '.';
3
- import { FabricObject } from '../utils';
4
- declare class AnimationHandler {
5
- handler: Handler;
6
- constructor(handler: Handler);
7
- /**
8
- * Play the animation
9
- * @param {string} id
10
- * @param {boolean} [hasControls]
11
- * @returns
12
- */
13
- play: (id: string, hasControls?: boolean) => void;
14
- /**
15
- * Pause the animation
16
- * @param {string} id
17
- * @returns
18
- */
19
- pause: (id: string) => void;
20
- /**
21
- * Stop the animation
22
- * @param {string} id
23
- * @param {boolean} [hasControls=true]
24
- * @returns
25
- */
26
- stop: (id: string, hasControls?: boolean) => void;
27
- /**
28
- * Restart the animation
29
- * @param {string} id
30
- * @returns
31
- */
32
- restart: (id: string) => void;
33
- /**
34
- * Init animation
35
- * @param {FabricObject} obj
36
- * @param {boolean} [hasControls=true]
37
- * @returns
38
- */
39
- initAnimation: (obj: FabricObject, hasControls?: boolean) => void;
40
- /**
41
- * Get animation option
42
- * @param {FabricObject} obj
43
- * @param {boolean} [hasControls]
44
- * @returns
45
- */
46
- getAnimation: (obj: FabricObject, hasControls?: boolean) => anime.AnimeInstance;
47
- }
48
- export default AnimationHandler;
1
+ import anime from 'animejs';
2
+ import { Handler } from '.';
3
+ import { FabricObject } from '../utils';
4
+ declare class AnimationHandler {
5
+ handler: Handler;
6
+ constructor(handler: Handler);
7
+ /**
8
+ * Play the animation
9
+ * @param {string} id
10
+ * @param {boolean} [hasControls]
11
+ * @returns
12
+ */
13
+ play: (id: string, hasControls?: boolean) => void;
14
+ /**
15
+ * Pause the animation
16
+ * @param {string} id
17
+ * @returns
18
+ */
19
+ pause: (id: string) => void;
20
+ /**
21
+ * Stop the animation
22
+ * @param {string} id
23
+ * @param {boolean} [hasControls=true]
24
+ * @returns
25
+ */
26
+ stop: (id: string, hasControls?: boolean) => void;
27
+ /**
28
+ * Restart the animation
29
+ * @param {string} id
30
+ * @returns
31
+ */
32
+ restart: (id: string) => void;
33
+ /**
34
+ * Reset animation
35
+ *
36
+ * @param {FabricObject} obj
37
+ * @param {boolean} [hasControls=true]
38
+ * @returns
39
+ */
40
+ resetAnimation: (obj: FabricObject, hasControls?: boolean) => void;
41
+ /**
42
+ * Get animation option
43
+ *
44
+ * @param {FabricObject} obj
45
+ * @param {boolean} [hasControls]
46
+ * @returns
47
+ */
48
+ getAnime: (obj: FabricObject, hasControls?: boolean) => anime.AnimeInstance;
49
+ }
50
+ export default AnimationHandler;