@anu3ev/fabric-image-editor 0.1.10 → 0.1.11
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/main.js +428 -419
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { ActiveSelection as Z, util as z, controlsUtils as Oe, InteractiveFabricObject as Te,
|
|
1
|
+
import { ActiveSelection as Z, util as z, controlsUtils as Oe, InteractiveFabricObject as Te, loadSVGFromURL as Ee, FabricImage as de, Point as ke, Rect as xe, Circle as Be, Triangle as Ze, Group as ze, Pattern as Ue, Canvas as Pe } from "fabric";
|
|
2
2
|
import { create as Ye } from "jsondiffpatch";
|
|
3
3
|
var He = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", I = function() {
|
|
4
4
|
for (var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 21, t = "", a = crypto.getRandomValues(new Uint8Array(e |= 0)); e--; )
|
|
5
5
|
t += He[a[e] & 63];
|
|
6
6
|
return t;
|
|
7
7
|
};
|
|
8
|
-
function le(
|
|
8
|
+
function le(o, e, t, a, r, n, i) {
|
|
9
9
|
try {
|
|
10
|
-
var s =
|
|
10
|
+
var s = o[n](i), c = s.value;
|
|
11
11
|
} catch (u) {
|
|
12
12
|
return void t(u);
|
|
13
13
|
}
|
|
14
14
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
15
15
|
}
|
|
16
|
-
function We(
|
|
16
|
+
function We(o) {
|
|
17
17
|
return function() {
|
|
18
18
|
var e = this, t = arguments;
|
|
19
19
|
return new Promise(function(a, r) {
|
|
20
|
-
var n =
|
|
21
|
-
function
|
|
22
|
-
le(n, a, r,
|
|
20
|
+
var n = o.apply(e, t);
|
|
21
|
+
function i(c) {
|
|
22
|
+
le(n, a, r, i, s, "next", c);
|
|
23
23
|
}
|
|
24
24
|
function s(c) {
|
|
25
|
-
le(n, a, r,
|
|
25
|
+
le(n, a, r, i, s, "throw", c);
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
i(void 0);
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
30
|
}
|
|
@@ -61,7 +61,7 @@ class B {
|
|
|
61
61
|
mouseWheelZooming: a,
|
|
62
62
|
bringToFrontOnSelection: r,
|
|
63
63
|
copyObjectsByHotkey: n,
|
|
64
|
-
pasteImageFromClipboard:
|
|
64
|
+
pasteImageFromClipboard: i,
|
|
65
65
|
undoRedoByHotKeys: s,
|
|
66
66
|
selectAllByHotkey: c,
|
|
67
67
|
deleteObjectsByHotkey: u,
|
|
@@ -71,7 +71,7 @@ class B {
|
|
|
71
71
|
capture: !0
|
|
72
72
|
}), n && document.addEventListener("keydown", this.handleCopyEventBound, {
|
|
73
73
|
capture: !0
|
|
74
|
-
}),
|
|
74
|
+
}), i && document.addEventListener("paste", this.handlePasteEventBound, {
|
|
75
75
|
capture: !0
|
|
76
76
|
}), s && (document.addEventListener("keydown", this.handleUndoRedoEventBound, {
|
|
77
77
|
capture: !0
|
|
@@ -103,10 +103,10 @@ class B {
|
|
|
103
103
|
this.canvas.setActiveObject(n[0]);
|
|
104
104
|
return;
|
|
105
105
|
}
|
|
106
|
-
var
|
|
106
|
+
var i = new Z(n, {
|
|
107
107
|
canvas: this.canvas
|
|
108
108
|
});
|
|
109
|
-
this.canvas.setActiveObject(
|
|
109
|
+
this.canvas.setActiveObject(i), this.canvas.requestRenderAll();
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
}
|
|
@@ -186,14 +186,14 @@ class B {
|
|
|
186
186
|
items: r
|
|
187
187
|
} = a, n = r[r.length - 1];
|
|
188
188
|
if (n.type.indexOf("image") !== -1) {
|
|
189
|
-
var
|
|
190
|
-
if (!
|
|
189
|
+
var i = n.getAsFile();
|
|
190
|
+
if (!i) return;
|
|
191
191
|
var s = new FileReader();
|
|
192
192
|
s.onload = (h) => {
|
|
193
193
|
this.editor.imageManager.importImage({
|
|
194
194
|
source: h.target.result
|
|
195
195
|
});
|
|
196
|
-
}, s.readAsDataURL(
|
|
196
|
+
}, s.readAsDataURL(i);
|
|
197
197
|
return;
|
|
198
198
|
}
|
|
199
199
|
var c = a.getData("text/html");
|
|
@@ -223,9 +223,9 @@ class B {
|
|
|
223
223
|
ctrlKey: a,
|
|
224
224
|
metaKey: r,
|
|
225
225
|
code: n,
|
|
226
|
-
repeat:
|
|
226
|
+
repeat: i
|
|
227
227
|
} = e;
|
|
228
|
-
!a && !r ||
|
|
228
|
+
!a && !r || i || t.isUndoRedoKeyPressed || (n === "KeyZ" ? (e.preventDefault(), t.isUndoRedoKeyPressed = !0, yield t.editor.historyManager.undo()) : n === "KeyY" && (e.preventDefault(), t.isUndoRedoKeyPressed = !0, yield t.editor.historyManager.redo()));
|
|
229
229
|
})();
|
|
230
230
|
}
|
|
231
231
|
/**
|
|
@@ -354,8 +354,8 @@ class B {
|
|
|
354
354
|
static debounce(e, t) {
|
|
355
355
|
var a = null;
|
|
356
356
|
return function() {
|
|
357
|
-
for (var r = arguments.length, n = new Array(r),
|
|
358
|
-
n[
|
|
357
|
+
for (var r = arguments.length, n = new Array(r), i = 0; i < r; i++)
|
|
358
|
+
n[i] = arguments[i];
|
|
359
359
|
var s = this;
|
|
360
360
|
clearTimeout(a), a = setTimeout(() => {
|
|
361
361
|
e.apply(s, n);
|
|
@@ -409,9 +409,9 @@ class Re {
|
|
|
409
409
|
requestId: a,
|
|
410
410
|
success: r,
|
|
411
411
|
data: n,
|
|
412
|
-
error:
|
|
412
|
+
error: i
|
|
413
413
|
} = t, s = this._callbacks.get(a);
|
|
414
|
-
s && (r ? s.resolve(n) : s.reject(new Error(
|
|
414
|
+
s && (r ? s.resolve(n) : s.reject(new Error(i)), this._callbacks.delete(a));
|
|
415
415
|
}
|
|
416
416
|
/**
|
|
417
417
|
* Универсальный метод отправки команды в воркер
|
|
@@ -422,10 +422,10 @@ class Re {
|
|
|
422
422
|
*/
|
|
423
423
|
post(e, t) {
|
|
424
424
|
var a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [], r = "".concat(e, ":").concat(I(8));
|
|
425
|
-
return new Promise((n,
|
|
425
|
+
return new Promise((n, i) => {
|
|
426
426
|
this._callbacks.set(r, {
|
|
427
427
|
resolve: n,
|
|
428
|
-
reject:
|
|
428
|
+
reject: i
|
|
429
429
|
}), this.worker.postMessage({
|
|
430
430
|
action: e,
|
|
431
431
|
payload: t,
|
|
@@ -440,24 +440,24 @@ class Re {
|
|
|
440
440
|
this.worker.terminate();
|
|
441
441
|
}
|
|
442
442
|
}
|
|
443
|
-
var p = 12, Ve = 2,
|
|
444
|
-
function U(
|
|
445
|
-
var n = p,
|
|
446
|
-
|
|
443
|
+
var p = 12, Ve = 2, G = 8, X = 20, Fe = 100, Q = 20, J = 8, Ge = 100, K = 32, $ = 1, Xe = "#2B2D33", q = "#3D8BF4", ee = "#FFFFFF";
|
|
444
|
+
function U(o, e, t, a, r) {
|
|
445
|
+
var n = p, i = Ve;
|
|
446
|
+
o.save(), o.translate(e, t), o.rotate(z.degreesToRadians(r.angle)), o.fillStyle = ee, o.strokeStyle = q, o.lineWidth = $, o.beginPath(), o.roundRect(-12 / 2, -12 / 2, n, n, i), o.fill(), o.stroke(), o.restore();
|
|
447
447
|
}
|
|
448
|
-
function he(
|
|
449
|
-
var n =
|
|
450
|
-
|
|
448
|
+
function he(o, e, t, a, r) {
|
|
449
|
+
var n = G, i = X, s = Fe;
|
|
450
|
+
o.save(), o.translate(e, t), o.rotate(z.degreesToRadians(r.angle)), o.fillStyle = ee, o.strokeStyle = q, o.lineWidth = $, o.beginPath(), o.roundRect(-8 / 2, -20 / 2, n, i, s), o.fill(), o.stroke(), o.restore();
|
|
451
451
|
}
|
|
452
|
-
function ge(
|
|
453
|
-
var n =
|
|
454
|
-
|
|
452
|
+
function ge(o, e, t, a, r) {
|
|
453
|
+
var n = Q, i = J, s = Ge;
|
|
454
|
+
o.save(), o.translate(e, t), o.rotate(z.degreesToRadians(r.angle)), o.fillStyle = ee, o.strokeStyle = q, o.lineWidth = $, o.beginPath(), o.roundRect(-20 / 2, -8 / 2, n, i, s), o.fill(), o.stroke(), o.restore();
|
|
455
455
|
}
|
|
456
456
|
var Qe = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE4Ljc1IDQuMzc1djMuNzVhLjYyNS42MjUgMCAwIDEtLjYyNS42MjVoLTMuNzVhLjYyNS42MjUgMCAwIDEgMC0xLjI1aDIuMTRsLTIuMDc3LTEuOTAzLS4wMi0uMDE5YTYuMjUgNi4yNSAwIDEgMC0uMTMgOC45NjcuNjI2LjYyNiAwIDAgMSAuODYuOTA5QTcuNDU2IDcuNDU2IDAgMCAxIDEwIDE3LjVoLS4xMDNhNy41IDcuNSAwIDEgMSA1LjM5Ni0xMi44MTJMMTcuNSA2LjcwM1Y0LjM3NWEuNjI1LjYyNSAwIDAgMSAxLjI1IDBaIi8+PC9zdmc+", Ae = new Image();
|
|
457
457
|
Ae.src = Qe;
|
|
458
|
-
function Je(
|
|
459
|
-
var n =
|
|
460
|
-
|
|
458
|
+
function Je(o, e, t, a, r) {
|
|
459
|
+
var n = K, i = n / 2;
|
|
460
|
+
o.save(), o.translate(e, t), o.rotate(z.degreesToRadians(r.angle)), o.fillStyle = Xe, o.beginPath(), o.arc(0, 0, i, 0, 2 * Math.PI), o.fill(), o.drawImage(Ae, -16 / 2, -16 / 2, i, i), o.restore();
|
|
461
461
|
}
|
|
462
462
|
var Ke = {
|
|
463
463
|
// Угловые точки
|
|
@@ -492,38 +492,38 @@ var Ke = {
|
|
|
492
492
|
// Середина вертикалей
|
|
493
493
|
ml: {
|
|
494
494
|
render: he,
|
|
495
|
-
sizeX:
|
|
496
|
-
sizeY:
|
|
495
|
+
sizeX: G,
|
|
496
|
+
sizeY: X,
|
|
497
497
|
offsetX: 0,
|
|
498
498
|
offsetY: 0
|
|
499
499
|
},
|
|
500
500
|
mr: {
|
|
501
501
|
render: he,
|
|
502
|
-
sizeX:
|
|
503
|
-
sizeY:
|
|
502
|
+
sizeX: G,
|
|
503
|
+
sizeY: X,
|
|
504
504
|
offsetX: 0,
|
|
505
505
|
offsetY: 0
|
|
506
506
|
},
|
|
507
507
|
// Середина горизонталей
|
|
508
508
|
mt: {
|
|
509
509
|
render: ge,
|
|
510
|
-
sizeX:
|
|
511
|
-
sizeY:
|
|
510
|
+
sizeX: Q,
|
|
511
|
+
sizeY: J,
|
|
512
512
|
offsetX: 0,
|
|
513
513
|
offsetY: 0
|
|
514
514
|
},
|
|
515
515
|
mb: {
|
|
516
516
|
render: ge,
|
|
517
|
-
sizeX:
|
|
518
|
-
sizeY:
|
|
517
|
+
sizeX: Q,
|
|
518
|
+
sizeY: J,
|
|
519
519
|
offsetX: 0,
|
|
520
520
|
offsetY: 0
|
|
521
521
|
},
|
|
522
522
|
// Специальный «rotate» контрол
|
|
523
523
|
mtr: {
|
|
524
524
|
render: Je,
|
|
525
|
-
sizeX:
|
|
526
|
-
sizeY:
|
|
525
|
+
sizeX: K,
|
|
526
|
+
sizeY: K,
|
|
527
527
|
offsetX: 0,
|
|
528
528
|
offsetY: -32
|
|
529
529
|
}
|
|
@@ -544,26 +544,26 @@ class $e {
|
|
|
544
544
|
}
|
|
545
545
|
}
|
|
546
546
|
var qe = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNi44NzUgMi41YS42MjUuNjI1IDAgMCAwLS42MjUuNjI0VjYuMjVIMy4xMjVhLjYyNS42MjUgMCAwIDAtLjYyNS42MjV2MTBjMCAuMzQ1LjI4LjYyNS42MjUuNjI1aDEwYy4zNDUgMCAuNjI1LS4yOC42MjUtLjYyNXYtMy4xMjZoMy4xMjVjLjM0NSAwIC42MjUtLjI4LjYyNS0uNjI1di0xMGEuNjI1LjYyNSAwIDAgMC0uNjI1LS42MjVoLTEwWm02Ljg3NSAxMGgyLjVWMy43NUg3LjV2Mi41aDUuNjI1Yy4zNDUgMCAuNjI1LjI4LjYyNS42MjV2NS42MjRabS0xMCAzLjc1VjcuNWg4Ljc1djguNzVIMy43NVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==", et = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDcuNWMwLS42OS41Ni0xLjI1IDEuMjUtMS4yNWgxMi41Yy42OSAwIDEuMjUuNTYgMS4yNSAxLjI1djguNzVjMCAuNjktLjU2IDEuMjUtMS4yNSAxLjI1SDMuNzVjLS42OSAwLTEuMjUtLjU2LTEuMjUtMS4yNVY3LjVabTEzLjc1IDBIMy43NXY4Ljc1aDEyLjVWNy41WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMS44NzVhMi4xODggMi4xODggMCAwIDAtMi4xODggMi4xODh2Mi44MTJhLjYyNS42MjUgMCAxIDEtMS4yNSAwVjQuMDYyYTMuNDM3IDMuNDM3IDAgMSAxIDYuODc1IDB2Mi44MTNhLjYyNS42MjUgMCAxIDEtMS4yNSAwVjQuMDYyQTIuMTg4IDIuMTg4IDAgMCAwIDEwIDEuODc2WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEwIDEyLjgxM2EuOTM3LjkzNyAwIDEgMCAwLTEuODc1LjkzNy45MzcgMCAwIDAgMCAxLjg3NFoiLz48L3N2Zz4=", tt = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE2LjI1IDYuMjVINy41VjQuMzc1YTIuNSAyLjUgMCAwIDEgMi41LTIuNWMxLjIgMCAyLjI4MS44NiAyLjUxMiAyYS42MjUuNjI1IDAgMCAwIDEuMjI2LS4yNWMtLjM1NC0xLjczOC0xLjkyNS0zLTMuNzM4LTNhMy43NTQgMy43NTQgMCAwIDAtMy43NSAzLjc1VjYuMjVoLTIuNUExLjI1IDEuMjUgMCAwIDAgMi41IDcuNXY4Ljc1YTEuMjUgMS4yNSAwIDAgMCAxLjI1IDEuMjVoMTIuNWExLjI1IDEuMjUgMCAwIDAgMS4yNS0xLjI1VjcuNWExLjI1IDEuMjUgMCAwIDAtMS4yNS0xLjI1Wm0wIDEwSDMuNzVWNy41aDEyLjV2OC43NVptLTUuMzEzLTQuMzc1YS45MzcuOTM3IDAgMSAxLTEuODc0IDAgLjkzNy45MzcgMCAwIDEgMS44NzQgMFoiLz48L3N2Zz4K", at = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIuNSA4LjEyNSAxMCAxMi41bDcuNS00LjM3NUwxMCAzLjc1IDIuNSA4LjEyNVoiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05LjY4NSAzLjIxYS42MjUuNjI1IDAgMCAxIC42MyAwbDcuNSA0LjM3NWEuNjI1LjYyNSAwIDAgMSAwIDEuMDhsLTcuNSA0LjM3NWEuNjI1LjYyNSAwIDAgMS0uNjMgMGwtNy41LTQuMzc1YS42MjUuNjI1IDAgMCAxIDAtMS4wOGw3LjUtNC4zNzVaTTMuNzQgOC4xMjUgMTAgMTEuNzc2bDYuMjYtMy42NTFMMTAgNC40NzQgMy43NCA4LjEyNVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUuNCA5LjQ2YS42MjUuNjI1IDAgMCAxIC42MyAwTDEwIDExLjc3NmwzLjk3LTIuMzE2YS42MjUuNjI1IDAgMCAxIC42MyAwbDMuMjE1IDEuODc1YS42MjUuNjI1IDAgMCAxIDAgMS4wOGwtNy41IDQuMzc1YS42MjUuNjI1IDAgMCAxLS42MyAwbC03LjUtNC4zNzVhLjYyNS42MjUgMCAwIDEgMC0xLjA4TDUuNCA5LjQ2Wm0tMS42NiAyLjQxNUwxMCAxNS41MjZsNi4yNi0zLjY1MS0xLjk3NC0xLjE1MS0zLjk3MSAyLjMxNmEuNjI1LjYyNSAwIDAgMS0uNjMgMGwtMy45Ny0yLjMxNi0xLjk3NSAxLjE1MVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==", rt = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOS42ODUgMy4yMWEuNjI1LjYyNSAwIDAgMSAuNjMgMGw3LjUgNC4zNzVhLjYyNS42MjUgMCAwIDEgMCAxLjA4bC03LjUgNC4zNzVhLjYyNS42MjUgMCAwIDEtLjYzIDBsLTcuNS00LjM3NWEuNjI1LjYyNSAwIDAgMSAwLTEuMDhsNy41LTQuMzc1Wk0zLjc0IDguMTI1IDEwIDExLjc3Nmw2LjI2LTMuNjUxTDEwIDQuNDc0IDMuNzQgOC4xMjVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjcxNCAxMCAxMCAxMi41bDQuMjg2LTIuNSAzLjIxNCAxLjg3NUwxMCAxNi4yNWwtNy41LTQuMzc1TDUuNzE0IDEwWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNS40IDkuNDZhLjYyNS42MjUgMCAwIDEgLjYzIDBMMTAgMTEuNzc2bDMuOTctMi4zMTZhLjYyNS42MjUgMCAwIDEgLjYzIDBsMy4yMTUgMS44NzVhLjYyNS42MjUgMCAwIDEgMCAxLjA4bC03LjUgNC4zNzVhLjYyNS42MjUgMCAwIDEtLjYzIDBsLTcuNS00LjM3NWEuNjI1LjYyNSAwIDAgMSAwLTEuMDhMNS40IDkuNDZabS0xLjY2IDIuNDE1TDEwIDE1LjUyNmw2LjI2LTMuNjUxLTEuOTc0LTEuMTUxLTMuOTcxIDIuMzE2YS42MjUuNjI1IDAgMCAxLS42MyAwbC0zLjk3LTIuMzE2LTEuOTc1IDEuMTUxWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+", nt = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTIuNSA2LjI1IDcuNSA0LjM3NSA3LjUtNC4zNzVMMTAgMS44NzUgMi41IDYuMjVaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOS42ODUgMS4zMzVhLjYyNS42MjUgMCAwIDEgLjYzIDBsNy41IDQuMzc1YS42MjUuNjI1IDAgMCAxIDAgMS4wOGwtNy41IDQuMzc1YS42MjUuNjI1IDAgMCAxLS42MyAwbC03LjUtNC4zNzVhLjYyNS42MjUgMCAwIDEgMC0xLjA4bDcuNS00LjM3NVpNMy43NCA2LjI1IDEwIDkuOTAxbDYuMjYtMy42NTFMMTAgMi41OTkgMy43NCA2LjI1WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNS40IDExLjMzNWEuNjI1LjYyNSAwIDAgMSAuNjMgMEwxMCAxMy42NTFsMy45Ny0yLjMxNmEuNjI1LjYyNSAwIDAgMSAuNjMgMGwzLjIxNSAxLjg3NWEuNjI1LjYyNSAwIDAgMSAwIDEuMDhsLTcuNSA0LjM3NWEuNjI1LjYyNSAwIDAgMS0uNjMgMGwtNy41LTQuMzc1YS42MjUuNjI1IDAgMCAxIDAtMS4wOEw1LjQgMTEuMzM1Wk0zLjc0IDEzLjc1IDEwIDE3LjQwMWw2LjI2LTMuNjUxLTEuOTc0LTEuMTUxLTMuOTcxIDIuMzE2YS42MjUuNjI1IDAgMCAxLS42MyAwbC0zLjk3LTIuMzE2TDMuNzQgMTMuNzVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjQgNy41ODVhLjYyNS42MjUgMCAwIDEgLjYzIDBMMTAgOS45MDFsMy45Ny0yLjMxNmEuNjI1LjYyNSAwIDAgMSAuNjMgMGwzLjIxNSAxLjg3NWEuNjI1LjYyNSAwIDAgMSAwIDEuMDhsLTcuNSA0LjM3NWEuNjI1LjYyNSAwIDAgMS0uNjMgMGwtNy41LTQuMzc1YS42MjUuNjI1IDAgMCAxIDAtMS4wOEw1LjQgNy41ODVaTTMuNzQgMTAgMTAgMTMuNjUxIDE2LjI2IDEwbC0xLjk3NC0xLjE1MS0zLjk3MSAyLjMxNmEuNjI1LjYyNSAwIDAgMS0uNjMgMGwtMy45Ny0yLjMxNkwzLjc0IDEwWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+", it = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMS45NiAxMy40MzVhLjYyNS42MjUgMCAwIDEgLjg1NS0uMjI1TDEwIDE3LjQwMWw3LjE4NS00LjE5YS42MjUuNjI1IDAgMCAxIC42MyAxLjA3OWwtNy41IDQuMzc1YS42MjUuNjI1IDAgMCAxLS42MyAwbC03LjUtNC4zNzVhLjYyNS42MjUgMCAwIDEtLjIyNS0uODU1Wk05LjY4NSAxLjMzNWEuNjI1LjYyNSAwIDAgMSAuNjMgMGw3LjUgNC4zNzVhLjYyNS42MjUgMCAwIDEgMCAxLjA4bC03LjUgNC4zNzVhLjYyNS42MjUgMCAwIDEtLjYzIDBsLTcuNS00LjM3NWEuNjI1LjYyNSAwIDAgMSAwLTEuMDhsNy41LTQuMzc1Wk0zLjc0IDYuMjUgMTAgOS45MDFsNi4yNi0zLjY1MUwxMCAyLjU5OSAzLjc0IDYuMjVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im01LjcxNCAxMS44NzUgNC4yODYgMi41IDQuMjg2LTIuNUwxNy41IDEzLjc1IDEwIDE4LjEyNSAyLjUgMTMuNzVsMy4yMTQtMS44NzVaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjQgMTEuMzM1YS42MjUuNjI1IDAgMCAxIC42MyAwTDEwIDEzLjY1MWwzLjk3LTIuMzE2YS42MjUuNjI1IDAgMCAxIC42MyAwbDMuMjE1IDEuODc1YS42MjUuNjI1IDAgMCAxIDAgMS4wOGwtNy41IDQuMzc1YS42MjUuNjI1IDAgMCAxLS42MyAwbC03LjUtNC4zNzVhLjYyNS42MjUgMCAwIDEgMC0xLjA4TDUuNCAxMS4zMzVaTTMuNzQgMTMuNzUgMTAgMTcuNDAxbDYuMjYtMy42NTEtMS45NzQtMS4xNTEtMy45NzEgMi4zMTZhLjYyNS42MjUgMCAwIDEtLjYzIDBsLTMuOTctMi4zMTZMMy43NCAxMy43NVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUuNCA3LjU4NWEuNjI1LjYyNSAwIDAgMSAuNjMgMEwxMCA5LjkwMWwzLjk3LTIuMzE2YS42MjUuNjI1IDAgMCAxIC42MyAwbDMuMjE1IDEuODc1YS42MjUuNjI1IDAgMCAxIDAgMS4wOGwtNy41IDQuMzc1YS42MjUuNjI1IDAgMCAxLS42MyAwbC03LjUtNC4zNzVhLjYyNS42MjUgMCAwIDEgMC0xLjA4TDUuNCA3LjU4NVpNMy43NCAxMCAxMCAxMy42NTEgMTYuMjYgMTBsLTEuOTc0LTEuMTUxLTMuOTcxIDIuMzE2YS42MjUuNjI1IDAgMCAxLS42MyAwbC0zLjk3LTIuMzE2TDMuNzQgMTBaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=", ot = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0VDNEU0MCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOC4xMjUgMS4yNUExLjg3NSAxLjg3NSAwIDAgMCA2LjI1IDMuMTI1di42MjVIMy4xMjVhLjYyNS42MjUgMCAwIDAgMCAxLjI1aC42MjV2MTEuMjVBMS4yNSAxLjI1IDAgMCAwIDUgMTcuNWgxMGExLjI1IDEuMjUgMCAwIDAgMS4yNS0xLjI1VjVoLjYyNWEuNjI1LjYyNSAwIDAgMCAwLTEuMjVIMTMuNzV2LS42MjVhMS44NzUgMS44NzUgMCAwIDAtMS44NzUtMS44NzVoLTMuNzVabTQuMzc1IDIuNXYtLjYyNWEuNjI1LjYyNSAwIDAgMC0uNjI1LS42MjVoLTMuNzVhLjYyNS42MjUgMCAwIDAtLjYyNS42MjV2LjYyNWg1Wk01IDE2LjI1VjVoMTB2MTEuMjVINVpNOC4xMjUgNy41Yy4zNDUgMCAuNjI1LjI4LjYyNS42MjV2NWEuNjI1LjYyNSAwIDEgMS0xLjI1IDB2LTVjMC0uMzQ1LjI4LS42MjUuNjI1LS42MjVabTQuMzc1IDUuNjI1di01YS42MjUuNjI1IDAgMCAwLTEuMjUgMHY1YS42MjUuNjI1IDAgMSAwIDEuMjUgMFoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==";
|
|
547
|
-
function ve(
|
|
547
|
+
function ve(o, e, t, a, r, n, i) {
|
|
548
548
|
try {
|
|
549
|
-
var s =
|
|
549
|
+
var s = o[n](i), c = s.value;
|
|
550
550
|
} catch (u) {
|
|
551
551
|
return void t(u);
|
|
552
552
|
}
|
|
553
553
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
554
554
|
}
|
|
555
|
-
function st(
|
|
555
|
+
function st(o) {
|
|
556
556
|
return function() {
|
|
557
557
|
var e = this, t = arguments;
|
|
558
558
|
return new Promise(function(a, r) {
|
|
559
|
-
var n =
|
|
560
|
-
function
|
|
561
|
-
ve(n, a, r,
|
|
559
|
+
var n = o.apply(e, t);
|
|
560
|
+
function i(c) {
|
|
561
|
+
ve(n, a, r, i, s, "next", c);
|
|
562
562
|
}
|
|
563
563
|
function s(c) {
|
|
564
|
-
ve(n, a, r,
|
|
564
|
+
ve(n, a, r, i, s, "throw", c);
|
|
565
565
|
}
|
|
566
|
-
|
|
566
|
+
i(void 0);
|
|
567
567
|
});
|
|
568
568
|
};
|
|
569
569
|
}
|
|
@@ -637,74 +637,74 @@ const E = {
|
|
|
637
637
|
},
|
|
638
638
|
handlers: {
|
|
639
639
|
copyPaste: function() {
|
|
640
|
-
var
|
|
640
|
+
var o = st(function* (t) {
|
|
641
641
|
yield t.clipboardManager.copy(), yield t.clipboardManager.paste();
|
|
642
642
|
});
|
|
643
643
|
function e(t) {
|
|
644
|
-
return
|
|
644
|
+
return o.apply(this, arguments);
|
|
645
645
|
}
|
|
646
646
|
return e;
|
|
647
647
|
}(),
|
|
648
|
-
delete: (
|
|
649
|
-
|
|
648
|
+
delete: (o) => {
|
|
649
|
+
o.deletionManager.deleteSelectedObjects();
|
|
650
650
|
},
|
|
651
|
-
lock: (
|
|
652
|
-
|
|
651
|
+
lock: (o) => {
|
|
652
|
+
o.objectLockManager.lockObject();
|
|
653
653
|
},
|
|
654
|
-
unlock: (
|
|
655
|
-
|
|
654
|
+
unlock: (o) => {
|
|
655
|
+
o.objectLockManager.unlockObject();
|
|
656
656
|
},
|
|
657
|
-
bringForward: (
|
|
658
|
-
|
|
657
|
+
bringForward: (o) => {
|
|
658
|
+
o.layerManager.bringForward();
|
|
659
659
|
},
|
|
660
|
-
bringToFront: (
|
|
661
|
-
|
|
660
|
+
bringToFront: (o) => {
|
|
661
|
+
o.layerManager.bringToFront();
|
|
662
662
|
},
|
|
663
|
-
sendToBack: (
|
|
664
|
-
|
|
663
|
+
sendToBack: (o) => {
|
|
664
|
+
o.layerManager.sendToBack();
|
|
665
665
|
},
|
|
666
|
-
sendBackwards: (
|
|
667
|
-
|
|
666
|
+
sendBackwards: (o) => {
|
|
667
|
+
o.layerManager.sendBackwards();
|
|
668
668
|
}
|
|
669
669
|
}
|
|
670
670
|
};
|
|
671
|
-
function me(
|
|
672
|
-
var t = Object.keys(
|
|
671
|
+
function me(o, e) {
|
|
672
|
+
var t = Object.keys(o);
|
|
673
673
|
if (Object.getOwnPropertySymbols) {
|
|
674
|
-
var a = Object.getOwnPropertySymbols(
|
|
674
|
+
var a = Object.getOwnPropertySymbols(o);
|
|
675
675
|
e && (a = a.filter(function(r) {
|
|
676
|
-
return Object.getOwnPropertyDescriptor(
|
|
676
|
+
return Object.getOwnPropertyDescriptor(o, r).enumerable;
|
|
677
677
|
})), t.push.apply(t, a);
|
|
678
678
|
}
|
|
679
679
|
return t;
|
|
680
680
|
}
|
|
681
|
-
function M(
|
|
681
|
+
function M(o) {
|
|
682
682
|
for (var e = 1; e < arguments.length; e++) {
|
|
683
683
|
var t = arguments[e] != null ? arguments[e] : {};
|
|
684
684
|
e % 2 ? me(Object(t), !0).forEach(function(a) {
|
|
685
|
-
ct(
|
|
686
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(
|
|
687
|
-
Object.defineProperty(
|
|
685
|
+
ct(o, a, t[a]);
|
|
686
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(o, Object.getOwnPropertyDescriptors(t)) : me(Object(t)).forEach(function(a) {
|
|
687
|
+
Object.defineProperty(o, a, Object.getOwnPropertyDescriptor(t, a));
|
|
688
688
|
});
|
|
689
689
|
}
|
|
690
|
-
return
|
|
690
|
+
return o;
|
|
691
691
|
}
|
|
692
|
-
function ct(
|
|
693
|
-
return (e = ut(e)) in
|
|
692
|
+
function ct(o, e, t) {
|
|
693
|
+
return (e = ut(e)) in o ? Object.defineProperty(o, e, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : o[e] = t, o;
|
|
694
694
|
}
|
|
695
|
-
function ut(
|
|
696
|
-
var e = dt(
|
|
695
|
+
function ut(o) {
|
|
696
|
+
var e = dt(o, "string");
|
|
697
697
|
return typeof e == "symbol" ? e : e + "";
|
|
698
698
|
}
|
|
699
|
-
function dt(
|
|
700
|
-
if (typeof
|
|
701
|
-
var t =
|
|
699
|
+
function dt(o, e) {
|
|
700
|
+
if (typeof o != "object" || !o) return o;
|
|
701
|
+
var t = o[Symbol.toPrimitive];
|
|
702
702
|
if (t !== void 0) {
|
|
703
|
-
var a = t.call(
|
|
703
|
+
var a = t.call(o, e);
|
|
704
704
|
if (typeof a != "object") return a;
|
|
705
705
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
706
706
|
}
|
|
707
|
-
return (e === "string" ? String : Number)(
|
|
707
|
+
return (e === "string" ? String : Number)(o);
|
|
708
708
|
}
|
|
709
709
|
class lt {
|
|
710
710
|
/**
|
|
@@ -756,14 +756,14 @@ class lt {
|
|
|
756
756
|
this.el.innerHTML = "";
|
|
757
757
|
var a = function() {
|
|
758
758
|
var {
|
|
759
|
-
name:
|
|
759
|
+
name: i,
|
|
760
760
|
handle: s
|
|
761
761
|
} = r, {
|
|
762
762
|
icons: c,
|
|
763
763
|
btnStyle: u,
|
|
764
764
|
handlers: l
|
|
765
765
|
} = t.config, d = document.createElement("button");
|
|
766
|
-
d.innerHTML = c[s] ? '<img src="'.concat(c[s], '" title="').concat(
|
|
766
|
+
d.innerHTML = c[s] ? '<img src="'.concat(c[s], '" title="').concat(i, '" />') : i, Object.assign(d.style, u), d.onclick = () => {
|
|
767
767
|
var h;
|
|
768
768
|
return (h = l[s]) === null || h === void 0 ? void 0 : h.call(l, t.editor);
|
|
769
769
|
}, t.el.appendChild(d);
|
|
@@ -838,12 +838,12 @@ class lt {
|
|
|
838
838
|
canvas: r
|
|
839
839
|
} = this;
|
|
840
840
|
e.setCoords();
|
|
841
|
-
var n = r.getZoom(), [, , , ,
|
|
841
|
+
var n = r.getZoom(), [, , , , i, s] = r.viewportTransform, {
|
|
842
842
|
x: c
|
|
843
843
|
} = e.getCenterPoint(), {
|
|
844
844
|
top: u,
|
|
845
845
|
height: l
|
|
846
|
-
} = e.getBoundingRect(!1, !0), d = c * n +
|
|
846
|
+
} = e.getBoundingRect(!1, !0), d = c * n + i, h = d - t.offsetWidth / 2, g = (u + l) * n + s + a.offsetTop;
|
|
847
847
|
Object.assign(t.style, {
|
|
848
848
|
left: "".concat(h, "px"),
|
|
849
849
|
top: "".concat(g, "px"),
|
|
@@ -858,26 +858,26 @@ class lt {
|
|
|
858
858
|
this.el.removeEventListener("mouseover", this._onBtnOver), this.el.removeEventListener("mouseout", this._onBtnOut), this.canvas.off("mouse:down", this._onMouseDown), this.canvas.off("object:moving", this._onObjectMoving), this.canvas.off("object:scaling", this._onObjectScaling), this.canvas.off("object:rotating", this._onObjectRotating), this.canvas.off("mouse:up", this._onMouseUp), this.canvas.off("object:modified", this._onObjectModified), this.canvas.off("selection:created", this._onSelectionChange), this.canvas.off("selection:updated", this._onSelectionChange), this.canvas.off("selection:changed", this._onSelectionChange), this.canvas.off("after:render", this._onSelectionChange), this.canvas.off("selection:cleared", this._onSelectionClear), this.el.remove();
|
|
859
859
|
}
|
|
860
860
|
}
|
|
861
|
-
function fe(
|
|
861
|
+
function fe(o, e, t, a, r, n, i) {
|
|
862
862
|
try {
|
|
863
|
-
var s =
|
|
863
|
+
var s = o[n](i), c = s.value;
|
|
864
864
|
} catch (u) {
|
|
865
865
|
return void t(u);
|
|
866
866
|
}
|
|
867
867
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
868
868
|
}
|
|
869
|
-
function
|
|
869
|
+
function R(o) {
|
|
870
870
|
return function() {
|
|
871
871
|
var e = this, t = arguments;
|
|
872
872
|
return new Promise(function(a, r) {
|
|
873
|
-
var n =
|
|
874
|
-
function
|
|
875
|
-
fe(n, a, r,
|
|
873
|
+
var n = o.apply(e, t);
|
|
874
|
+
function i(c) {
|
|
875
|
+
fe(n, a, r, i, s, "next", c);
|
|
876
876
|
}
|
|
877
877
|
function s(c) {
|
|
878
|
-
fe(n, a, r,
|
|
878
|
+
fe(n, a, r, i, s, "throw", c);
|
|
879
879
|
}
|
|
880
|
-
|
|
880
|
+
i(void 0);
|
|
881
881
|
});
|
|
882
882
|
};
|
|
883
883
|
}
|
|
@@ -956,7 +956,7 @@ class ht {
|
|
|
956
956
|
*/
|
|
957
957
|
loadStateFromFullState(e) {
|
|
958
958
|
var t = this;
|
|
959
|
-
return
|
|
959
|
+
return R(function* () {
|
|
960
960
|
if (e) {
|
|
961
961
|
console.log("loadStateFromFullState fullState", e), yield t.canvas.loadFromJSON(e);
|
|
962
962
|
var a = t.canvas.getObjects().find((n) => n.id === "montage-area");
|
|
@@ -972,7 +972,7 @@ class ht {
|
|
|
972
972
|
*/
|
|
973
973
|
undo() {
|
|
974
974
|
var e = this;
|
|
975
|
-
return
|
|
975
|
+
return R(function* () {
|
|
976
976
|
if (!e.skipHistory) {
|
|
977
977
|
if (e.currentIndex <= 0) {
|
|
978
978
|
console.log("Нет предыдущих состояний для отмены.");
|
|
@@ -999,7 +999,7 @@ class ht {
|
|
|
999
999
|
*/
|
|
1000
1000
|
redo() {
|
|
1001
1001
|
var e = this;
|
|
1002
|
-
return
|
|
1002
|
+
return R(function* () {
|
|
1003
1003
|
if (!e.skipHistory) {
|
|
1004
1004
|
if (e.currentIndex >= e.patches.length) {
|
|
1005
1005
|
console.log("Нет состояний для повтора.");
|
|
@@ -1021,49 +1021,27 @@ class ht {
|
|
|
1021
1021
|
})();
|
|
1022
1022
|
}
|
|
1023
1023
|
}
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
montageArea: e,
|
|
1027
|
-
imageObject: t,
|
|
1028
|
-
scaleType: a = "contain"
|
|
1029
|
-
} = i;
|
|
1030
|
-
if (!e || !t) return 1;
|
|
1031
|
-
var r = e.width, n = e.height, {
|
|
1032
|
-
width: o,
|
|
1033
|
-
height: s
|
|
1034
|
-
} = t;
|
|
1035
|
-
return a === "contain" || a === "image-contain" ? Math.min(r / o, n / s) : a === "cover" || a === "image-cover" ? Math.max(r / o, n / s) : 1;
|
|
1036
|
-
}
|
|
1037
|
-
function gt() {
|
|
1038
|
-
var i = document.createElement("canvas");
|
|
1039
|
-
i.width = 20, i.height = 20;
|
|
1040
|
-
var e = i.getContext("2d");
|
|
1041
|
-
return e.fillStyle = "#ddd", e.fillRect(0, 0, 40, 40), e.fillStyle = "#ccc", e.fillRect(0, 0, 10, 10), e.fillRect(10, 10, 10, 10), new Ee({
|
|
1042
|
-
source: i,
|
|
1043
|
-
repeat: "repeat"
|
|
1044
|
-
});
|
|
1045
|
-
}
|
|
1046
|
-
var vt = 0.1, mt = 2, ft = 0.1, Mt = 90, k = 16, x = 16, D = 4096, C = 4096;
|
|
1047
|
-
function Me(i, e, t, a, r, n, o) {
|
|
1024
|
+
var gt = 0.1, vt = 2, mt = 0.1, ft = 90, k = 16, x = 16, D = 4096, C = 4096;
|
|
1025
|
+
function Me(o, e, t, a, r, n, i) {
|
|
1048
1026
|
try {
|
|
1049
|
-
var s =
|
|
1027
|
+
var s = o[n](i), c = s.value;
|
|
1050
1028
|
} catch (u) {
|
|
1051
1029
|
return void t(u);
|
|
1052
1030
|
}
|
|
1053
1031
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
1054
1032
|
}
|
|
1055
|
-
function P(
|
|
1033
|
+
function P(o) {
|
|
1056
1034
|
return function() {
|
|
1057
1035
|
var e = this, t = arguments;
|
|
1058
1036
|
return new Promise(function(a, r) {
|
|
1059
|
-
var n =
|
|
1060
|
-
function
|
|
1061
|
-
Me(n, a, r,
|
|
1037
|
+
var n = o.apply(e, t);
|
|
1038
|
+
function i(c) {
|
|
1039
|
+
Me(n, a, r, i, s, "next", c);
|
|
1062
1040
|
}
|
|
1063
1041
|
function s(c) {
|
|
1064
|
-
Me(n, a, r,
|
|
1042
|
+
Me(n, a, r, i, s, "throw", c);
|
|
1065
1043
|
}
|
|
1066
|
-
|
|
1044
|
+
i(void 0);
|
|
1067
1045
|
});
|
|
1068
1046
|
};
|
|
1069
1047
|
}
|
|
@@ -1096,7 +1074,7 @@ class L {
|
|
|
1096
1074
|
source: a,
|
|
1097
1075
|
scale: r = "image-".concat(t.options.scaleType),
|
|
1098
1076
|
withoutSave: n = !1,
|
|
1099
|
-
contentType:
|
|
1077
|
+
contentType: i = "image/png"
|
|
1100
1078
|
} = e;
|
|
1101
1079
|
if (a) {
|
|
1102
1080
|
var {
|
|
@@ -1113,33 +1091,33 @@ class L {
|
|
|
1113
1091
|
else if (typeof a == "string") {
|
|
1114
1092
|
var g = yield fetch(a, {
|
|
1115
1093
|
mode: "cors"
|
|
1116
|
-
}),
|
|
1117
|
-
type:
|
|
1094
|
+
}), v = yield g.blob({
|
|
1095
|
+
type: i,
|
|
1118
1096
|
quality: 1
|
|
1119
1097
|
});
|
|
1120
|
-
d = URL.createObjectURL(
|
|
1098
|
+
d = URL.createObjectURL(v);
|
|
1121
1099
|
} else
|
|
1122
1100
|
throw new Error("ImportImage. Неверный тип источника изображения. Ожидается URL или объект File.");
|
|
1123
1101
|
t._createdBlobUrls.push(d);
|
|
1124
|
-
var
|
|
1125
|
-
if (
|
|
1126
|
-
var j = yield
|
|
1102
|
+
var m = L.getFormatFromContentType(i);
|
|
1103
|
+
if (m === "svg") {
|
|
1104
|
+
var j = yield Ee(d);
|
|
1127
1105
|
h = z.groupSVGElements(j.objects, j.options);
|
|
1128
1106
|
} else
|
|
1129
1107
|
h = yield de.fromURL(d, {
|
|
1130
1108
|
crossOrigin: "anonymous"
|
|
1131
1109
|
});
|
|
1132
1110
|
var {
|
|
1133
|
-
width:
|
|
1111
|
+
width: f,
|
|
1134
1112
|
height: b
|
|
1135
1113
|
} = h;
|
|
1136
|
-
if (b > C ||
|
|
1114
|
+
if (b > C || f > D) {
|
|
1137
1115
|
var y = yield t.resizeImageToBoundaries(h._element.src, "max"), S = URL.createObjectURL(y);
|
|
1138
1116
|
t._createdBlobUrls.push(S), h = yield de.fromURL(S, {
|
|
1139
1117
|
crossOrigin: "anonymous"
|
|
1140
1118
|
});
|
|
1141
1119
|
}
|
|
1142
|
-
if (h.set("id", "".concat(h.type, "-").concat(I())), h.set("format",
|
|
1120
|
+
if (h.set("id", "".concat(h.type, "-").concat(I())), h.set("format", m), r === "scale-montage")
|
|
1143
1121
|
t.editor.canvasManager.scaleMontageAreaToImage({
|
|
1144
1122
|
object: h,
|
|
1145
1123
|
withoutSave: !0
|
|
@@ -1148,8 +1126,7 @@ class L {
|
|
|
1148
1126
|
var {
|
|
1149
1127
|
width: O,
|
|
1150
1128
|
height: A
|
|
1151
|
-
} = c, w =
|
|
1152
|
-
montageArea: c,
|
|
1129
|
+
} = c, w = t.calculateScaleFactor({
|
|
1153
1130
|
imageObject: h,
|
|
1154
1131
|
scaleType: r
|
|
1155
1132
|
});
|
|
@@ -1157,7 +1134,7 @@ class L {
|
|
|
1157
1134
|
object: h,
|
|
1158
1135
|
type: "contain",
|
|
1159
1136
|
withoutSave: !0
|
|
1160
|
-
}) : r === "image-cover" && (
|
|
1137
|
+
}) : r === "image-cover" && (f > O || b > A) && u.fitObject({
|
|
1161
1138
|
object: h,
|
|
1162
1139
|
type: "cover",
|
|
1163
1140
|
withoutSave: !0
|
|
@@ -1187,13 +1164,13 @@ class L {
|
|
|
1187
1164
|
console.warn("importImage. ".concat(n)), a.editor.canvas.fire("editor:warning", {
|
|
1188
1165
|
message: n
|
|
1189
1166
|
});
|
|
1190
|
-
var
|
|
1167
|
+
var i = yield a.editor.workerManager.post("resizeImage", {
|
|
1191
1168
|
dataURL: e,
|
|
1192
1169
|
maxWidth: D,
|
|
1193
1170
|
maxHeight: C,
|
|
1194
1171
|
sizeType: r
|
|
1195
1172
|
});
|
|
1196
|
-
return
|
|
1173
|
+
return i;
|
|
1197
1174
|
})();
|
|
1198
1175
|
}
|
|
1199
1176
|
/**
|
|
@@ -1214,7 +1191,7 @@ class L {
|
|
|
1214
1191
|
fileName: a = "image.png",
|
|
1215
1192
|
contentType: r = "image/png",
|
|
1216
1193
|
exportAsBase64: n = !1,
|
|
1217
|
-
exportAsBlob:
|
|
1194
|
+
exportAsBlob: i = !1
|
|
1218
1195
|
} = e.length > 0 && e[0] !== void 0 ? e[0] : {}, {
|
|
1219
1196
|
canvas: s,
|
|
1220
1197
|
montageArea: c,
|
|
@@ -1223,25 +1200,25 @@ class L {
|
|
|
1223
1200
|
c.setCoords();
|
|
1224
1201
|
var {
|
|
1225
1202
|
left: g,
|
|
1226
|
-
top:
|
|
1227
|
-
width:
|
|
1203
|
+
top: v,
|
|
1204
|
+
width: m,
|
|
1228
1205
|
height: j
|
|
1229
|
-
} = c.getBoundingRect(),
|
|
1230
|
-
["image/jpg", "image/jpeg"].includes(d) && (
|
|
1231
|
-
var b =
|
|
1232
|
-
b.visible = !1,
|
|
1233
|
-
width:
|
|
1206
|
+
} = c.getBoundingRect(), f = yield s.clone(["id", "format", "locked"]);
|
|
1207
|
+
["image/jpg", "image/jpeg"].includes(d) && (f.backgroundColor = "#ffffff");
|
|
1208
|
+
var b = f.getObjects().find((N) => N.id === c.id);
|
|
1209
|
+
b.visible = !1, f.viewportTransform = [1, 0, 0, 1, -g, -v], f.setDimensions({
|
|
1210
|
+
width: m,
|
|
1234
1211
|
height: j
|
|
1235
1212
|
}, {
|
|
1236
1213
|
backstoreOnly: !0
|
|
1237
|
-
}),
|
|
1238
|
-
var y =
|
|
1214
|
+
}), f.renderAll();
|
|
1215
|
+
var y = f.getObjects().filter((N) => N.format).every((N) => N.format === "svg");
|
|
1239
1216
|
if (h === "svg" && y) {
|
|
1240
|
-
var S =
|
|
1241
|
-
|
|
1217
|
+
var S = f.toSVG();
|
|
1218
|
+
f.dispose();
|
|
1242
1219
|
var O = L._exportSVGStringAsFile(S, {
|
|
1243
1220
|
exportAsBase64: n,
|
|
1244
|
-
exportAsBlob:
|
|
1221
|
+
exportAsBlob: i,
|
|
1245
1222
|
fileName: a
|
|
1246
1223
|
}), A = {
|
|
1247
1224
|
image: O,
|
|
@@ -1252,9 +1229,9 @@ class L {
|
|
|
1252
1229
|
return s.fire("editor:canvas-exported", A), A;
|
|
1253
1230
|
}
|
|
1254
1231
|
var w = yield new Promise((N) => {
|
|
1255
|
-
|
|
1232
|
+
f.getElement().toBlob(N);
|
|
1256
1233
|
});
|
|
1257
|
-
if (
|
|
1234
|
+
if (f.dispose(), i) {
|
|
1258
1235
|
var T = {
|
|
1259
1236
|
image: w,
|
|
1260
1237
|
format: h,
|
|
@@ -1269,13 +1246,13 @@ class L {
|
|
|
1269
1246
|
bitmap: ae
|
|
1270
1247
|
}, [ae]);
|
|
1271
1248
|
if (l) {
|
|
1272
|
-
var ne = 0.264583,
|
|
1273
|
-
orientation:
|
|
1249
|
+
var ne = 0.264583, H = m * ne, W = j * ne, we = (yield t.editor.moduleLoader.loadModule("jspdf")).jsPDF, _ = new we({
|
|
1250
|
+
orientation: H > W ? "landscape" : "portrait",
|
|
1274
1251
|
unit: "mm",
|
|
1275
|
-
format: [
|
|
1252
|
+
format: [H, W]
|
|
1276
1253
|
});
|
|
1277
|
-
if (
|
|
1278
|
-
var Ne =
|
|
1254
|
+
if (_.addImage(re, "JPG", 0, 0, H, W), n) {
|
|
1255
|
+
var Ne = _.output("datauristring"), ie = {
|
|
1279
1256
|
image: Ne,
|
|
1280
1257
|
format: "pdf",
|
|
1281
1258
|
contentType: "application/pdf",
|
|
@@ -1283,7 +1260,7 @@ class L {
|
|
|
1283
1260
|
};
|
|
1284
1261
|
return s.fire("editor:canvas-exported", ie), ie;
|
|
1285
1262
|
}
|
|
1286
|
-
var De =
|
|
1263
|
+
var De = _.output("blob"), Ce = new File([De], a, {
|
|
1287
1264
|
type: "application/pdf"
|
|
1288
1265
|
}), oe = {
|
|
1289
1266
|
image: Ce,
|
|
@@ -1331,7 +1308,7 @@ class L {
|
|
|
1331
1308
|
object: a,
|
|
1332
1309
|
fileName: r = "image.png",
|
|
1333
1310
|
contentType: n = "image/png",
|
|
1334
|
-
exportAsBase64:
|
|
1311
|
+
exportAsBase64: i = !1,
|
|
1335
1312
|
exportAsBlob: s = !1
|
|
1336
1313
|
} = e.length > 0 && e[0] !== void 0 ? e[0] : {}, {
|
|
1337
1314
|
canvas: c,
|
|
@@ -1344,29 +1321,29 @@ class L {
|
|
|
1344
1321
|
var d = L.getFormatFromContentType(n);
|
|
1345
1322
|
if (d === "svg") {
|
|
1346
1323
|
var h = l.toSVG(), g = t._exportSVGStringAsFile(h, {
|
|
1347
|
-
exportAsBase64:
|
|
1324
|
+
exportAsBase64: i,
|
|
1348
1325
|
exportAsBlob: s,
|
|
1349
1326
|
fileName: r
|
|
1350
|
-
}),
|
|
1327
|
+
}), v = {
|
|
1351
1328
|
image: g,
|
|
1352
1329
|
format: d,
|
|
1353
1330
|
contentType: "image/svg+xml",
|
|
1354
1331
|
fileName: r.replace(/\.[^/.]+$/, ".svg")
|
|
1355
1332
|
};
|
|
1356
|
-
return c.fire("editor:object-exported",
|
|
1333
|
+
return c.fire("editor:object-exported", v), v;
|
|
1357
1334
|
}
|
|
1358
|
-
if (
|
|
1359
|
-
var
|
|
1335
|
+
if (i) {
|
|
1336
|
+
var m = yield createImageBitmap(l._element), j = yield u.post("toDataURL", {
|
|
1360
1337
|
format: d,
|
|
1361
1338
|
quality: 1,
|
|
1362
|
-
bitmap:
|
|
1363
|
-
}, [
|
|
1339
|
+
bitmap: m
|
|
1340
|
+
}, [m]), f = {
|
|
1364
1341
|
image: j,
|
|
1365
1342
|
format: d,
|
|
1366
1343
|
contentType: n,
|
|
1367
1344
|
fileName: r
|
|
1368
1345
|
};
|
|
1369
|
-
return c.fire("editor:object-exported",
|
|
1346
|
+
return c.fire("editor:object-exported", f), f;
|
|
1370
1347
|
}
|
|
1371
1348
|
var b = l.toCanvasElement(), y = yield new Promise((w) => {
|
|
1372
1349
|
b.toBlob(w);
|
|
@@ -1432,8 +1409,28 @@ class L {
|
|
|
1432
1409
|
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", t = e.match(/^[^/]+\/([^+;]+)/);
|
|
1433
1410
|
return t ? t[1] : "";
|
|
1434
1411
|
}
|
|
1412
|
+
/**
|
|
1413
|
+
* Рассчитывает коэффициент масштабирования изображения.
|
|
1414
|
+
* @param {object} imageObject - объект изображения
|
|
1415
|
+
* @param {string} scaleType - тип масштабирования ('contain' или 'cover')
|
|
1416
|
+
* @returns {number} коэффициент масштабирования
|
|
1417
|
+
*/
|
|
1418
|
+
calculateScaleFactor(e) {
|
|
1419
|
+
var {
|
|
1420
|
+
imageObject: t,
|
|
1421
|
+
scaleType: a = "contain"
|
|
1422
|
+
} = e, {
|
|
1423
|
+
montageArea: r
|
|
1424
|
+
} = this.editor;
|
|
1425
|
+
if (!r || !t) return 1;
|
|
1426
|
+
var n = r.width, i = r.height, {
|
|
1427
|
+
width: s,
|
|
1428
|
+
height: c
|
|
1429
|
+
} = t;
|
|
1430
|
+
return a === "contain" || a === "image-contain" ? Math.min(n / s, i / c) : a === "cover" || a === "image-cover" ? Math.max(n / s, i / c) : 1;
|
|
1431
|
+
}
|
|
1435
1432
|
}
|
|
1436
|
-
class
|
|
1433
|
+
class Mt {
|
|
1437
1434
|
/**
|
|
1438
1435
|
* @param {object} options
|
|
1439
1436
|
* @param {ImageEditor} options.editor – экземпляр редактора
|
|
@@ -1461,15 +1458,15 @@ class jt {
|
|
|
1461
1458
|
if (e) {
|
|
1462
1459
|
var {
|
|
1463
1460
|
canvas: n,
|
|
1464
|
-
montageArea:
|
|
1461
|
+
montageArea: i,
|
|
1465
1462
|
options: {
|
|
1466
1463
|
canvasBackstoreWidth: s
|
|
1467
1464
|
}
|
|
1468
1465
|
} = this.editor, {
|
|
1469
1466
|
width: c,
|
|
1470
1467
|
height: u
|
|
1471
|
-
} =
|
|
1472
|
-
if (!s || s === "auto" || r ? this.adaptCanvasToContainer() : s ? this.setCanvasBackstoreWidth(s) : this.setCanvasBackstoreWidth(l),
|
|
1468
|
+
} = i, l = Number(Math.max(Math.min(e, D), k));
|
|
1469
|
+
if (!s || s === "auto" || r ? this.adaptCanvasToContainer() : s ? this.setCanvasBackstoreWidth(s) : this.setCanvasBackstoreWidth(l), i.set({
|
|
1473
1470
|
width: l
|
|
1474
1471
|
}), n.clipPath.set({
|
|
1475
1472
|
width: l
|
|
@@ -1480,9 +1477,9 @@ class jt {
|
|
|
1480
1477
|
}
|
|
1481
1478
|
var {
|
|
1482
1479
|
left: g,
|
|
1483
|
-
top:
|
|
1484
|
-
} = this.getObjectDefaultCoords(
|
|
1485
|
-
n.setViewportTransform([
|
|
1480
|
+
top: v
|
|
1481
|
+
} = this.getObjectDefaultCoords(i), m = n.getZoom();
|
|
1482
|
+
n.setViewportTransform([m, 0, 0, m, g, v]), this.centerMontageArea(), a || this.editor.historyManager.saveState(), n == null || n.fire("editor:resolution-width-changed", {
|
|
1486
1483
|
width: e
|
|
1487
1484
|
});
|
|
1488
1485
|
}
|
|
@@ -1504,15 +1501,15 @@ class jt {
|
|
|
1504
1501
|
if (e) {
|
|
1505
1502
|
var {
|
|
1506
1503
|
canvas: n,
|
|
1507
|
-
montageArea:
|
|
1504
|
+
montageArea: i,
|
|
1508
1505
|
options: {
|
|
1509
1506
|
canvasBackstoreHeight: s
|
|
1510
1507
|
}
|
|
1511
1508
|
} = this.editor, {
|
|
1512
1509
|
width: c,
|
|
1513
1510
|
height: u
|
|
1514
|
-
} =
|
|
1515
|
-
if (!s || s === "auto" || r ? this.adaptCanvasToContainer() : s ? this.setCanvasBackstoreHeight(s) : this.setCanvasBackstoreHeight(l),
|
|
1511
|
+
} = i, l = Number(Math.max(Math.min(e, C), x));
|
|
1512
|
+
if (!s || s === "auto" || r ? this.adaptCanvasToContainer() : s ? this.setCanvasBackstoreHeight(s) : this.setCanvasBackstoreHeight(l), i.set({
|
|
1516
1513
|
height: l
|
|
1517
1514
|
}), n.clipPath.set({
|
|
1518
1515
|
height: l
|
|
@@ -1523,9 +1520,9 @@ class jt {
|
|
|
1523
1520
|
}
|
|
1524
1521
|
var {
|
|
1525
1522
|
left: g,
|
|
1526
|
-
top:
|
|
1527
|
-
} = this.getObjectDefaultCoords(
|
|
1528
|
-
n.setViewportTransform([
|
|
1523
|
+
top: v
|
|
1524
|
+
} = this.getObjectDefaultCoords(i), m = n.getZoom();
|
|
1525
|
+
n.setViewportTransform([m, 0, 0, m, g, v]), this.centerMontageArea(), a || this.editor.historyManager.saveState(), n == null || n.fire("editor:resolution-height-changed", {
|
|
1529
1526
|
height: e
|
|
1530
1527
|
});
|
|
1531
1528
|
}
|
|
@@ -1538,7 +1535,7 @@ class jt {
|
|
|
1538
1535
|
var {
|
|
1539
1536
|
canvas: e,
|
|
1540
1537
|
montageArea: t
|
|
1541
|
-
} = this.editor, a = e.getWidth(), r = e.getHeight(), n = e.getZoom(),
|
|
1538
|
+
} = this.editor, a = e.getWidth(), r = e.getHeight(), n = e.getZoom(), i = new ke(a / 2, r / 2);
|
|
1542
1539
|
t.set({
|
|
1543
1540
|
left: a / 2,
|
|
1544
1541
|
top: r / 2
|
|
@@ -1547,7 +1544,7 @@ class jt {
|
|
|
1547
1544
|
top: r / 2
|
|
1548
1545
|
}), e.renderAll();
|
|
1549
1546
|
var s = e.viewportTransform;
|
|
1550
|
-
s[4] = a / 2 -
|
|
1547
|
+
s[4] = a / 2 - i.x * n, s[5] = r / 2 - i.y * n, e.setViewportTransform(s), e.renderAll();
|
|
1551
1548
|
}
|
|
1552
1549
|
/**
|
|
1553
1550
|
* Метод для получения координат объекта с учетом текущего зума
|
|
@@ -1565,7 +1562,7 @@ class jt {
|
|
|
1565
1562
|
var {
|
|
1566
1563
|
width: r,
|
|
1567
1564
|
height: n
|
|
1568
|
-
} = a,
|
|
1565
|
+
} = a, i = t.getZoom(), s = (r - r * i) / 2, c = (n - n * i) / 2;
|
|
1569
1566
|
return {
|
|
1570
1567
|
left: s,
|
|
1571
1568
|
top: c
|
|
@@ -1594,10 +1591,10 @@ class jt {
|
|
|
1594
1591
|
adaptCanvasToContainer() {
|
|
1595
1592
|
var {
|
|
1596
1593
|
canvas: e
|
|
1597
|
-
} = this.editor, t = e.editorContainer, a = t.clientWidth, r = t.clientHeight, n = Math.max(Math.min(a, D), k),
|
|
1598
|
-
console.log("adaptCanvasToContainer newWidth", n), console.log("adaptCanvasToContainer newHeight",
|
|
1594
|
+
} = this.editor, t = e.editorContainer, a = t.clientWidth, r = t.clientHeight, n = Math.max(Math.min(a, D), k), i = Math.max(Math.min(r, C), x);
|
|
1595
|
+
console.log("adaptCanvasToContainer newWidth", n), console.log("adaptCanvasToContainer newHeight", i), e.setDimensions({
|
|
1599
1596
|
width: n,
|
|
1600
|
-
height:
|
|
1597
|
+
height: i
|
|
1601
1598
|
}, {
|
|
1602
1599
|
backstoreOnly: !0
|
|
1603
1600
|
});
|
|
@@ -1695,23 +1692,23 @@ class jt {
|
|
|
1695
1692
|
options: {
|
|
1696
1693
|
editorContainer: n
|
|
1697
1694
|
}
|
|
1698
|
-
} = this.editor,
|
|
1695
|
+
} = this.editor, i = [];
|
|
1699
1696
|
switch (e) {
|
|
1700
1697
|
case "canvas":
|
|
1701
|
-
|
|
1698
|
+
i.push(r.lowerCanvasEl, r.upperCanvasEl);
|
|
1702
1699
|
break;
|
|
1703
1700
|
case "wrapper":
|
|
1704
|
-
|
|
1701
|
+
i.push(r.wrapperEl);
|
|
1705
1702
|
break;
|
|
1706
1703
|
case "container":
|
|
1707
|
-
|
|
1704
|
+
i.push(n);
|
|
1708
1705
|
break;
|
|
1709
1706
|
default:
|
|
1710
|
-
|
|
1707
|
+
i.push(r.lowerCanvasEl, r.upperCanvasEl);
|
|
1711
1708
|
}
|
|
1712
1709
|
var s = t === "width" ? "width" : "height";
|
|
1713
1710
|
if (typeof a == "string") {
|
|
1714
|
-
|
|
1711
|
+
i.forEach((l) => {
|
|
1715
1712
|
l.style[s] = a;
|
|
1716
1713
|
});
|
|
1717
1714
|
return;
|
|
@@ -1719,7 +1716,7 @@ class jt {
|
|
|
1719
1716
|
var c = parseFloat(a);
|
|
1720
1717
|
if (!isNaN(c)) {
|
|
1721
1718
|
var u = "".concat(c, "px");
|
|
1722
|
-
|
|
1719
|
+
i.forEach((l) => {
|
|
1723
1720
|
l.style[s] = u;
|
|
1724
1721
|
}), r.fire("editor:display-".concat(e, "-").concat(s, "-changed"), {
|
|
1725
1722
|
element: e,
|
|
@@ -1744,7 +1741,7 @@ class jt {
|
|
|
1744
1741
|
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
1745
1742
|
canvas: r,
|
|
1746
1743
|
montageArea: n,
|
|
1747
|
-
transformManager:
|
|
1744
|
+
transformManager: i,
|
|
1748
1745
|
options: {
|
|
1749
1746
|
montageAreaWidth: s,
|
|
1750
1747
|
montageAreaHeight: c
|
|
@@ -1761,23 +1758,23 @@ class jt {
|
|
|
1761
1758
|
message: h
|
|
1762
1759
|
});
|
|
1763
1760
|
}
|
|
1764
|
-
var g = Math.min(l, D),
|
|
1761
|
+
var g = Math.min(l, D), v = Math.min(d, C);
|
|
1765
1762
|
if (t) {
|
|
1766
1763
|
var {
|
|
1767
|
-
width:
|
|
1764
|
+
width: m,
|
|
1768
1765
|
height: j
|
|
1769
|
-
} = n,
|
|
1770
|
-
g =
|
|
1766
|
+
} = n, f = l / m, b = d / j, y = Math.max(f, b);
|
|
1767
|
+
g = m * y, v = j * y;
|
|
1771
1768
|
}
|
|
1772
1769
|
this.setResolutionWidth(g, {
|
|
1773
1770
|
withoutSave: !0
|
|
1774
|
-
}), this.setResolutionHeight(
|
|
1771
|
+
}), this.setResolutionHeight(v, {
|
|
1775
1772
|
withoutSave: !0
|
|
1776
|
-
}), (l > s || d > c) &&
|
|
1773
|
+
}), (l > s || d > c) && i.calculateAndApplyDefaultZoom(s, c), i.resetObject(u, {
|
|
1777
1774
|
withoutSave: !0
|
|
1778
1775
|
}), r.centerObject(u), r.renderAll(), a || this.editor.historyManager.saveState(), r.fire("editor:canvas-scaled", {
|
|
1779
1776
|
width: g,
|
|
1780
|
-
height:
|
|
1777
|
+
height: v
|
|
1781
1778
|
});
|
|
1782
1779
|
}
|
|
1783
1780
|
}
|
|
@@ -1808,12 +1805,12 @@ class jt {
|
|
|
1808
1805
|
historyManager: r,
|
|
1809
1806
|
options: {
|
|
1810
1807
|
montageAreaWidth: n,
|
|
1811
|
-
montageAreaHeight:
|
|
1808
|
+
montageAreaHeight: i
|
|
1812
1809
|
}
|
|
1813
1810
|
} = this.editor;
|
|
1814
1811
|
a.resetZoom(), this.setResolutionWidth(n, {
|
|
1815
1812
|
withoutSave: !0
|
|
1816
|
-
}), this.setResolutionHeight(
|
|
1813
|
+
}), this.setResolutionHeight(i, {
|
|
1817
1814
|
withoutSave: !0
|
|
1818
1815
|
}), t.renderAll(), a.resetObjects(), e || r.saveState(), t.fire("editor:default-scale-set");
|
|
1819
1816
|
}
|
|
@@ -1832,7 +1829,7 @@ class jt {
|
|
|
1832
1829
|
return r.filter((n) => n.id !== t.id && n.id !== a.id);
|
|
1833
1830
|
}
|
|
1834
1831
|
}
|
|
1835
|
-
class
|
|
1832
|
+
class jt {
|
|
1836
1833
|
/**
|
|
1837
1834
|
* @param {object} options
|
|
1838
1835
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -1854,7 +1851,7 @@ class yt {
|
|
|
1854
1851
|
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.options.montageAreaWidth, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.options.montageAreaHeight, {
|
|
1855
1852
|
width: a,
|
|
1856
1853
|
height: r
|
|
1857
|
-
} = this.editor.montageArea, n = e / a,
|
|
1854
|
+
} = this.editor.montageArea, n = e / a, i = t / r, s = Math.min(n, i), {
|
|
1858
1855
|
minZoom: c,
|
|
1859
1856
|
maxZoom: u,
|
|
1860
1857
|
maxZoomFactor: l
|
|
@@ -1871,16 +1868,16 @@ class yt {
|
|
|
1871
1868
|
* Если передавать координаты курсора, то нужно быть аккуратнее, так как юзер может выйти за пределы рабочей области
|
|
1872
1869
|
*/
|
|
1873
1870
|
zoom() {
|
|
1874
|
-
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] :
|
|
1871
|
+
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : mt, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1875
1872
|
if (e) {
|
|
1876
1873
|
var {
|
|
1877
1874
|
canvas: a,
|
|
1878
1875
|
minZoom: r,
|
|
1879
1876
|
maxZoom: n
|
|
1880
|
-
} = this.editor,
|
|
1877
|
+
} = this.editor, i = a.getZoom(), {
|
|
1881
1878
|
x: s = t.pointX,
|
|
1882
1879
|
y: c = t.pointY
|
|
1883
|
-
} = a.getCenterPoint(), u = Number((
|
|
1880
|
+
} = a.getCenterPoint(), u = Number((i + Number(e)).toFixed(2));
|
|
1884
1881
|
u > n && (u = n), u < r && (u = r), a.zoomToPoint({
|
|
1885
1882
|
x: Number(s),
|
|
1886
1883
|
y: Number(c)
|
|
@@ -1904,16 +1901,16 @@ class yt {
|
|
|
1904
1901
|
maxZoom: r
|
|
1905
1902
|
} = this.editor, {
|
|
1906
1903
|
x: n,
|
|
1907
|
-
y:
|
|
1904
|
+
y: i
|
|
1908
1905
|
} = t.getCenterPoint(), s = e;
|
|
1909
1906
|
e > r && (s = r), e < a && (s = a), t.zoomToPoint({
|
|
1910
1907
|
x: Number(n),
|
|
1911
|
-
y: Number(
|
|
1908
|
+
y: Number(i)
|
|
1912
1909
|
}, s), t.fire("editor:zoom-changed", {
|
|
1913
1910
|
currentZoom: t.getZoom(),
|
|
1914
1911
|
zoom: s,
|
|
1915
1912
|
pointX: n,
|
|
1916
|
-
pointY:
|
|
1913
|
+
pointY: i
|
|
1917
1914
|
});
|
|
1918
1915
|
}
|
|
1919
1916
|
/**
|
|
@@ -1943,16 +1940,16 @@ class yt {
|
|
|
1943
1940
|
* @fires editor:object-rotated
|
|
1944
1941
|
*/
|
|
1945
1942
|
rotate() {
|
|
1946
|
-
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] :
|
|
1943
|
+
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ft, {
|
|
1947
1944
|
withoutSave: t
|
|
1948
1945
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
1949
1946
|
canvas: a,
|
|
1950
1947
|
historyManager: r
|
|
1951
1948
|
} = this.editor, n = a.getActiveObject();
|
|
1952
1949
|
if (n) {
|
|
1953
|
-
var
|
|
1954
|
-
n.rotate(
|
|
1955
|
-
angle:
|
|
1950
|
+
var i = n.angle + e;
|
|
1951
|
+
n.rotate(i), n.setCoords(), a.renderAll(), t || r.saveState(), a.fire("editor:object-rotated", {
|
|
1952
|
+
angle: i
|
|
1956
1953
|
});
|
|
1957
1954
|
}
|
|
1958
1955
|
}
|
|
@@ -1999,10 +1996,10 @@ class yt {
|
|
|
1999
1996
|
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
2000
1997
|
canvas: r,
|
|
2001
1998
|
historyManager: n
|
|
2002
|
-
} = this.editor,
|
|
2003
|
-
|
|
1999
|
+
} = this.editor, i = e || r.getActiveObject();
|
|
2000
|
+
i && (i.type === "activeselection" ? i.getObjects().forEach((s) => {
|
|
2004
2001
|
s.set("opacity", t);
|
|
2005
|
-
}) :
|
|
2002
|
+
}) : i.set("opacity", t), r.renderAll(), a || n.saveState(), r.fire("editor:object-opacity-changed", t));
|
|
2006
2003
|
}
|
|
2007
2004
|
/**
|
|
2008
2005
|
* Масштабирование изображения
|
|
@@ -2023,33 +2020,32 @@ class yt {
|
|
|
2023
2020
|
fitAsOneObject: r
|
|
2024
2021
|
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
2025
2022
|
canvas: n,
|
|
2026
|
-
montageArea:
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
imageObject:
|
|
2023
|
+
montageArea: i,
|
|
2024
|
+
imageManager: s,
|
|
2025
|
+
historyManager: c
|
|
2026
|
+
} = this.editor, u = e || n.getActiveObject();
|
|
2027
|
+
if (u) {
|
|
2028
|
+
if (["activeselection"].includes(u.type) && !r) {
|
|
2029
|
+
var l = u.getObjects();
|
|
2030
|
+
n.discardActiveObject(), l.forEach((g) => {
|
|
2031
|
+
var v = s.calculateScaleFactor({
|
|
2032
|
+
imageObject: g,
|
|
2036
2033
|
scaleType: t
|
|
2037
2034
|
});
|
|
2038
|
-
|
|
2035
|
+
g.scale(v), n.centerObject(g);
|
|
2039
2036
|
});
|
|
2040
|
-
var
|
|
2037
|
+
var d = new Z(l, {
|
|
2041
2038
|
canvas: n
|
|
2042
2039
|
});
|
|
2043
|
-
n.setActiveObject(
|
|
2040
|
+
n.setActiveObject(d);
|
|
2044
2041
|
} else {
|
|
2045
|
-
var
|
|
2046
|
-
|
|
2047
|
-
imageObject: c,
|
|
2042
|
+
var h = s.calculateScaleFactor({
|
|
2043
|
+
imageObject: u,
|
|
2048
2044
|
scaleType: t
|
|
2049
2045
|
});
|
|
2050
|
-
|
|
2046
|
+
u.scale(h), n.centerObject(u);
|
|
2051
2047
|
}
|
|
2052
|
-
n.renderAll(), a ||
|
|
2048
|
+
n.renderAll(), a || c.saveState(), n.fire("editor:image-fitted", {
|
|
2053
2049
|
type: t
|
|
2054
2050
|
});
|
|
2055
2051
|
}
|
|
@@ -2076,52 +2072,52 @@ class yt {
|
|
|
2076
2072
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
2077
2073
|
canvas: r,
|
|
2078
2074
|
montageArea: n,
|
|
2079
|
-
|
|
2075
|
+
imageManager: i,
|
|
2076
|
+
historyManager: s,
|
|
2080
2077
|
options: {
|
|
2081
|
-
scaleType:
|
|
2078
|
+
scaleType: c
|
|
2082
2079
|
}
|
|
2083
|
-
} = this.editor,
|
|
2084
|
-
if (!(!
|
|
2085
|
-
if (
|
|
2080
|
+
} = this.editor, u = e || r.getActiveObject();
|
|
2081
|
+
if (!(!u || u.locked)) {
|
|
2082
|
+
if (s.suspendHistory(), u.type !== "image" && u.format !== "svg" && (u.set({
|
|
2086
2083
|
scaleX: 1,
|
|
2087
2084
|
scaleY: 1,
|
|
2088
2085
|
flipX: !1,
|
|
2089
2086
|
flipY: !1,
|
|
2090
2087
|
angle: 0
|
|
2091
|
-
}), r.centerObject(
|
|
2088
|
+
}), r.centerObject(u), r.renderAll()), t)
|
|
2092
2089
|
this.fitObject({
|
|
2093
|
-
object:
|
|
2090
|
+
object: u,
|
|
2094
2091
|
withoutSave: !0
|
|
2095
2092
|
});
|
|
2096
2093
|
else {
|
|
2097
2094
|
var {
|
|
2098
|
-
width:
|
|
2099
|
-
height:
|
|
2095
|
+
width: l,
|
|
2096
|
+
height: d
|
|
2100
2097
|
} = n, {
|
|
2101
|
-
width:
|
|
2102
|
-
height:
|
|
2103
|
-
} =
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
scaleType: s
|
|
2098
|
+
width: h,
|
|
2099
|
+
height: g
|
|
2100
|
+
} = u, v = i.calculateScaleFactor({
|
|
2101
|
+
imageObject: u,
|
|
2102
|
+
scaleType: c
|
|
2107
2103
|
});
|
|
2108
|
-
|
|
2109
|
-
object:
|
|
2104
|
+
c === "contain" && v < 1 || c === "cover" && (h > l || g > d) ? this.fitObject({
|
|
2105
|
+
object: u,
|
|
2110
2106
|
withoutSave: !0
|
|
2111
|
-
}) :
|
|
2107
|
+
}) : u.set({
|
|
2112
2108
|
scaleX: 1,
|
|
2113
2109
|
scaleY: 1
|
|
2114
2110
|
});
|
|
2115
2111
|
}
|
|
2116
|
-
|
|
2112
|
+
u.set({
|
|
2117
2113
|
flipX: !1,
|
|
2118
2114
|
flipY: !1,
|
|
2119
2115
|
angle: 0
|
|
2120
|
-
}), r.centerObject(
|
|
2116
|
+
}), r.centerObject(u), r.renderAll(), s.resumeHistory(), a || s.saveState(), r.fire("editor:object-reset");
|
|
2121
2117
|
}
|
|
2122
2118
|
}
|
|
2123
2119
|
}
|
|
2124
|
-
class
|
|
2120
|
+
class yt {
|
|
2125
2121
|
/**
|
|
2126
2122
|
* @param {object} options
|
|
2127
2123
|
* @param {ImageEditor} options.editor – экземпляр редактора
|
|
@@ -2172,13 +2168,13 @@ class pt {
|
|
|
2172
2168
|
var {
|
|
2173
2169
|
left: r,
|
|
2174
2170
|
top: n,
|
|
2175
|
-
width:
|
|
2171
|
+
width: i,
|
|
2176
2172
|
height: s
|
|
2177
2173
|
} = t.getBoundingRect();
|
|
2178
2174
|
this.overlayMask.set({
|
|
2179
2175
|
left: r,
|
|
2180
2176
|
top: n,
|
|
2181
|
-
width:
|
|
2177
|
+
width: i,
|
|
2182
2178
|
height: s
|
|
2183
2179
|
}), e.discardActiveObject(), this.editor.layerManager.bringToFront(this.overlayMask, {
|
|
2184
2180
|
withoutSave: !0
|
|
@@ -2221,7 +2217,7 @@ class pt {
|
|
|
2221
2217
|
}
|
|
2222
2218
|
}
|
|
2223
2219
|
}
|
|
2224
|
-
class
|
|
2220
|
+
class Y {
|
|
2225
2221
|
/**
|
|
2226
2222
|
* @param {object} options
|
|
2227
2223
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -2248,8 +2244,8 @@ class H {
|
|
|
2248
2244
|
} = this.editor;
|
|
2249
2245
|
r.suspendHistory();
|
|
2250
2246
|
var n = e || a.getActiveObject();
|
|
2251
|
-
n && (n.type === "activeselection" ? n.getObjects().forEach((
|
|
2252
|
-
a.bringObjectToFront(
|
|
2247
|
+
n && (n.type === "activeselection" ? n.getObjects().forEach((i) => {
|
|
2248
|
+
a.bringObjectToFront(i);
|
|
2253
2249
|
}) : a.bringObjectToFront(n), a.renderAll(), r.resumeHistory(), t || r.saveState(), a.fire("editor:object-bring-to-front"));
|
|
2254
2250
|
}
|
|
2255
2251
|
/**
|
|
@@ -2268,7 +2264,7 @@ class H {
|
|
|
2268
2264
|
} = this.editor;
|
|
2269
2265
|
r.suspendHistory();
|
|
2270
2266
|
var n = e || a.getActiveObject();
|
|
2271
|
-
n && (n.type === "activeselection" ?
|
|
2267
|
+
n && (n.type === "activeselection" ? Y._moveSelectionForward(a, n) : a.bringObjectForward(n), a.renderAll(), r.resumeHistory(), t || r.saveState(), a.fire("editor:object-bring-forward"));
|
|
2272
2268
|
}
|
|
2273
2269
|
/**
|
|
2274
2270
|
* Отправить объект на задний план по оси Z
|
|
@@ -2285,7 +2281,7 @@ class H {
|
|
|
2285
2281
|
montageArea: r,
|
|
2286
2282
|
historyManager: n,
|
|
2287
2283
|
interactionBlocker: {
|
|
2288
|
-
overlayMask:
|
|
2284
|
+
overlayMask: i
|
|
2289
2285
|
}
|
|
2290
2286
|
} = this.editor;
|
|
2291
2287
|
n.suspendHistory();
|
|
@@ -2296,7 +2292,7 @@ class H {
|
|
|
2296
2292
|
a.sendObjectToBack(c[u]);
|
|
2297
2293
|
else
|
|
2298
2294
|
a.sendObjectToBack(s);
|
|
2299
|
-
a.sendObjectToBack(r), a.sendObjectToBack(
|
|
2295
|
+
a.sendObjectToBack(r), a.sendObjectToBack(i), a.renderAll(), n.resumeHistory(), t || n.saveState(), a.fire("editor:object-send-to-back");
|
|
2300
2296
|
}
|
|
2301
2297
|
}
|
|
2302
2298
|
/**
|
|
@@ -2313,12 +2309,12 @@ class H {
|
|
|
2313
2309
|
montageArea: r,
|
|
2314
2310
|
historyManager: n,
|
|
2315
2311
|
interactionBlocker: {
|
|
2316
|
-
overlayMask:
|
|
2312
|
+
overlayMask: i
|
|
2317
2313
|
}
|
|
2318
2314
|
} = this.editor;
|
|
2319
2315
|
n.suspendHistory();
|
|
2320
2316
|
var s = e || a.getActiveObject();
|
|
2321
|
-
s && (s.type === "activeselection" ?
|
|
2317
|
+
s && (s.type === "activeselection" ? Y._moveSelectionBackwards(a, s) : a.sendObjectBackwards(s), a.sendObjectToBack(r), a.sendObjectToBack(i), a.renderAll(), n.resumeHistory(), t || n.saveState(), a.fire("editor:object-send-backwards"));
|
|
2322
2318
|
}
|
|
2323
2319
|
/**
|
|
2324
2320
|
* Сдвигает выделенные объекты на один уровень вверх относительно ближайшего верхнего объекта
|
|
@@ -2328,20 +2324,20 @@ class H {
|
|
|
2328
2324
|
* @private
|
|
2329
2325
|
*/
|
|
2330
2326
|
static _moveSelectionForward(e, t) {
|
|
2331
|
-
for (var a = e.getObjects(), r = t.getObjects(), n = r.map((l) => a.indexOf(l)),
|
|
2327
|
+
for (var a = e.getObjects(), r = t.getObjects(), n = r.map((l) => a.indexOf(l)), i = -1, s = function(d) {
|
|
2332
2328
|
var h = a[d];
|
|
2333
2329
|
if (!r.includes(h) && n.some((g) => d > g))
|
|
2334
|
-
return
|
|
2330
|
+
return i = d, 1;
|
|
2335
2331
|
}, c = 0; c < a.length && !s(c); c += 1)
|
|
2336
2332
|
;
|
|
2337
|
-
if (
|
|
2333
|
+
if (i !== -1) {
|
|
2338
2334
|
var u = r.map((l) => ({
|
|
2339
2335
|
obj: l,
|
|
2340
2336
|
index: a.indexOf(l)
|
|
2341
2337
|
})).sort((l, d) => d.index - l.index);
|
|
2342
2338
|
u.forEach((l) => {
|
|
2343
2339
|
var d = a.indexOf(l.obj);
|
|
2344
|
-
d <
|
|
2340
|
+
d < i && (e.moveObjectTo(l.obj, i), i = d);
|
|
2345
2341
|
});
|
|
2346
2342
|
}
|
|
2347
2343
|
}
|
|
@@ -2353,68 +2349,68 @@ class H {
|
|
|
2353
2349
|
* @private
|
|
2354
2350
|
*/
|
|
2355
2351
|
static _moveSelectionBackwards(e, t) {
|
|
2356
|
-
for (var a = e.getObjects(), r = t.getObjects(), n = Math.min(...r.map((s) => a.indexOf(s))),
|
|
2357
|
-
e.moveObjectTo(r[
|
|
2352
|
+
for (var a = e.getObjects(), r = t.getObjects(), n = Math.min(...r.map((s) => a.indexOf(s))), i = r.length - 1; i >= 0; i -= 1)
|
|
2353
|
+
e.moveObjectTo(r[i], n - 1);
|
|
2358
2354
|
}
|
|
2359
2355
|
}
|
|
2360
|
-
var
|
|
2361
|
-
function je(
|
|
2362
|
-
var t = Object.keys(
|
|
2356
|
+
var pt = ["id", "left", "top", "width", "height", "fill"], bt = ["id", "left", "top", "radius", "fill"], It = ["id", "left", "top", "width", "height", "fill"];
|
|
2357
|
+
function je(o, e) {
|
|
2358
|
+
var t = Object.keys(o);
|
|
2363
2359
|
if (Object.getOwnPropertySymbols) {
|
|
2364
|
-
var a = Object.getOwnPropertySymbols(
|
|
2360
|
+
var a = Object.getOwnPropertySymbols(o);
|
|
2365
2361
|
e && (a = a.filter(function(r) {
|
|
2366
|
-
return Object.getOwnPropertyDescriptor(
|
|
2362
|
+
return Object.getOwnPropertyDescriptor(o, r).enumerable;
|
|
2367
2363
|
})), t.push.apply(t, a);
|
|
2368
2364
|
}
|
|
2369
2365
|
return t;
|
|
2370
2366
|
}
|
|
2371
|
-
function
|
|
2367
|
+
function V(o) {
|
|
2372
2368
|
for (var e = 1; e < arguments.length; e++) {
|
|
2373
2369
|
var t = arguments[e] != null ? arguments[e] : {};
|
|
2374
2370
|
e % 2 ? je(Object(t), !0).forEach(function(a) {
|
|
2375
|
-
|
|
2376
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(
|
|
2377
|
-
Object.defineProperty(
|
|
2371
|
+
St(o, a, t[a]);
|
|
2372
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(o, Object.getOwnPropertyDescriptors(t)) : je(Object(t)).forEach(function(a) {
|
|
2373
|
+
Object.defineProperty(o, a, Object.getOwnPropertyDescriptor(t, a));
|
|
2378
2374
|
});
|
|
2379
2375
|
}
|
|
2380
|
-
return
|
|
2376
|
+
return o;
|
|
2381
2377
|
}
|
|
2382
|
-
function
|
|
2383
|
-
return (e =
|
|
2378
|
+
function St(o, e, t) {
|
|
2379
|
+
return (e = At(e)) in o ? Object.defineProperty(o, e, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : o[e] = t, o;
|
|
2384
2380
|
}
|
|
2385
|
-
function
|
|
2386
|
-
var e =
|
|
2381
|
+
function At(o) {
|
|
2382
|
+
var e = wt(o, "string");
|
|
2387
2383
|
return typeof e == "symbol" ? e : e + "";
|
|
2388
2384
|
}
|
|
2389
|
-
function
|
|
2390
|
-
if (typeof
|
|
2391
|
-
var t =
|
|
2385
|
+
function wt(o, e) {
|
|
2386
|
+
if (typeof o != "object" || !o) return o;
|
|
2387
|
+
var t = o[Symbol.toPrimitive];
|
|
2392
2388
|
if (t !== void 0) {
|
|
2393
|
-
var a = t.call(
|
|
2389
|
+
var a = t.call(o, e);
|
|
2394
2390
|
if (typeof a != "object") return a;
|
|
2395
2391
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
2396
2392
|
}
|
|
2397
|
-
return (e === "string" ? String : Number)(
|
|
2393
|
+
return (e === "string" ? String : Number)(o);
|
|
2398
2394
|
}
|
|
2399
|
-
function
|
|
2400
|
-
if (
|
|
2401
|
-
var t, a, r =
|
|
2395
|
+
function F(o, e) {
|
|
2396
|
+
if (o == null) return {};
|
|
2397
|
+
var t, a, r = Nt(o, e);
|
|
2402
2398
|
if (Object.getOwnPropertySymbols) {
|
|
2403
|
-
var n = Object.getOwnPropertySymbols(
|
|
2404
|
-
for (a = 0; a < n.length; a++) t = n[a], e.indexOf(t) === -1 && {}.propertyIsEnumerable.call(
|
|
2399
|
+
var n = Object.getOwnPropertySymbols(o);
|
|
2400
|
+
for (a = 0; a < n.length; a++) t = n[a], e.indexOf(t) === -1 && {}.propertyIsEnumerable.call(o, t) && (r[t] = o[t]);
|
|
2405
2401
|
}
|
|
2406
2402
|
return r;
|
|
2407
2403
|
}
|
|
2408
|
-
function
|
|
2409
|
-
if (
|
|
2404
|
+
function Nt(o, e) {
|
|
2405
|
+
if (o == null) return {};
|
|
2410
2406
|
var t = {};
|
|
2411
|
-
for (var a in
|
|
2407
|
+
for (var a in o) if ({}.hasOwnProperty.call(o, a)) {
|
|
2412
2408
|
if (e.indexOf(a) !== -1) continue;
|
|
2413
|
-
t[a] =
|
|
2409
|
+
t[a] = o[a];
|
|
2414
2410
|
}
|
|
2415
2411
|
return t;
|
|
2416
2412
|
}
|
|
2417
|
-
class
|
|
2413
|
+
class Dt {
|
|
2418
2414
|
/**
|
|
2419
2415
|
* @param {object} options
|
|
2420
2416
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -2446,19 +2442,19 @@ class Ct {
|
|
|
2446
2442
|
left: a,
|
|
2447
2443
|
top: r,
|
|
2448
2444
|
width: n = 100,
|
|
2449
|
-
height:
|
|
2445
|
+
height: i = 100,
|
|
2450
2446
|
fill: s = "blue"
|
|
2451
|
-
} = e, c =
|
|
2447
|
+
} = e, c = F(e, pt), {
|
|
2452
2448
|
withoutSelection: u,
|
|
2453
2449
|
withoutAdding: l
|
|
2454
2450
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
2455
2451
|
canvas: d
|
|
2456
|
-
} = this.editor, h = new
|
|
2452
|
+
} = this.editor, h = new xe(V({
|
|
2457
2453
|
id: t,
|
|
2458
2454
|
left: a,
|
|
2459
2455
|
top: r,
|
|
2460
2456
|
width: n,
|
|
2461
|
-
height:
|
|
2457
|
+
height: i,
|
|
2462
2458
|
fill: s
|
|
2463
2459
|
}, c));
|
|
2464
2460
|
return !a && !r && d.centerObject(h), l || (d.add(h), u || d.setActiveObject(h), d.renderAll()), h;
|
|
@@ -2483,17 +2479,17 @@ class Ct {
|
|
|
2483
2479
|
left: a,
|
|
2484
2480
|
top: r,
|
|
2485
2481
|
radius: n = 50,
|
|
2486
|
-
fill:
|
|
2487
|
-
} = e, s =
|
|
2482
|
+
fill: i = "green"
|
|
2483
|
+
} = e, s = F(e, bt), {
|
|
2488
2484
|
withoutSelection: c,
|
|
2489
2485
|
withoutAdding: u
|
|
2490
2486
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
2491
2487
|
canvas: l
|
|
2492
|
-
} = this.editor, d = new
|
|
2488
|
+
} = this.editor, d = new Be(V({
|
|
2493
2489
|
id: t,
|
|
2494
2490
|
left: a,
|
|
2495
2491
|
top: r,
|
|
2496
|
-
fill:
|
|
2492
|
+
fill: i,
|
|
2497
2493
|
radius: n
|
|
2498
2494
|
}, s));
|
|
2499
2495
|
return !a && !r && l.centerObject(d), u || (l.add(d), c || l.setActiveObject(d), l.renderAll()), d;
|
|
@@ -2519,48 +2515,48 @@ class Ct {
|
|
|
2519
2515
|
left: a,
|
|
2520
2516
|
top: r,
|
|
2521
2517
|
width: n = 100,
|
|
2522
|
-
height:
|
|
2518
|
+
height: i = 100,
|
|
2523
2519
|
fill: s = "yellow"
|
|
2524
|
-
} = e, c =
|
|
2520
|
+
} = e, c = F(e, It), {
|
|
2525
2521
|
withoutSelection: u,
|
|
2526
2522
|
withoutAdding: l
|
|
2527
2523
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
2528
2524
|
canvas: d
|
|
2529
|
-
} = this.editor, h = new
|
|
2525
|
+
} = this.editor, h = new Ze(V({
|
|
2530
2526
|
id: t,
|
|
2531
2527
|
left: a,
|
|
2532
2528
|
top: r,
|
|
2533
2529
|
fill: s,
|
|
2534
2530
|
width: n,
|
|
2535
|
-
height:
|
|
2531
|
+
height: i
|
|
2536
2532
|
}, c));
|
|
2537
2533
|
return !a && !r && d.centerObject(h), l || (d.add(h), u || d.setActiveObject(h), d.renderAll()), h;
|
|
2538
2534
|
}
|
|
2539
2535
|
}
|
|
2540
|
-
function ye(
|
|
2536
|
+
function ye(o, e, t, a, r, n, i) {
|
|
2541
2537
|
try {
|
|
2542
|
-
var s =
|
|
2538
|
+
var s = o[n](i), c = s.value;
|
|
2543
2539
|
} catch (u) {
|
|
2544
2540
|
return void t(u);
|
|
2545
2541
|
}
|
|
2546
2542
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
2547
2543
|
}
|
|
2548
|
-
function pe(
|
|
2544
|
+
function pe(o) {
|
|
2549
2545
|
return function() {
|
|
2550
2546
|
var e = this, t = arguments;
|
|
2551
2547
|
return new Promise(function(a, r) {
|
|
2552
|
-
var n =
|
|
2553
|
-
function
|
|
2554
|
-
ye(n, a, r,
|
|
2548
|
+
var n = o.apply(e, t);
|
|
2549
|
+
function i(c) {
|
|
2550
|
+
ye(n, a, r, i, s, "next", c);
|
|
2555
2551
|
}
|
|
2556
2552
|
function s(c) {
|
|
2557
|
-
ye(n, a, r,
|
|
2553
|
+
ye(n, a, r, i, s, "throw", c);
|
|
2558
2554
|
}
|
|
2559
|
-
|
|
2555
|
+
i(void 0);
|
|
2560
2556
|
});
|
|
2561
2557
|
};
|
|
2562
2558
|
}
|
|
2563
|
-
class
|
|
2559
|
+
class Ct {
|
|
2564
2560
|
/**
|
|
2565
2561
|
* @param {object} options
|
|
2566
2562
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -2599,10 +2595,10 @@ class Lt {
|
|
|
2599
2595
|
});
|
|
2600
2596
|
return;
|
|
2601
2597
|
}
|
|
2602
|
-
var n = r.toCanvasElement(),
|
|
2598
|
+
var n = r.toCanvasElement(), i = yield new Promise((u) => {
|
|
2603
2599
|
n.toBlob(u);
|
|
2604
2600
|
}), s = new ClipboardItem({
|
|
2605
|
-
[
|
|
2601
|
+
[i.type]: i
|
|
2606
2602
|
});
|
|
2607
2603
|
yield navigator.clipboard.write([s]), t.fire("editor:object-copied", {
|
|
2608
2604
|
object: r
|
|
@@ -2641,7 +2637,7 @@ class Lt {
|
|
|
2641
2637
|
})();
|
|
2642
2638
|
}
|
|
2643
2639
|
}
|
|
2644
|
-
class
|
|
2640
|
+
class Lt {
|
|
2645
2641
|
/**
|
|
2646
2642
|
* @param {object} options
|
|
2647
2643
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -2668,8 +2664,8 @@ class Ot {
|
|
|
2668
2664
|
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
2669
2665
|
canvas: r,
|
|
2670
2666
|
historyManager: n
|
|
2671
|
-
} = this.editor,
|
|
2672
|
-
if (!(!
|
|
2667
|
+
} = this.editor, i = e || r.getActiveObject();
|
|
2668
|
+
if (!(!i || i.locked)) {
|
|
2673
2669
|
var s = {
|
|
2674
2670
|
lockMovementX: !0,
|
|
2675
2671
|
lockMovementY: !0,
|
|
@@ -2680,12 +2676,12 @@ class Ot {
|
|
|
2680
2676
|
lockSkewingY: !0,
|
|
2681
2677
|
locked: !0
|
|
2682
2678
|
};
|
|
2683
|
-
|
|
2684
|
-
var c = !t && ["activeselection", "group"].includes(
|
|
2685
|
-
c &&
|
|
2679
|
+
i.set(s);
|
|
2680
|
+
var c = !t && ["activeselection", "group"].includes(i.type);
|
|
2681
|
+
c && i.getObjects().forEach((u) => {
|
|
2686
2682
|
u.set(s);
|
|
2687
2683
|
}), r.renderAll(), a || n.saveState(), r.fire("editor:object-locked", {
|
|
2688
|
-
object:
|
|
2684
|
+
object: i
|
|
2689
2685
|
});
|
|
2690
2686
|
}
|
|
2691
2687
|
}
|
|
@@ -2706,7 +2702,7 @@ class Ot {
|
|
|
2706
2702
|
historyManager: r
|
|
2707
2703
|
} = this.editor, n = e || a.getActiveObject();
|
|
2708
2704
|
if (n) {
|
|
2709
|
-
var
|
|
2705
|
+
var i = {
|
|
2710
2706
|
lockMovementX: !1,
|
|
2711
2707
|
lockMovementY: !1,
|
|
2712
2708
|
lockRotation: !1,
|
|
@@ -2716,15 +2712,15 @@ class Ot {
|
|
|
2716
2712
|
lockSkewingY: !1,
|
|
2717
2713
|
locked: !1
|
|
2718
2714
|
};
|
|
2719
|
-
n.set(
|
|
2720
|
-
s.set(
|
|
2715
|
+
n.set(i), ["activeselection", "group"].includes(n.type) && n.getObjects().forEach((s) => {
|
|
2716
|
+
s.set(i);
|
|
2721
2717
|
}), a.renderAll(), t || r.saveState(), a.fire("editor:object-unlocked", {
|
|
2722
2718
|
object: n
|
|
2723
2719
|
});
|
|
2724
2720
|
}
|
|
2725
2721
|
}
|
|
2726
2722
|
}
|
|
2727
|
-
class
|
|
2723
|
+
class Ot {
|
|
2728
2724
|
/**
|
|
2729
2725
|
* @param {object} options
|
|
2730
2726
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -2753,8 +2749,8 @@ class Tt {
|
|
|
2753
2749
|
r.suspendHistory();
|
|
2754
2750
|
var n = e || a.getActiveObject();
|
|
2755
2751
|
if (n && n.type === "activeselection") {
|
|
2756
|
-
var
|
|
2757
|
-
|
|
2752
|
+
var i = n.getObjects(), s = new ze(i);
|
|
2753
|
+
i.forEach((c) => a.remove(c)), s.set("id", "".concat(s.type, "-").concat(I())), a.add(s), a.setActiveObject(s), a.renderAll(), r.resumeHistory(), t || r.saveState(), a.fire("editor:objects-grouped");
|
|
2758
2754
|
}
|
|
2759
2755
|
}
|
|
2760
2756
|
/**
|
|
@@ -2775,16 +2771,16 @@ class Tt {
|
|
|
2775
2771
|
r.suspendHistory();
|
|
2776
2772
|
var n = e || a.getActiveObject();
|
|
2777
2773
|
if (!(!n || n.type !== "group")) {
|
|
2778
|
-
var
|
|
2779
|
-
a.remove(n),
|
|
2780
|
-
var s = new Z(
|
|
2774
|
+
var i = n.removeAll();
|
|
2775
|
+
a.remove(n), i.forEach((c) => a.add(c));
|
|
2776
|
+
var s = new Z(i, {
|
|
2781
2777
|
canvas: a
|
|
2782
2778
|
});
|
|
2783
2779
|
a.setActiveObject(s), a.renderAll(), r.resumeHistory(), t || r.saveState(), a.fire("editor:objects-ungrouped");
|
|
2784
2780
|
}
|
|
2785
2781
|
}
|
|
2786
2782
|
}
|
|
2787
|
-
class
|
|
2783
|
+
class Tt {
|
|
2788
2784
|
/**
|
|
2789
2785
|
* @param {object} options
|
|
2790
2786
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -2806,19 +2802,19 @@ class Et {
|
|
|
2806
2802
|
objectLockManager: a
|
|
2807
2803
|
} = this.editor;
|
|
2808
2804
|
e.discardActiveObject();
|
|
2809
|
-
var r = t.getObjects(), n = r.some((s) => s.locked),
|
|
2805
|
+
var r = t.getObjects(), n = r.some((s) => s.locked), i = r.length > 1 ? new Z(t.getObjects(), {
|
|
2810
2806
|
canvas: e
|
|
2811
2807
|
}) : r[0];
|
|
2812
2808
|
n && a.lockObject({
|
|
2813
|
-
object:
|
|
2809
|
+
object: i,
|
|
2814
2810
|
skipInnerObjects: !0,
|
|
2815
2811
|
withoutSave: !0
|
|
2816
|
-
}), e.setActiveObject(
|
|
2817
|
-
selected:
|
|
2812
|
+
}), e.setActiveObject(i), e.requestRenderAll(), e.fire("editor:all-objects-selected", {
|
|
2813
|
+
selected: i
|
|
2818
2814
|
});
|
|
2819
2815
|
}
|
|
2820
2816
|
}
|
|
2821
|
-
class
|
|
2817
|
+
class Et {
|
|
2822
2818
|
/**
|
|
2823
2819
|
* @param {object} options
|
|
2824
2820
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -2843,40 +2839,40 @@ class kt {
|
|
|
2843
2839
|
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
2844
2840
|
canvas: a,
|
|
2845
2841
|
historyManager: r
|
|
2846
|
-
} = this.editor, n = (e || a.getActiveObjects()).filter((
|
|
2847
|
-
n != null && n.length && (r.suspendHistory(), n.forEach((
|
|
2848
|
-
if (
|
|
2849
|
-
this.ungroup(
|
|
2842
|
+
} = this.editor, n = (e || a.getActiveObjects()).filter((i) => !i.locked);
|
|
2843
|
+
n != null && n.length && (r.suspendHistory(), n.forEach((i) => {
|
|
2844
|
+
if (i.type === "group" && i.format !== "svg") {
|
|
2845
|
+
this.ungroup(i), this.deleteSelectedObjects();
|
|
2850
2846
|
return;
|
|
2851
2847
|
}
|
|
2852
|
-
a.remove(
|
|
2848
|
+
a.remove(i);
|
|
2853
2849
|
}), a.discardActiveObject(), a.renderAll(), r.resumeHistory(), t || r.saveState(), a.fire("editor:objects-deleted"));
|
|
2854
2850
|
}
|
|
2855
2851
|
}
|
|
2856
|
-
function be(
|
|
2852
|
+
function be(o, e, t, a, r, n, i) {
|
|
2857
2853
|
try {
|
|
2858
|
-
var s =
|
|
2854
|
+
var s = o[n](i), c = s.value;
|
|
2859
2855
|
} catch (u) {
|
|
2860
2856
|
return void t(u);
|
|
2861
2857
|
}
|
|
2862
2858
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
2863
2859
|
}
|
|
2864
|
-
function
|
|
2860
|
+
function kt(o) {
|
|
2865
2861
|
return function() {
|
|
2866
2862
|
var e = this, t = arguments;
|
|
2867
2863
|
return new Promise(function(a, r) {
|
|
2868
|
-
var n =
|
|
2869
|
-
function
|
|
2870
|
-
be(n, a, r,
|
|
2864
|
+
var n = o.apply(e, t);
|
|
2865
|
+
function i(c) {
|
|
2866
|
+
be(n, a, r, i, s, "next", c);
|
|
2871
2867
|
}
|
|
2872
2868
|
function s(c) {
|
|
2873
|
-
be(n, a, r,
|
|
2869
|
+
be(n, a, r, i, s, "throw", c);
|
|
2874
2870
|
}
|
|
2875
|
-
|
|
2871
|
+
i(void 0);
|
|
2876
2872
|
});
|
|
2877
2873
|
};
|
|
2878
2874
|
}
|
|
2879
|
-
class
|
|
2875
|
+
class te {
|
|
2880
2876
|
constructor(e) {
|
|
2881
2877
|
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
2882
2878
|
this.options = t;
|
|
@@ -2885,17 +2881,17 @@ class Bt {
|
|
|
2885
2881
|
minZoom: r,
|
|
2886
2882
|
maxZoom: n
|
|
2887
2883
|
} = t;
|
|
2888
|
-
this.containerId = e, this.editorId = "".concat(e, "-").concat(I()), this.clipboard = null, this.defaultZoom = a, this.minZoom = r ||
|
|
2884
|
+
this.containerId = e, this.editorId = "".concat(e, "-").concat(I()), this.clipboard = null, this.defaultZoom = a, this.minZoom = r || gt, this.maxZoom = n || vt, this.init();
|
|
2889
2885
|
}
|
|
2890
2886
|
init() {
|
|
2891
2887
|
var e = this;
|
|
2892
|
-
return
|
|
2888
|
+
return kt(function* () {
|
|
2893
2889
|
var {
|
|
2894
2890
|
editorContainerWidth: t,
|
|
2895
2891
|
editorContainerHeight: a,
|
|
2896
2892
|
canvasWrapperWidth: r,
|
|
2897
2893
|
canvasWrapperHeight: n,
|
|
2898
|
-
canvasCSSWidth:
|
|
2894
|
+
canvasCSSWidth: i,
|
|
2899
2895
|
canvasCSSHeight: s,
|
|
2900
2896
|
initialImage: c,
|
|
2901
2897
|
initialStateJSON: u,
|
|
@@ -2906,43 +2902,43 @@ class Bt {
|
|
|
2906
2902
|
editor: e
|
|
2907
2903
|
}), e.toolbar = new lt({
|
|
2908
2904
|
editor: e
|
|
2909
|
-
}), e.transformManager = new
|
|
2905
|
+
}), e.transformManager = new jt({
|
|
2910
2906
|
editor: e
|
|
2911
|
-
}), e.canvasManager = new
|
|
2907
|
+
}), e.canvasManager = new Mt({
|
|
2912
2908
|
editor: e
|
|
2913
2909
|
}), e.imageManager = new L({
|
|
2914
2910
|
editor: e
|
|
2915
|
-
}), e.layerManager = new
|
|
2911
|
+
}), e.layerManager = new Y({
|
|
2916
2912
|
editor: e
|
|
2917
|
-
}), e.shapeManager = new
|
|
2913
|
+
}), e.shapeManager = new Dt({
|
|
2918
2914
|
editor: e
|
|
2919
|
-
}), e.interactionBlocker = new
|
|
2915
|
+
}), e.interactionBlocker = new yt({
|
|
2920
2916
|
editor: e
|
|
2921
|
-
}), e.clipboardManager = new
|
|
2917
|
+
}), e.clipboardManager = new Ct({
|
|
2922
2918
|
editor: e
|
|
2923
|
-
}), e.objectLockManager = new
|
|
2919
|
+
}), e.objectLockManager = new Lt({
|
|
2924
2920
|
editor: e
|
|
2925
|
-
}), e.groupingManager = new
|
|
2921
|
+
}), e.groupingManager = new Ot({
|
|
2926
2922
|
editor: e
|
|
2927
|
-
}), e.selectionManager = new
|
|
2923
|
+
}), e.selectionManager = new Tt({
|
|
2928
2924
|
editor: e
|
|
2929
|
-
}), e.deletionManager = new
|
|
2925
|
+
}), e.deletionManager = new Et({
|
|
2930
2926
|
editor: e
|
|
2931
2927
|
}), e._createMonageArea(), e._createClippingArea(), e.listeners = new B({
|
|
2932
2928
|
editor: e,
|
|
2933
2929
|
options: e.options
|
|
2934
|
-
}), e.canvasManager.setEditorContainerWidth(t), e.canvasManager.setEditorContainerHeight(a), e.canvasManager.setCanvasWrapperWidth(r), e.canvasManager.setCanvasWrapperHeight(n), e.canvasManager.setCanvasCSSWidth(
|
|
2930
|
+
}), e.canvasManager.setEditorContainerWidth(t), e.canvasManager.setEditorContainerHeight(a), e.canvasManager.setCanvasWrapperWidth(r), e.canvasManager.setCanvasWrapperHeight(n), e.canvasManager.setCanvasCSSWidth(i), e.canvasManager.setCanvasCSSHeight(s), c != null && c.source) {
|
|
2935
2931
|
var {
|
|
2936
2932
|
source: h,
|
|
2937
2933
|
scale: g = "image-".concat(l),
|
|
2938
|
-
withoutSave:
|
|
2939
|
-
contentType:
|
|
2934
|
+
withoutSave: v = !0,
|
|
2935
|
+
contentType: m
|
|
2940
2936
|
} = c;
|
|
2941
2937
|
yield e.imageManager.importImage({
|
|
2942
2938
|
source: h,
|
|
2943
2939
|
scale: g,
|
|
2944
|
-
withoutSave:
|
|
2945
|
-
contentType:
|
|
2940
|
+
withoutSave: v,
|
|
2941
|
+
contentType: m
|
|
2946
2942
|
});
|
|
2947
2943
|
} else
|
|
2948
2944
|
e.canvasManager.setDefaultScale({
|
|
@@ -2964,7 +2960,7 @@ class Bt {
|
|
|
2964
2960
|
this.montageArea = this.shapeManager.addRectangle({
|
|
2965
2961
|
width: e,
|
|
2966
2962
|
height: t,
|
|
2967
|
-
fill:
|
|
2963
|
+
fill: te._createMosaicPattern(),
|
|
2968
2964
|
stroke: null,
|
|
2969
2965
|
strokeWidth: 0,
|
|
2970
2966
|
selectable: !1,
|
|
@@ -3014,8 +3010,21 @@ class Bt {
|
|
|
3014
3010
|
destroy() {
|
|
3015
3011
|
this.listeners.destroy(), this.toolbar.destroy(), this.canvas.dispose(), this.workerManager.worker.terminate(), this.imageManager.revokeBlobUrls();
|
|
3016
3012
|
}
|
|
3013
|
+
/**
|
|
3014
|
+
* Создает паттерн мозаики.
|
|
3015
|
+
* @returns {object} паттерн мозаики
|
|
3016
|
+
*/
|
|
3017
|
+
static _createMosaicPattern() {
|
|
3018
|
+
var e = document.createElement("canvas");
|
|
3019
|
+
e.width = 20, e.height = 20;
|
|
3020
|
+
var t = e.getContext("2d");
|
|
3021
|
+
return t.fillStyle = "#ddd", t.fillRect(0, 0, 40, 40), t.fillStyle = "#ccc", t.fillRect(0, 0, 10, 10), t.fillRect(10, 10, 10, 10), new Ue({
|
|
3022
|
+
source: e,
|
|
3023
|
+
repeat: "repeat"
|
|
3024
|
+
});
|
|
3025
|
+
}
|
|
3017
3026
|
}
|
|
3018
|
-
const
|
|
3027
|
+
const xt = {
|
|
3019
3028
|
// Cохраняют ли объекты свой текущий порядок (z-index) при выделении
|
|
3020
3029
|
preserveObjectStacking: !0,
|
|
3021
3030
|
// Возможность взаимодействия с объектом за пределами монтажной области
|
|
@@ -3122,56 +3131,56 @@ const Zt = {
|
|
|
3122
3131
|
// Сброс параметров объекта по двойному клику
|
|
3123
3132
|
resetObjectFitByDoubleClick: !0
|
|
3124
3133
|
};
|
|
3125
|
-
function Ie(
|
|
3126
|
-
var t = Object.keys(
|
|
3134
|
+
function Ie(o, e) {
|
|
3135
|
+
var t = Object.keys(o);
|
|
3127
3136
|
if (Object.getOwnPropertySymbols) {
|
|
3128
|
-
var a = Object.getOwnPropertySymbols(
|
|
3137
|
+
var a = Object.getOwnPropertySymbols(o);
|
|
3129
3138
|
e && (a = a.filter(function(r) {
|
|
3130
|
-
return Object.getOwnPropertyDescriptor(
|
|
3139
|
+
return Object.getOwnPropertyDescriptor(o, r).enumerable;
|
|
3131
3140
|
})), t.push.apply(t, a);
|
|
3132
3141
|
}
|
|
3133
3142
|
return t;
|
|
3134
3143
|
}
|
|
3135
|
-
function Se(
|
|
3144
|
+
function Se(o) {
|
|
3136
3145
|
for (var e = 1; e < arguments.length; e++) {
|
|
3137
3146
|
var t = arguments[e] != null ? arguments[e] : {};
|
|
3138
3147
|
e % 2 ? Ie(Object(t), !0).forEach(function(a) {
|
|
3139
|
-
|
|
3140
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(
|
|
3141
|
-
Object.defineProperty(
|
|
3148
|
+
Bt(o, a, t[a]);
|
|
3149
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(o, Object.getOwnPropertyDescriptors(t)) : Ie(Object(t)).forEach(function(a) {
|
|
3150
|
+
Object.defineProperty(o, a, Object.getOwnPropertyDescriptor(t, a));
|
|
3142
3151
|
});
|
|
3143
3152
|
}
|
|
3144
|
-
return
|
|
3153
|
+
return o;
|
|
3145
3154
|
}
|
|
3146
|
-
function
|
|
3147
|
-
return (e =
|
|
3155
|
+
function Bt(o, e, t) {
|
|
3156
|
+
return (e = Zt(e)) in o ? Object.defineProperty(o, e, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : o[e] = t, o;
|
|
3148
3157
|
}
|
|
3149
|
-
function
|
|
3150
|
-
var e =
|
|
3158
|
+
function Zt(o) {
|
|
3159
|
+
var e = zt(o, "string");
|
|
3151
3160
|
return typeof e == "symbol" ? e : e + "";
|
|
3152
3161
|
}
|
|
3153
|
-
function
|
|
3154
|
-
if (typeof
|
|
3155
|
-
var t =
|
|
3162
|
+
function zt(o, e) {
|
|
3163
|
+
if (typeof o != "object" || !o) return o;
|
|
3164
|
+
var t = o[Symbol.toPrimitive];
|
|
3156
3165
|
if (t !== void 0) {
|
|
3157
|
-
var a = t.call(
|
|
3166
|
+
var a = t.call(o, e);
|
|
3158
3167
|
if (typeof a != "object") return a;
|
|
3159
3168
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
3160
3169
|
}
|
|
3161
|
-
return (e === "string" ? String : Number)(
|
|
3170
|
+
return (e === "string" ? String : Number)(o);
|
|
3162
3171
|
}
|
|
3163
|
-
function
|
|
3164
|
-
var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, t = Se(Se({},
|
|
3172
|
+
function Yt(o) {
|
|
3173
|
+
var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, t = Se(Se({}, xt), e), a = document.getElementById(o);
|
|
3165
3174
|
if (!a)
|
|
3166
|
-
return Promise.reject(new Error('Контейнер с ID "'.concat(
|
|
3175
|
+
return Promise.reject(new Error('Контейнер с ID "'.concat(o, '" не найден.')));
|
|
3167
3176
|
var r = document.createElement("canvas");
|
|
3168
|
-
return r.id = "".concat(
|
|
3177
|
+
return r.id = "".concat(o, "-canvas"), a.appendChild(r), t.editorContainer = a, new Promise((n) => {
|
|
3169
3178
|
t._onReadyCallback = n;
|
|
3170
|
-
var
|
|
3171
|
-
window[
|
|
3179
|
+
var i = new te(r.id, t);
|
|
3180
|
+
window[o] = i;
|
|
3172
3181
|
});
|
|
3173
3182
|
}
|
|
3174
3183
|
export {
|
|
3175
|
-
|
|
3184
|
+
Yt as default
|
|
3176
3185
|
};
|
|
3177
3186
|
//# sourceMappingURL=main.js.map
|