@anu3ev/fabric-image-editor 0.1.0 → 0.1.1
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 +474 -473
- package/dist/worker.js +68 -0
- package/package.json +2 -2
package/dist/main.js
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { ActiveSelection as
|
|
2
|
-
import { create as
|
|
3
|
-
var He = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",
|
|
1
|
+
import { ActiveSelection as Z, util as z, controlsUtils as Oe, InteractiveFabricObject as Te, Pattern as Ee, loadSVGFromURL as ke, FabricImage as de, Point as xe, Rect as Be, Circle as Ze, Triangle as ze, Group as Ue, Canvas as Pe } from "fabric";
|
|
2
|
+
import { create as Ye } from "jsondiffpatch";
|
|
3
|
+
var He = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", S = 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
|
|
8
|
+
function le(i, e, t, a, r, n, o) {
|
|
9
9
|
try {
|
|
10
|
-
var s = n
|
|
10
|
+
var s = i[n](o), c = s.value;
|
|
11
11
|
} catch (d) {
|
|
12
12
|
return void t(d);
|
|
13
13
|
}
|
|
14
14
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
15
15
|
}
|
|
16
|
-
function
|
|
16
|
+
function We(i) {
|
|
17
17
|
return function() {
|
|
18
18
|
var e = this, t = arguments;
|
|
19
19
|
return new Promise(function(a, r) {
|
|
20
|
-
var
|
|
20
|
+
var n = i.apply(e, t);
|
|
21
21
|
function o(c) {
|
|
22
|
-
|
|
22
|
+
le(n, a, r, o, s, "next", c);
|
|
23
23
|
}
|
|
24
24
|
function s(c) {
|
|
25
|
-
|
|
25
|
+
le(n, a, r, o, s, "throw", c);
|
|
26
26
|
}
|
|
27
27
|
o(void 0);
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
class
|
|
31
|
+
class B {
|
|
32
32
|
/**
|
|
33
33
|
* Конструктор принимает редактор и опции.
|
|
34
34
|
* @param {Object} params
|
|
@@ -49,7 +49,7 @@ class Ve {
|
|
|
49
49
|
editor: t,
|
|
50
50
|
options: a = {}
|
|
51
51
|
} = e;
|
|
52
|
-
this.editor = t, this.canvas = t.canvas, this.options = a, this.isUndoRedoKeyPressed = !1, this.handleAdaptCanvasToContainerBound =
|
|
52
|
+
this.editor = t, this.canvas = t.canvas, this.options = a, this.isUndoRedoKeyPressed = !1, this.handleAdaptCanvasToContainerBound = B.debounce(this.handleAdaptCanvasToContainer.bind(this), 500), this.handleCopyEventBound = this.handleCopyEvent.bind(this), this.handlePasteEventBound = this.handlePasteEvent.bind(this), this.handleUndoRedoEventBound = this.handleUndoRedoEvent.bind(this), this.handleUndoRedoKeyUpBound = this.handleUndoRedoKeyUp.bind(this), this.handleSelectAllEventBound = this.handleSelectAllEvent.bind(this), this.handleDeleteObjectsEventBound = this.handleDeleteObjectsEvent.bind(this), this.handleObjectModifiedHistoryBound = B.debounce(this.handleObjectModifiedHistory.bind(this), 300), this.handleObjectRotatingHistoryBound = B.debounce(this.handleObjectRotatingHistory.bind(this), 300), this.handleObjectAddedHistoryBound = this.handleObjectAddedHistory.bind(this), this.handleObjectRemovedHistoryBound = this.handleObjectRemovedHistory.bind(this), this.handleOverlayUpdateBound = this.handleOverlayUpdate.bind(this), this.handleCanvasDragStartBound = this.handleCanvasDragStart.bind(this), this.handleCanvasDraggingBound = this.handleCanvasDragging.bind(this), this.handleCanvasDragEndBound = this.handleCanvasDragEnd.bind(this), this.handleMouseWheelZoomBound = this.handleMouseWheelZoom.bind(this), this.handleBringToFrontBound = this.handleBringToFront.bind(this), this.handleResetObjectFitBound = this.handleResetObjectFit.bind(this), this.handleLockedSelectionBound = this._filterLockedSelection.bind(this), this.init();
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* Инициализация всех обработчиков согласно опциям.
|
|
@@ -60,7 +60,7 @@ class Ve {
|
|
|
60
60
|
canvasDragging: t,
|
|
61
61
|
mouseWheelZooming: a,
|
|
62
62
|
bringToFrontOnSelection: r,
|
|
63
|
-
copyObjectsByHotkey:
|
|
63
|
+
copyObjectsByHotkey: n,
|
|
64
64
|
pasteImageFromClipboard: o,
|
|
65
65
|
undoRedoByHotKeys: s,
|
|
66
66
|
selectAllByHotkey: c,
|
|
@@ -69,7 +69,7 @@ class Ve {
|
|
|
69
69
|
} = this.options;
|
|
70
70
|
t && (this.canvas.on("mouse:down", this.handleCanvasDragStartBound), this.canvas.on("mouse:move", this.handleCanvasDraggingBound), this.canvas.on("mouse:up", this.handleCanvasDragEndBound)), a && this.canvas.on("mouse:wheel", this.handleMouseWheelZoomBound), r && (this.canvas.on("selection:created", this.handleBringToFrontBound), this.canvas.on("selection:updated", this.handleBringToFrontBound)), l && this.canvas.on("mouse:dblclick", this.handleResetObjectFitBound), e && window.addEventListener("resize", this.handleAdaptCanvasToContainerBound, {
|
|
71
71
|
capture: !0
|
|
72
|
-
}),
|
|
72
|
+
}), n && document.addEventListener("keydown", this.handleCopyEventBound, {
|
|
73
73
|
capture: !0
|
|
74
74
|
}), o && document.addEventListener("paste", this.handlePasteEventBound, {
|
|
75
75
|
capture: !0
|
|
@@ -102,10 +102,10 @@ class Ve {
|
|
|
102
102
|
this.canvas.setActiveObject(r[0]);
|
|
103
103
|
return;
|
|
104
104
|
}
|
|
105
|
-
var
|
|
105
|
+
var n = new Z(r, {
|
|
106
106
|
canvas: this.canvas
|
|
107
107
|
});
|
|
108
|
-
this.canvas.setActiveObject(
|
|
108
|
+
this.canvas.setActiveObject(n), this.canvas.requestRenderAll();
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -180,14 +180,14 @@ class Ve {
|
|
|
180
180
|
if (a != null && (t = a.items) !== null && t !== void 0 && t.length) {
|
|
181
181
|
var {
|
|
182
182
|
items: r
|
|
183
|
-
} = a,
|
|
184
|
-
if (
|
|
185
|
-
var o =
|
|
183
|
+
} = a, n = r[r.length - 1];
|
|
184
|
+
if (n.type.indexOf("image") !== -1) {
|
|
185
|
+
var o = n.getAsFile();
|
|
186
186
|
if (!o) return;
|
|
187
187
|
var s = new FileReader();
|
|
188
|
-
s.onload = (
|
|
188
|
+
s.onload = (h) => {
|
|
189
189
|
this.editor.imageManager.importImage({
|
|
190
|
-
source:
|
|
190
|
+
source: h.target.result
|
|
191
191
|
});
|
|
192
192
|
}, s.readAsDataURL(o);
|
|
193
193
|
return;
|
|
@@ -214,14 +214,14 @@ class Ve {
|
|
|
214
214
|
*/
|
|
215
215
|
handleUndoRedoEvent(e) {
|
|
216
216
|
var t = this;
|
|
217
|
-
return
|
|
217
|
+
return We(function* () {
|
|
218
218
|
var {
|
|
219
219
|
ctrlKey: a,
|
|
220
220
|
metaKey: r,
|
|
221
|
-
code:
|
|
221
|
+
code: n,
|
|
222
222
|
repeat: o
|
|
223
223
|
} = e;
|
|
224
|
-
!a && !r || o || t.isUndoRedoKeyPressed || (
|
|
224
|
+
!a && !r || o || 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()));
|
|
225
225
|
})();
|
|
226
226
|
}
|
|
227
227
|
/**
|
|
@@ -347,19 +347,19 @@ class Ve {
|
|
|
347
347
|
}), this.options.canvasDragging && (this.canvas.off("mouse:down", this.handleCanvasDragStartBound), this.canvas.off("mouse:move", this.handleCanvasDraggingBound), this.canvas.off("mouse:up", this.handleCanvasDragEndBound)), this.options.mouseWheelZooming && this.canvas.off("mouse:wheel", this.handleMouseWheelZoomBound), this.options.bringToFrontOnSelection && (this.canvas.off("selection:created", this.handleBringToFrontBound), this.canvas.off("selection:updated", this.handleBringToFrontBound)), this.options.resetObjectFitByDoubleClick && this.canvas.off("mouse:dblclick", this.handleResetObjectFitBound), this.canvas.off("object:modified", this.handleObjectModifiedHistoryBound), this.canvas.off("object:rotating", this.handleObjectRotatingHistoryBound), this.canvas.off("object:added", this.handleObjectAddedHistoryBound), this.canvas.off("object:removed", this.handleObjectRemovedHistoryBound), this.canvas.off("object:added", this.handleOverlayUpdateBound), this.canvas.off("selection:created", this.handleOverlayUpdateBound), this.canvas.off("selection:created", this.handleLockedSelectionBound.bind(this)), this.canvas.off("selection:updated", this.handleLockedSelectionBound.bind(this));
|
|
348
348
|
}
|
|
349
349
|
// Дебаунс для снижения частоты сохранения состояния
|
|
350
|
-
debounce(e, t) {
|
|
350
|
+
static debounce(e, t) {
|
|
351
351
|
var a = null;
|
|
352
352
|
return function() {
|
|
353
|
-
for (var r = arguments.length,
|
|
354
|
-
|
|
353
|
+
for (var r = arguments.length, n = new Array(r), o = 0; o < r; o++)
|
|
354
|
+
n[o] = arguments[o];
|
|
355
355
|
var s = this;
|
|
356
356
|
clearTimeout(a), a = setTimeout(() => {
|
|
357
|
-
e.apply(s,
|
|
357
|
+
e.apply(s, n);
|
|
358
358
|
}, t);
|
|
359
359
|
};
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
|
-
class
|
|
362
|
+
class _e {
|
|
363
363
|
/**
|
|
364
364
|
* @description Класс для динамической загрузки внешних модулей.
|
|
365
365
|
*/
|
|
@@ -383,7 +383,7 @@ class Re {
|
|
|
383
383
|
* По-умолчанию использует файл рядом с этим модулем
|
|
384
384
|
*/
|
|
385
385
|
constructor() {
|
|
386
|
-
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : new URL("
|
|
386
|
+
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : new URL("/worker.js", import.meta.url);
|
|
387
387
|
this.worker = new Worker(e, {
|
|
388
388
|
type: "module"
|
|
389
389
|
}), this._callbacks = /* @__PURE__ */ new Map(), this.worker.onmessage = this._handleMessage.bind(this);
|
|
@@ -404,10 +404,10 @@ class Re {
|
|
|
404
404
|
} = e, {
|
|
405
405
|
requestId: a,
|
|
406
406
|
success: r,
|
|
407
|
-
data:
|
|
407
|
+
data: n,
|
|
408
408
|
error: o
|
|
409
409
|
} = t, s = this._callbacks.get(a);
|
|
410
|
-
s && (r ? s.resolve(
|
|
410
|
+
s && (r ? s.resolve(n) : s.reject(new Error(o)), this._callbacks.delete(a));
|
|
411
411
|
}
|
|
412
412
|
/**
|
|
413
413
|
* Универсальный метод отправки команды в воркер
|
|
@@ -417,10 +417,10 @@ class Re {
|
|
|
417
417
|
* @returns {Promise<any>}
|
|
418
418
|
*/
|
|
419
419
|
post(e, t) {
|
|
420
|
-
var a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [], r = "".concat(e, ":").concat(
|
|
421
|
-
return new Promise((
|
|
420
|
+
var a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [], r = "".concat(e, ":").concat(S(8));
|
|
421
|
+
return new Promise((n, o) => {
|
|
422
422
|
this._callbacks.set(r, {
|
|
423
|
-
resolve:
|
|
423
|
+
resolve: n,
|
|
424
424
|
reject: o
|
|
425
425
|
}), this.worker.postMessage({
|
|
426
426
|
action: e,
|
|
@@ -436,98 +436,98 @@ class Re {
|
|
|
436
436
|
this.worker.terminate();
|
|
437
437
|
}
|
|
438
438
|
}
|
|
439
|
-
var
|
|
440
|
-
function
|
|
441
|
-
var
|
|
442
|
-
|
|
439
|
+
var p = 12, Ve = 2, X = 8, Q = 20, Fe = 100, J = 20, K = 8, Ge = 100, $ = 32, q = 1, Xe = "#2B2D33", ee = "#3D8BF4", te = "#FFFFFF";
|
|
440
|
+
function U(i, e, t, a, r) {
|
|
441
|
+
var n = p, o = Ve;
|
|
442
|
+
i.save(), i.translate(e, t), i.rotate(z.degreesToRadians(r.angle)), i.fillStyle = te, i.strokeStyle = ee, i.lineWidth = q, i.beginPath(), i.roundRect(-12 / 2, -12 / 2, n, n, o), i.fill(), i.stroke(), i.restore();
|
|
443
443
|
}
|
|
444
|
-
function
|
|
445
|
-
var
|
|
446
|
-
|
|
444
|
+
function he(i, e, t, a, r) {
|
|
445
|
+
var n = X, o = Q, s = Fe;
|
|
446
|
+
i.save(), i.translate(e, t), i.rotate(z.degreesToRadians(r.angle)), i.fillStyle = te, i.strokeStyle = ee, i.lineWidth = q, i.beginPath(), i.roundRect(-8 / 2, -20 / 2, n, o, s), i.fill(), i.stroke(), i.restore();
|
|
447
447
|
}
|
|
448
|
-
function ge(
|
|
449
|
-
var
|
|
450
|
-
|
|
448
|
+
function ge(i, e, t, a, r) {
|
|
449
|
+
var n = J, o = K, s = Ge;
|
|
450
|
+
i.save(), i.translate(e, t), i.rotate(z.degreesToRadians(r.angle)), i.fillStyle = te, i.strokeStyle = ee, i.lineWidth = q, i.beginPath(), i.roundRect(-20 / 2, -8 / 2, n, o, s), i.fill(), i.stroke(), i.restore();
|
|
451
451
|
}
|
|
452
|
-
var Qe = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE4Ljc1IDQuMzc1djMuNzVhLjYyNS42MjUgMCAwIDEtLjYyNS42MjVoLTMuNzVhLjYyNS42MjUgMCAwIDEgMC0xLjI1aDIuMTRsLTIuMDc3LTEuOTAzLS4wMi0uMDE5YTYuMjUgNi4yNSAwIDEgMC0uMTMgOC45NjcuNjI2LjYyNiAwIDAgMSAuODYuOTA5QTcuNDU2IDcuNDU2IDAgMCAxIDEwIDE3LjVoLS4xMDNhNy41IDcuNSAwIDEgMSA1LjM5Ni0xMi44MTJMMTcuNSA2LjcwM1Y0LjM3NWEuNjI1LjYyNSAwIDAgMSAxLjI1IDBaIi8+PC9zdmc+",
|
|
453
|
-
|
|
454
|
-
function
|
|
455
|
-
var
|
|
456
|
-
|
|
452
|
+
var Qe = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE4Ljc1IDQuMzc1djMuNzVhLjYyNS42MjUgMCAwIDEtLjYyNS42MjVoLTMuNzVhLjYyNS42MjUgMCAwIDEgMC0xLjI1aDIuMTRsLTIuMDc3LTEuOTAzLS4wMi0uMDE5YTYuMjUgNi4yNSAwIDEgMC0uMTMgOC45NjcuNjI2LjYyNiAwIDAgMSAuODYuOTA5QTcuNDU2IDcuNDU2IDAgMCAxIDEwIDE3LjVoLS4xMDNhNy41IDcuNSAwIDEgMSA1LjM5Ni0xMi44MTJMMTcuNSA2LjcwM1Y0LjM3NWEuNjI1LjYyNSAwIDAgMSAxLjI1IDBaIi8+PC9zdmc+", Ae = new Image();
|
|
453
|
+
Ae.src = Qe;
|
|
454
|
+
function Je(i, e, t, a, r) {
|
|
455
|
+
var n = $, o = n / 2;
|
|
456
|
+
i.save(), i.translate(e, t), i.rotate(z.degreesToRadians(r.angle)), i.fillStyle = Xe, i.beginPath(), i.arc(0, 0, o, 0, 2 * Math.PI), i.fill(), i.drawImage(Ae, -16 / 2, -16 / 2, o, o), i.restore();
|
|
457
457
|
}
|
|
458
|
-
var
|
|
458
|
+
var Ke = {
|
|
459
459
|
// Угловые точки
|
|
460
460
|
tl: {
|
|
461
|
-
render:
|
|
462
|
-
sizeX:
|
|
463
|
-
sizeY:
|
|
461
|
+
render: U,
|
|
462
|
+
sizeX: p,
|
|
463
|
+
sizeY: p,
|
|
464
464
|
offsetX: 0,
|
|
465
465
|
offsetY: 0
|
|
466
466
|
},
|
|
467
467
|
tr: {
|
|
468
|
-
render:
|
|
469
|
-
sizeX:
|
|
470
|
-
sizeY:
|
|
468
|
+
render: U,
|
|
469
|
+
sizeX: p,
|
|
470
|
+
sizeY: p,
|
|
471
471
|
offsetX: 0,
|
|
472
472
|
offsetY: 0
|
|
473
473
|
},
|
|
474
474
|
bl: {
|
|
475
|
-
render:
|
|
476
|
-
sizeX:
|
|
477
|
-
sizeY:
|
|
475
|
+
render: U,
|
|
476
|
+
sizeX: p,
|
|
477
|
+
sizeY: p,
|
|
478
478
|
offsetX: 0,
|
|
479
479
|
offsetY: 0
|
|
480
480
|
},
|
|
481
481
|
br: {
|
|
482
|
-
render:
|
|
483
|
-
sizeX:
|
|
484
|
-
sizeY:
|
|
482
|
+
render: U,
|
|
483
|
+
sizeX: p,
|
|
484
|
+
sizeY: p,
|
|
485
485
|
offsetX: 0,
|
|
486
486
|
offsetY: 0
|
|
487
487
|
},
|
|
488
488
|
// Середина вертикалей
|
|
489
489
|
ml: {
|
|
490
|
-
render:
|
|
491
|
-
sizeX:
|
|
492
|
-
sizeY:
|
|
490
|
+
render: he,
|
|
491
|
+
sizeX: X,
|
|
492
|
+
sizeY: Q,
|
|
493
493
|
offsetX: 0,
|
|
494
494
|
offsetY: 0
|
|
495
495
|
},
|
|
496
496
|
mr: {
|
|
497
|
-
render:
|
|
498
|
-
sizeX:
|
|
499
|
-
sizeY:
|
|
497
|
+
render: he,
|
|
498
|
+
sizeX: X,
|
|
499
|
+
sizeY: Q,
|
|
500
500
|
offsetX: 0,
|
|
501
501
|
offsetY: 0
|
|
502
502
|
},
|
|
503
503
|
// Середина горизонталей
|
|
504
504
|
mt: {
|
|
505
505
|
render: ge,
|
|
506
|
-
sizeX:
|
|
506
|
+
sizeX: J,
|
|
507
507
|
sizeY: K,
|
|
508
508
|
offsetX: 0,
|
|
509
509
|
offsetY: 0
|
|
510
510
|
},
|
|
511
511
|
mb: {
|
|
512
512
|
render: ge,
|
|
513
|
-
sizeX:
|
|
513
|
+
sizeX: J,
|
|
514
514
|
sizeY: K,
|
|
515
515
|
offsetX: 0,
|
|
516
516
|
offsetY: 0
|
|
517
517
|
},
|
|
518
518
|
// Специальный «rotate» контрол
|
|
519
519
|
mtr: {
|
|
520
|
-
render:
|
|
521
|
-
sizeX:
|
|
522
|
-
sizeY:
|
|
520
|
+
render: Je,
|
|
521
|
+
sizeX: $,
|
|
522
|
+
sizeY: $,
|
|
523
523
|
offsetX: 0,
|
|
524
524
|
offsetY: -32
|
|
525
525
|
}
|
|
526
526
|
};
|
|
527
527
|
class $e {
|
|
528
528
|
static apply() {
|
|
529
|
-
var e =
|
|
530
|
-
Object.entries(
|
|
529
|
+
var e = Oe.createObjectDefaultControls();
|
|
530
|
+
Object.entries(Ke).forEach((t) => {
|
|
531
531
|
var [a, r] = t;
|
|
532
532
|
Object.assign(e[a], {
|
|
533
533
|
render: r.render,
|
|
@@ -536,28 +536,28 @@ class $e {
|
|
|
536
536
|
offsetX: r.offsetX,
|
|
537
537
|
offsetY: r.offsetY
|
|
538
538
|
});
|
|
539
|
-
}),
|
|
539
|
+
}), Te.ownDefaults.controls = e;
|
|
540
540
|
}
|
|
541
541
|
}
|
|
542
|
-
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+",
|
|
543
|
-
function
|
|
542
|
+
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==";
|
|
543
|
+
function ve(i, e, t, a, r, n, o) {
|
|
544
544
|
try {
|
|
545
|
-
var s = n
|
|
545
|
+
var s = i[n](o), c = s.value;
|
|
546
546
|
} catch (d) {
|
|
547
547
|
return void t(d);
|
|
548
548
|
}
|
|
549
549
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
550
550
|
}
|
|
551
|
-
function st(
|
|
551
|
+
function st(i) {
|
|
552
552
|
return function() {
|
|
553
553
|
var e = this, t = arguments;
|
|
554
554
|
return new Promise(function(a, r) {
|
|
555
|
-
var
|
|
555
|
+
var n = i.apply(e, t);
|
|
556
556
|
function o(c) {
|
|
557
|
-
|
|
557
|
+
ve(n, a, r, o, s, "next", c);
|
|
558
558
|
}
|
|
559
559
|
function s(c) {
|
|
560
|
-
|
|
560
|
+
ve(n, a, r, o, s, "throw", c);
|
|
561
561
|
}
|
|
562
562
|
o(void 0);
|
|
563
563
|
});
|
|
@@ -626,81 +626,81 @@ const E = {
|
|
|
626
626
|
delete: ot,
|
|
627
627
|
lock: et,
|
|
628
628
|
unlock: tt,
|
|
629
|
-
bringToFront:
|
|
630
|
-
sendToBack:
|
|
629
|
+
bringToFront: nt,
|
|
630
|
+
sendToBack: it,
|
|
631
631
|
bringForward: at,
|
|
632
632
|
sendBackwards: rt
|
|
633
633
|
},
|
|
634
634
|
handlers: {
|
|
635
635
|
copyPaste: function() {
|
|
636
|
-
var
|
|
636
|
+
var i = st(function* (t) {
|
|
637
637
|
yield t.clipboardManager.copy(), yield t.clipboardManager.paste();
|
|
638
638
|
});
|
|
639
639
|
function e(t) {
|
|
640
|
-
return
|
|
640
|
+
return i.apply(this, arguments);
|
|
641
641
|
}
|
|
642
642
|
return e;
|
|
643
643
|
}(),
|
|
644
|
-
delete: (
|
|
645
|
-
|
|
644
|
+
delete: (i) => {
|
|
645
|
+
i.deletionManager.deleteSelectedObjects();
|
|
646
646
|
},
|
|
647
|
-
lock: (
|
|
648
|
-
|
|
647
|
+
lock: (i) => {
|
|
648
|
+
i.objectLockManager.lockObject();
|
|
649
649
|
},
|
|
650
|
-
unlock: (
|
|
651
|
-
|
|
650
|
+
unlock: (i) => {
|
|
651
|
+
i.objectLockManager.unlockObject();
|
|
652
652
|
},
|
|
653
|
-
bringForward: (
|
|
654
|
-
|
|
653
|
+
bringForward: (i) => {
|
|
654
|
+
i.layerManager.bringForward();
|
|
655
655
|
},
|
|
656
|
-
bringToFront: (
|
|
657
|
-
|
|
656
|
+
bringToFront: (i) => {
|
|
657
|
+
i.layerManager.bringToFront();
|
|
658
658
|
},
|
|
659
|
-
sendToBack: (
|
|
660
|
-
|
|
659
|
+
sendToBack: (i) => {
|
|
660
|
+
i.layerManager.sendToBack();
|
|
661
661
|
},
|
|
662
|
-
sendBackwards: (
|
|
663
|
-
|
|
662
|
+
sendBackwards: (i) => {
|
|
663
|
+
i.layerManager.sendBackwards();
|
|
664
664
|
}
|
|
665
665
|
}
|
|
666
666
|
};
|
|
667
|
-
function
|
|
668
|
-
var t = Object.keys(
|
|
667
|
+
function me(i, e) {
|
|
668
|
+
var t = Object.keys(i);
|
|
669
669
|
if (Object.getOwnPropertySymbols) {
|
|
670
|
-
var a = Object.getOwnPropertySymbols(
|
|
670
|
+
var a = Object.getOwnPropertySymbols(i);
|
|
671
671
|
e && (a = a.filter(function(r) {
|
|
672
|
-
return Object.getOwnPropertyDescriptor(
|
|
672
|
+
return Object.getOwnPropertyDescriptor(i, r).enumerable;
|
|
673
673
|
})), t.push.apply(t, a);
|
|
674
674
|
}
|
|
675
675
|
return t;
|
|
676
676
|
}
|
|
677
|
-
function
|
|
677
|
+
function j(i) {
|
|
678
678
|
for (var e = 1; e < arguments.length; e++) {
|
|
679
679
|
var t = arguments[e] != null ? arguments[e] : {};
|
|
680
|
-
e % 2 ?
|
|
681
|
-
ct(
|
|
682
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(
|
|
683
|
-
Object.defineProperty(
|
|
680
|
+
e % 2 ? me(Object(t), !0).forEach(function(a) {
|
|
681
|
+
ct(i, a, t[a]);
|
|
682
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(i, Object.getOwnPropertyDescriptors(t)) : me(Object(t)).forEach(function(a) {
|
|
683
|
+
Object.defineProperty(i, a, Object.getOwnPropertyDescriptor(t, a));
|
|
684
684
|
});
|
|
685
685
|
}
|
|
686
|
-
return
|
|
686
|
+
return i;
|
|
687
687
|
}
|
|
688
|
-
function ct(
|
|
689
|
-
return (e = ut(e)) in
|
|
688
|
+
function ct(i, e, t) {
|
|
689
|
+
return (e = ut(e)) in i ? Object.defineProperty(i, e, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : i[e] = t, i;
|
|
690
690
|
}
|
|
691
|
-
function ut(
|
|
692
|
-
var e = dt(
|
|
691
|
+
function ut(i) {
|
|
692
|
+
var e = dt(i, "string");
|
|
693
693
|
return typeof e == "symbol" ? e : e + "";
|
|
694
694
|
}
|
|
695
|
-
function dt(
|
|
696
|
-
if (typeof
|
|
697
|
-
var t =
|
|
695
|
+
function dt(i, e) {
|
|
696
|
+
if (typeof i != "object" || !i) return i;
|
|
697
|
+
var t = i[Symbol.toPrimitive];
|
|
698
698
|
if (t !== void 0) {
|
|
699
|
-
var a = t.call(
|
|
699
|
+
var a = t.call(i, e);
|
|
700
700
|
if (typeof a != "object") return a;
|
|
701
701
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
702
702
|
}
|
|
703
|
-
return (e === "string" ? String : Number)(
|
|
703
|
+
return (e === "string" ? String : Number)(i);
|
|
704
704
|
}
|
|
705
705
|
class lt {
|
|
706
706
|
/**
|
|
@@ -714,11 +714,11 @@ class lt {
|
|
|
714
714
|
if (this.options = t.options, !!this.options.showToolbar) {
|
|
715
715
|
this.editor = t, this.canvas = t.canvas;
|
|
716
716
|
var a = this.options.toolbar || {};
|
|
717
|
-
this.config =
|
|
718
|
-
style:
|
|
719
|
-
btnStyle:
|
|
720
|
-
icons:
|
|
721
|
-
handlers:
|
|
717
|
+
this.config = j(j(j({}, E), a), {}, {
|
|
718
|
+
style: j(j({}, E.style), a.style || {}),
|
|
719
|
+
btnStyle: j(j({}, E.btnStyle), a.btnStyle || {}),
|
|
720
|
+
icons: j(j({}, E.icons), a.icons || {}),
|
|
721
|
+
handlers: j(j({}, E.handlers), a.handlers || {})
|
|
722
722
|
}), this.currentTarget = null, this.currentLocked = null, this.isTransforming = !1, this._onMouseDown = this._handleMouseDown.bind(this), this._onObjectMoving = this._startTransform.bind(this), this._onObjectScaling = this._startTransform.bind(this), this._onObjectRotating = this._startTransform.bind(this), this._onMouseUp = this._endTransform.bind(this), this._onObjectModified = this._endTransform.bind(this), this._onSelectionChange = this._updateToolbar.bind(this), this._onSelectionClear = () => {
|
|
723
723
|
this.el.style.display = "none";
|
|
724
724
|
}, this._createDOM(), this._bindEvents();
|
|
@@ -760,8 +760,8 @@ class lt {
|
|
|
760
760
|
handlers: l
|
|
761
761
|
} = t.config, u = document.createElement("button");
|
|
762
762
|
u.innerHTML = c[s] ? '<img src="'.concat(c[s], '" title="').concat(o, '" />') : o, Object.assign(u.style, d), u.onclick = () => {
|
|
763
|
-
var
|
|
764
|
-
return (
|
|
763
|
+
var h;
|
|
764
|
+
return (h = l[s]) === null || h === void 0 ? void 0 : h.call(l, t.editor);
|
|
765
765
|
}, t.el.appendChild(u);
|
|
766
766
|
};
|
|
767
767
|
for (var r of e)
|
|
@@ -834,15 +834,15 @@ class lt {
|
|
|
834
834
|
canvas: r
|
|
835
835
|
} = this;
|
|
836
836
|
e.setCoords();
|
|
837
|
-
var
|
|
837
|
+
var n = r.getZoom(), [, , , , o, s] = r.viewportTransform, {
|
|
838
838
|
x: c
|
|
839
839
|
} = e.getCenterPoint(), {
|
|
840
840
|
top: d,
|
|
841
841
|
height: l
|
|
842
|
-
} = e.getBoundingRect(!1, !0), u = c *
|
|
842
|
+
} = e.getBoundingRect(!1, !0), u = c * n + o, h = u - t.offsetWidth / 2, g = (d + l) * n + s + a.offsetTop;
|
|
843
843
|
Object.assign(t.style, {
|
|
844
|
-
left: "".concat(
|
|
845
|
-
top: "".concat(
|
|
844
|
+
left: "".concat(h, "px"),
|
|
845
|
+
top: "".concat(g, "px"),
|
|
846
846
|
display: "flex"
|
|
847
847
|
});
|
|
848
848
|
}
|
|
@@ -854,30 +854,30 @@ class lt {
|
|
|
854
854
|
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();
|
|
855
855
|
}
|
|
856
856
|
}
|
|
857
|
-
function
|
|
857
|
+
function fe(i, e, t, a, r, n, o) {
|
|
858
858
|
try {
|
|
859
|
-
var s = n
|
|
859
|
+
var s = i[n](o), c = s.value;
|
|
860
860
|
} catch (d) {
|
|
861
861
|
return void t(d);
|
|
862
862
|
}
|
|
863
863
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
864
864
|
}
|
|
865
|
-
function
|
|
865
|
+
function V(i) {
|
|
866
866
|
return function() {
|
|
867
867
|
var e = this, t = arguments;
|
|
868
868
|
return new Promise(function(a, r) {
|
|
869
|
-
var
|
|
869
|
+
var n = i.apply(e, t);
|
|
870
870
|
function o(c) {
|
|
871
|
-
|
|
871
|
+
fe(n, a, r, o, s, "next", c);
|
|
872
872
|
}
|
|
873
873
|
function s(c) {
|
|
874
|
-
|
|
874
|
+
fe(n, a, r, o, s, "throw", c);
|
|
875
875
|
}
|
|
876
876
|
o(void 0);
|
|
877
877
|
});
|
|
878
878
|
};
|
|
879
879
|
}
|
|
880
|
-
class
|
|
880
|
+
class ht {
|
|
881
881
|
/**
|
|
882
882
|
* @param {object} options
|
|
883
883
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -893,7 +893,7 @@ class gt {
|
|
|
893
893
|
return this._historySuspendCount > 0;
|
|
894
894
|
}
|
|
895
895
|
_createDiffPatcher() {
|
|
896
|
-
this.diffPatcher =
|
|
896
|
+
this.diffPatcher = Ye({
|
|
897
897
|
objectHash(e) {
|
|
898
898
|
return [e.id, e.format, e.locked, e.left, e.top, e.width, e.height, e.flipX, e.flipY, e.scaleX, e.scaleY, e.angle, e.opacity].join("-");
|
|
899
899
|
},
|
|
@@ -922,8 +922,8 @@ class gt {
|
|
|
922
922
|
baseState: e,
|
|
923
923
|
currentIndex: t,
|
|
924
924
|
patches: a
|
|
925
|
-
} = this, r = JSON.parse(JSON.stringify(e)),
|
|
926
|
-
r = this.diffPatcher.patch(r, a[
|
|
925
|
+
} = this, r = JSON.parse(JSON.stringify(e)), n = 0; n < t; n += 1)
|
|
926
|
+
r = this.diffPatcher.patch(r, a[n]);
|
|
927
927
|
return console.log("getFullState state", r), r;
|
|
928
928
|
}
|
|
929
929
|
/**
|
|
@@ -952,12 +952,12 @@ class gt {
|
|
|
952
952
|
*/
|
|
953
953
|
loadStateFromFullState(e) {
|
|
954
954
|
var t = this;
|
|
955
|
-
return
|
|
955
|
+
return V(function* () {
|
|
956
956
|
if (e) {
|
|
957
957
|
console.log("loadStateFromFullState fullState", e), yield t.canvas.loadFromJSON(e);
|
|
958
|
-
var a = t.canvas.getObjects().find((
|
|
958
|
+
var a = t.canvas.getObjects().find((n) => n.id === "montage-area");
|
|
959
959
|
a && (t.editor.montageArea = a);
|
|
960
|
-
var r = t.canvas.getObjects().find((
|
|
960
|
+
var r = t.canvas.getObjects().find((n) => n.id === "overlay-mask");
|
|
961
961
|
r && (t.editor.interactionBlocker.overlayMask = r, t.editor.interactionBlocker.overlayMask.visible = !1), t.canvas.renderAll(), t.canvas.fire("editor:history-state-loaded");
|
|
962
962
|
}
|
|
963
963
|
})();
|
|
@@ -968,7 +968,7 @@ class gt {
|
|
|
968
968
|
*/
|
|
969
969
|
undo() {
|
|
970
970
|
var e = this;
|
|
971
|
-
return
|
|
971
|
+
return V(function* () {
|
|
972
972
|
if (!e.skipHistory) {
|
|
973
973
|
if (e.currentIndex <= 0) {
|
|
974
974
|
console.log("Нет предыдущих состояний для отмены.");
|
|
@@ -995,7 +995,7 @@ class gt {
|
|
|
995
995
|
*/
|
|
996
996
|
redo() {
|
|
997
997
|
var e = this;
|
|
998
|
-
return
|
|
998
|
+
return V(function* () {
|
|
999
999
|
if (!e.skipHistory) {
|
|
1000
1000
|
if (e.currentIndex >= e.patches.length) {
|
|
1001
1001
|
console.log("Нет состояний для повтора.");
|
|
@@ -1017,47 +1017,47 @@ class gt {
|
|
|
1017
1017
|
})();
|
|
1018
1018
|
}
|
|
1019
1019
|
}
|
|
1020
|
-
function
|
|
1020
|
+
function Y(i) {
|
|
1021
1021
|
var {
|
|
1022
1022
|
montageArea: e,
|
|
1023
1023
|
imageObject: t,
|
|
1024
1024
|
scaleType: a = "contain"
|
|
1025
|
-
} =
|
|
1025
|
+
} = i;
|
|
1026
1026
|
if (!e || !t) return 1;
|
|
1027
|
-
var r = e.width,
|
|
1027
|
+
var r = e.width, n = e.height, {
|
|
1028
1028
|
width: o,
|
|
1029
1029
|
height: s
|
|
1030
1030
|
} = t;
|
|
1031
|
-
return a === "contain" || a === "image-contain" ? Math.min(r / o,
|
|
1031
|
+
return a === "contain" || a === "image-contain" ? Math.min(r / o, n / s) : a === "cover" || a === "image-cover" ? Math.max(r / o, n / s) : 1;
|
|
1032
1032
|
}
|
|
1033
|
-
function
|
|
1034
|
-
var
|
|
1035
|
-
|
|
1036
|
-
var e =
|
|
1037
|
-
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
|
|
1038
|
-
source:
|
|
1033
|
+
function gt() {
|
|
1034
|
+
var i = document.createElement("canvas");
|
|
1035
|
+
i.width = 20, i.height = 20;
|
|
1036
|
+
var e = i.getContext("2d");
|
|
1037
|
+
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({
|
|
1038
|
+
source: i,
|
|
1039
1039
|
repeat: "repeat"
|
|
1040
1040
|
});
|
|
1041
1041
|
}
|
|
1042
|
-
var vt = 0.1, mt = 2, ft = 0.1, Mt = 90,
|
|
1043
|
-
function
|
|
1042
|
+
var vt = 0.1, mt = 2, ft = 0.1, Mt = 90, k = 16, x = 16, D = 4096, C = 4096;
|
|
1043
|
+
function Me(i, e, t, a, r, n, o) {
|
|
1044
1044
|
try {
|
|
1045
|
-
var s = n
|
|
1045
|
+
var s = i[n](o), c = s.value;
|
|
1046
1046
|
} catch (d) {
|
|
1047
1047
|
return void t(d);
|
|
1048
1048
|
}
|
|
1049
1049
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
1050
1050
|
}
|
|
1051
|
-
function
|
|
1051
|
+
function P(i) {
|
|
1052
1052
|
return function() {
|
|
1053
1053
|
var e = this, t = arguments;
|
|
1054
1054
|
return new Promise(function(a, r) {
|
|
1055
|
-
var
|
|
1055
|
+
var n = i.apply(e, t);
|
|
1056
1056
|
function o(c) {
|
|
1057
|
-
|
|
1057
|
+
Me(n, a, r, o, s, "next", c);
|
|
1058
1058
|
}
|
|
1059
1059
|
function s(c) {
|
|
1060
|
-
|
|
1060
|
+
Me(n, a, r, o, s, "throw", c);
|
|
1061
1061
|
}
|
|
1062
1062
|
o(void 0);
|
|
1063
1063
|
});
|
|
@@ -1087,11 +1087,11 @@ class L {
|
|
|
1087
1087
|
*/
|
|
1088
1088
|
importImage(e) {
|
|
1089
1089
|
var t = this;
|
|
1090
|
-
return
|
|
1090
|
+
return P(function* () {
|
|
1091
1091
|
var {
|
|
1092
1092
|
source: a,
|
|
1093
1093
|
scale: r = "image-".concat(t.options.scaleType),
|
|
1094
|
-
withoutSave:
|
|
1094
|
+
withoutSave: n = !1,
|
|
1095
1095
|
contentType: o = "image/png"
|
|
1096
1096
|
} = e;
|
|
1097
1097
|
if (a) {
|
|
@@ -1103,13 +1103,13 @@ class L {
|
|
|
1103
1103
|
} = t.editor;
|
|
1104
1104
|
l.suspendHistory();
|
|
1105
1105
|
try {
|
|
1106
|
-
var u,
|
|
1106
|
+
var u, h;
|
|
1107
1107
|
if (a instanceof File)
|
|
1108
1108
|
u = URL.createObjectURL(a);
|
|
1109
1109
|
else if (typeof a == "string") {
|
|
1110
|
-
var
|
|
1110
|
+
var g = yield fetch(a, {
|
|
1111
1111
|
mode: "cors"
|
|
1112
|
-
}), f = yield
|
|
1112
|
+
}), f = yield g.blob({
|
|
1113
1113
|
type: o,
|
|
1114
1114
|
quality: 1
|
|
1115
1115
|
});
|
|
@@ -1119,48 +1119,49 @@ class L {
|
|
|
1119
1119
|
t._createdBlobUrls.push(u);
|
|
1120
1120
|
var v = L.getFormatFromContentType(o);
|
|
1121
1121
|
if (v === "svg") {
|
|
1122
|
-
var
|
|
1123
|
-
|
|
1122
|
+
var y = yield ke(u);
|
|
1123
|
+
h = z.groupSVGElements(y.objects, y.options);
|
|
1124
1124
|
} else
|
|
1125
|
-
|
|
1125
|
+
h = yield de.fromURL(u, {
|
|
1126
1126
|
crossOrigin: "anonymous"
|
|
1127
1127
|
});
|
|
1128
|
-
g.set("id", "".concat(g.type, "-").concat(p())), g.set("format", v);
|
|
1129
1128
|
var {
|
|
1130
1129
|
width: m,
|
|
1131
|
-
height:
|
|
1132
|
-
} =
|
|
1133
|
-
if (
|
|
1134
|
-
var
|
|
1135
|
-
|
|
1130
|
+
height: b
|
|
1131
|
+
} = h;
|
|
1132
|
+
if (b > C || m > D) {
|
|
1133
|
+
var M = yield t.resizeImageToBoundaries(h._element.src, "max");
|
|
1134
|
+
console.log("resizedBlob", M);
|
|
1135
|
+
var I = URL.createObjectURL(M);
|
|
1136
|
+
console.log("resizedBlobURL", I), t._createdBlobUrls.push(I), h = yield de.fromURL(I, {
|
|
1136
1137
|
crossOrigin: "anonymous"
|
|
1137
|
-
});
|
|
1138
|
+
}), console.log("img после ресайза", h);
|
|
1138
1139
|
}
|
|
1139
|
-
if (r === "scale-montage")
|
|
1140
|
+
if (h.set("id", "".concat(h.type, "-").concat(S())), h.set("format", v), r === "scale-montage")
|
|
1140
1141
|
t.editor.canvasManager.scaleMontageAreaToImage({
|
|
1141
|
-
object:
|
|
1142
|
+
object: h,
|
|
1142
1143
|
withoutSave: !0
|
|
1143
1144
|
});
|
|
1144
1145
|
else {
|
|
1145
1146
|
var {
|
|
1146
1147
|
width: O,
|
|
1147
1148
|
height: A
|
|
1148
|
-
} = c,
|
|
1149
|
+
} = c, w = Y({
|
|
1149
1150
|
montageArea: c,
|
|
1150
|
-
imageObject:
|
|
1151
|
+
imageObject: h,
|
|
1151
1152
|
scaleType: r
|
|
1152
1153
|
});
|
|
1153
|
-
r === "image-contain" &&
|
|
1154
|
-
object:
|
|
1154
|
+
r === "image-contain" && w < 1 ? d.fitObject({
|
|
1155
|
+
object: h,
|
|
1155
1156
|
type: "contain",
|
|
1156
1157
|
withoutSave: !0
|
|
1157
|
-
}) : r === "image-cover" && (m > O ||
|
|
1158
|
-
object:
|
|
1158
|
+
}) : r === "image-cover" && (m > O || b > A) && d.fitObject({
|
|
1159
|
+
object: h,
|
|
1159
1160
|
type: "cover",
|
|
1160
1161
|
withoutSave: !0
|
|
1161
1162
|
});
|
|
1162
1163
|
}
|
|
1163
|
-
s.add(
|
|
1164
|
+
s.add(h), s.centerObject(h), s.setActiveObject(h), s.renderAll(), l.resumeHistory(), n || l.saveState();
|
|
1164
1165
|
} catch (T) {
|
|
1165
1166
|
console.error("importImage. Ошибка импорта изображения: ", T), s.fire("editor:error", {
|
|
1166
1167
|
message: "Ошибка импорта изображения: ".concat(T.message)
|
|
@@ -1179,15 +1180,15 @@ class L {
|
|
|
1179
1180
|
*/
|
|
1180
1181
|
resizeImageToBoundaries(e) {
|
|
1181
1182
|
var t = arguments, a = this;
|
|
1182
|
-
return
|
|
1183
|
-
var r = t.length > 1 && t[1] !== void 0 ? t[1] : "max",
|
|
1184
|
-
console.warn("importImage. ".concat(
|
|
1185
|
-
message:
|
|
1183
|
+
return P(function* () {
|
|
1184
|
+
var r = t.length > 1 && t[1] !== void 0 ? t[1] : "max", n = "Размер изображения больше максимального размера канваса, поэтому оно будет уменьшено до максимальных размеров: ".concat(D, "x").concat(C);
|
|
1185
|
+
console.warn("importImage. ".concat(n)), a.editor.canvas.fire("editor:warning", {
|
|
1186
|
+
message: n
|
|
1186
1187
|
});
|
|
1187
1188
|
var o = yield a.editor.workerManager.post("resizeImage", {
|
|
1188
1189
|
dataURL: e,
|
|
1189
|
-
maxWidth:
|
|
1190
|
-
maxHeight:
|
|
1190
|
+
maxWidth: D,
|
|
1191
|
+
maxHeight: C,
|
|
1191
1192
|
sizeType: r
|
|
1192
1193
|
});
|
|
1193
1194
|
return o;
|
|
@@ -1206,38 +1207,38 @@ class L {
|
|
|
1206
1207
|
*/
|
|
1207
1208
|
exportCanvasAsImageFile() {
|
|
1208
1209
|
var e = arguments, t = this;
|
|
1209
|
-
return
|
|
1210
|
+
return P(function* () {
|
|
1210
1211
|
var {
|
|
1211
1212
|
fileName: a = "image.png",
|
|
1212
1213
|
contentType: r = "image/png",
|
|
1213
|
-
exportAsBase64:
|
|
1214
|
+
exportAsBase64: n = !1,
|
|
1214
1215
|
exportAsBlob: o = !1
|
|
1215
1216
|
} = e.length > 0 && e[0] !== void 0 ? e[0] : {}, {
|
|
1216
1217
|
canvas: s,
|
|
1217
1218
|
montageArea: c,
|
|
1218
1219
|
workerManager: d
|
|
1219
|
-
} = t.editor, l = r === "application/pdf", u = l ? "image/jpg" : r,
|
|
1220
|
+
} = t.editor, l = r === "application/pdf", u = l ? "image/jpg" : r, h = L.getFormatFromContentType(u);
|
|
1220
1221
|
c.setCoords();
|
|
1221
1222
|
var {
|
|
1222
|
-
left:
|
|
1223
|
+
left: g,
|
|
1223
1224
|
top: f,
|
|
1224
1225
|
width: v,
|
|
1225
|
-
height:
|
|
1226
|
+
height: y
|
|
1226
1227
|
} = c.getBoundingRect(), m = yield s.clone(["id", "format", "locked"]);
|
|
1227
1228
|
["image/jpg", "image/jpeg"].includes(u) && (m.backgroundColor = "#ffffff");
|
|
1228
|
-
var
|
|
1229
|
-
|
|
1229
|
+
var b = m.getObjects().find((N) => N.id === c.id);
|
|
1230
|
+
b.visible = !1, m.viewportTransform = [1, 0, 0, 1, -g, -f], m.setDimensions({
|
|
1230
1231
|
width: v,
|
|
1231
|
-
height:
|
|
1232
|
+
height: y
|
|
1232
1233
|
}, {
|
|
1233
1234
|
backstoreOnly: !0
|
|
1234
1235
|
}), m.renderAll();
|
|
1235
|
-
var
|
|
1236
|
-
if (
|
|
1237
|
-
var
|
|
1236
|
+
var M = m.getObjects().filter((N) => N.format).every((N) => N.format === "svg");
|
|
1237
|
+
if (h === "svg" && M) {
|
|
1238
|
+
var I = m.toSVG();
|
|
1238
1239
|
m.dispose();
|
|
1239
|
-
var O = L._exportSVGStringAsFile(
|
|
1240
|
-
exportAsBase64:
|
|
1240
|
+
var O = L._exportSVGStringAsFile(I, {
|
|
1241
|
+
exportAsBase64: n,
|
|
1241
1242
|
exportAsBlob: o,
|
|
1242
1243
|
fileName: a
|
|
1243
1244
|
}), A = {
|
|
@@ -1248,66 +1249,66 @@ class L {
|
|
|
1248
1249
|
};
|
|
1249
1250
|
return s.fire("editor:canvas-exported", A), A;
|
|
1250
1251
|
}
|
|
1251
|
-
var
|
|
1252
|
-
m.getElement().toBlob(
|
|
1252
|
+
var w = yield new Promise((N) => {
|
|
1253
|
+
m.getElement().toBlob(N);
|
|
1253
1254
|
});
|
|
1254
1255
|
if (m.dispose(), o) {
|
|
1255
1256
|
var T = {
|
|
1256
|
-
image:
|
|
1257
|
-
format:
|
|
1257
|
+
image: w,
|
|
1258
|
+
format: h,
|
|
1258
1259
|
contentType: u,
|
|
1259
1260
|
fileName: a
|
|
1260
1261
|
};
|
|
1261
1262
|
return s.fire("editor:canvas-exported", T), T;
|
|
1262
1263
|
}
|
|
1263
|
-
var
|
|
1264
|
-
format:
|
|
1264
|
+
var ae = yield createImageBitmap(w), re = yield d.post("toDataURL", {
|
|
1265
|
+
format: h,
|
|
1265
1266
|
quality: 1,
|
|
1266
|
-
bitmap:
|
|
1267
|
-
}, [
|
|
1267
|
+
bitmap: ae
|
|
1268
|
+
}, [ae]);
|
|
1268
1269
|
if (l) {
|
|
1269
|
-
var
|
|
1270
|
-
orientation:
|
|
1270
|
+
var ne = 0.264583, W = v * ne, _ = y * ne, we = (yield t.editor.moduleLoader.loadModule("jspdf")).jsPDF, R = new we({
|
|
1271
|
+
orientation: W > _ ? "landscape" : "portrait",
|
|
1271
1272
|
unit: "mm",
|
|
1272
|
-
format: [
|
|
1273
|
+
format: [W, _]
|
|
1273
1274
|
});
|
|
1274
|
-
if (
|
|
1275
|
-
var
|
|
1276
|
-
image:
|
|
1275
|
+
if (R.addImage(re, "JPG", 0, 0, W, _), n) {
|
|
1276
|
+
var Ne = R.output("datauristring"), ie = {
|
|
1277
|
+
image: Ne,
|
|
1277
1278
|
format: "pdf",
|
|
1278
1279
|
contentType: "application/pdf",
|
|
1279
1280
|
fileName: a
|
|
1280
1281
|
};
|
|
1281
1282
|
return s.fire("editor:canvas-exported", ie), ie;
|
|
1282
1283
|
}
|
|
1283
|
-
var
|
|
1284
|
+
var De = R.output("blob"), Ce = new File([De], a, {
|
|
1284
1285
|
type: "application/pdf"
|
|
1285
|
-
}),
|
|
1286
|
-
image:
|
|
1286
|
+
}), oe = {
|
|
1287
|
+
image: Ce,
|
|
1287
1288
|
format: "pdf",
|
|
1288
1289
|
contentType: "application/pdf",
|
|
1289
1290
|
fileName: a
|
|
1290
1291
|
};
|
|
1291
|
-
return s.fire("editor:canvas-exported",
|
|
1292
|
+
return s.fire("editor:canvas-exported", oe), oe;
|
|
1292
1293
|
}
|
|
1293
|
-
if (
|
|
1294
|
-
var
|
|
1295
|
-
image:
|
|
1296
|
-
format:
|
|
1294
|
+
if (n) {
|
|
1295
|
+
var se = {
|
|
1296
|
+
image: re,
|
|
1297
|
+
format: h,
|
|
1297
1298
|
contentType: u,
|
|
1298
1299
|
fileName: a
|
|
1299
1300
|
};
|
|
1300
|
-
return s.fire("editor:canvas-exported",
|
|
1301
|
+
return s.fire("editor:canvas-exported", se), se;
|
|
1301
1302
|
}
|
|
1302
|
-
var
|
|
1303
|
+
var ce = h === "svg" && !M ? a.replace(/\.[^/.]+$/, ".png") : a, Le = new File([w], ce, {
|
|
1303
1304
|
type: u
|
|
1304
|
-
}),
|
|
1305
|
-
image:
|
|
1306
|
-
format:
|
|
1305
|
+
}), ue = {
|
|
1306
|
+
image: Le,
|
|
1307
|
+
format: h,
|
|
1307
1308
|
contentType: u,
|
|
1308
|
-
fileName:
|
|
1309
|
+
fileName: ce
|
|
1309
1310
|
};
|
|
1310
|
-
return s.fire("editor:canvas-exported",
|
|
1311
|
+
return s.fire("editor:canvas-exported", ue), ue;
|
|
1311
1312
|
})();
|
|
1312
1313
|
}
|
|
1313
1314
|
/**
|
|
@@ -1323,11 +1324,11 @@ class L {
|
|
|
1323
1324
|
*/
|
|
1324
1325
|
exportObjectAsImageFile() {
|
|
1325
1326
|
var e = arguments, t = this;
|
|
1326
|
-
return
|
|
1327
|
+
return P(function* () {
|
|
1327
1328
|
var {
|
|
1328
1329
|
object: a,
|
|
1329
1330
|
fileName: r = "image.png",
|
|
1330
|
-
contentType:
|
|
1331
|
+
contentType: n = "image/png",
|
|
1331
1332
|
exportAsBase64: o = !1,
|
|
1332
1333
|
exportAsBlob: s = !1
|
|
1333
1334
|
} = e.length > 0 && e[0] !== void 0 ? e[0] : {}, {
|
|
@@ -1338,14 +1339,14 @@ class L {
|
|
|
1338
1339
|
return console.error("exportObjectAsDataURL. Не выбран объект"), c.fire("editor:error", {
|
|
1339
1340
|
message: "Не выбран объект для экспорта"
|
|
1340
1341
|
}), "";
|
|
1341
|
-
var u = L.getFormatFromContentType(
|
|
1342
|
+
var u = L.getFormatFromContentType(n);
|
|
1342
1343
|
if (u === "svg") {
|
|
1343
|
-
var
|
|
1344
|
+
var h = l.toSVG(), g = t._exportSVGStringAsFile(h, {
|
|
1344
1345
|
exportAsBase64: o,
|
|
1345
1346
|
exportAsBlob: s,
|
|
1346
1347
|
fileName: r
|
|
1347
1348
|
}), f = {
|
|
1348
|
-
image:
|
|
1349
|
+
image: g,
|
|
1349
1350
|
format: u,
|
|
1350
1351
|
contentType: "image/svg+xml",
|
|
1351
1352
|
fileName: r.replace(/\.[^/.]+$/, ".svg")
|
|
@@ -1353,36 +1354,36 @@ class L {
|
|
|
1353
1354
|
return c.fire("editor:object-exported", f), f;
|
|
1354
1355
|
}
|
|
1355
1356
|
if (o) {
|
|
1356
|
-
var v = yield createImageBitmap(l._element),
|
|
1357
|
+
var v = yield createImageBitmap(l._element), y = yield d.post("toDataURL", {
|
|
1357
1358
|
format: u,
|
|
1358
1359
|
quality: 1,
|
|
1359
1360
|
bitmap: v
|
|
1360
1361
|
}, [v]), m = {
|
|
1361
|
-
image:
|
|
1362
|
+
image: y,
|
|
1362
1363
|
format: u,
|
|
1363
|
-
contentType:
|
|
1364
|
+
contentType: n,
|
|
1364
1365
|
fileName: r
|
|
1365
1366
|
};
|
|
1366
1367
|
return c.fire("editor:object-exported", m), m;
|
|
1367
1368
|
}
|
|
1368
|
-
var
|
|
1369
|
-
|
|
1369
|
+
var b = l.toCanvasElement(), M = yield new Promise((w) => {
|
|
1370
|
+
b.toBlob(w);
|
|
1370
1371
|
});
|
|
1371
1372
|
if (s) {
|
|
1372
|
-
var
|
|
1373
|
-
image:
|
|
1373
|
+
var I = {
|
|
1374
|
+
image: M,
|
|
1374
1375
|
format: u,
|
|
1375
|
-
contentType:
|
|
1376
|
+
contentType: n,
|
|
1376
1377
|
fileName: r
|
|
1377
1378
|
};
|
|
1378
|
-
return c.fire("editor:object-exported",
|
|
1379
|
+
return c.fire("editor:object-exported", I), I;
|
|
1379
1380
|
}
|
|
1380
|
-
var O = new File([
|
|
1381
|
-
type:
|
|
1381
|
+
var O = new File([M], r, {
|
|
1382
|
+
type: n
|
|
1382
1383
|
}), A = {
|
|
1383
1384
|
image: O,
|
|
1384
1385
|
format: u,
|
|
1385
|
-
contentType:
|
|
1386
|
+
contentType: n,
|
|
1386
1387
|
fileName: r
|
|
1387
1388
|
};
|
|
1388
1389
|
return c.fire("editor:object-exported", A), A;
|
|
@@ -1457,7 +1458,7 @@ class jt {
|
|
|
1457
1458
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1458
1459
|
if (e) {
|
|
1459
1460
|
var {
|
|
1460
|
-
canvas:
|
|
1461
|
+
canvas: n,
|
|
1461
1462
|
montageArea: o,
|
|
1462
1463
|
options: {
|
|
1463
1464
|
canvasBackstoreWidth: s
|
|
@@ -1465,21 +1466,21 @@ class jt {
|
|
|
1465
1466
|
} = this.editor, {
|
|
1466
1467
|
width: c,
|
|
1467
1468
|
height: d
|
|
1468
|
-
} = o, l = Number(Math.max(Math.min(e,
|
|
1469
|
+
} = o, l = Number(Math.max(Math.min(e, D), k));
|
|
1469
1470
|
if (!s || s === "auto" || r ? this.adaptCanvasToContainer() : s ? this.setCanvasBackstoreWidth(s) : this.setCanvasBackstoreWidth(l), o.set({
|
|
1470
1471
|
width: l
|
|
1471
|
-
}),
|
|
1472
|
+
}), n.clipPath.set({
|
|
1472
1473
|
width: l
|
|
1473
1474
|
}), t) {
|
|
1474
|
-
var u = l / c,
|
|
1475
|
-
this.setResolutionHeight(
|
|
1475
|
+
var u = l / c, h = d * u;
|
|
1476
|
+
this.setResolutionHeight(h);
|
|
1476
1477
|
return;
|
|
1477
1478
|
}
|
|
1478
1479
|
var {
|
|
1479
|
-
left:
|
|
1480
|
+
left: g,
|
|
1480
1481
|
top: f
|
|
1481
|
-
} = this.getObjectDefaultCoords(o), v =
|
|
1482
|
-
|
|
1482
|
+
} = this.getObjectDefaultCoords(o), v = n.getZoom();
|
|
1483
|
+
n.setViewportTransform([v, 0, 0, v, g, f]), this.centerMontageArea(), a || this.editor.historyManager.saveState(), n == null || n.fire("editor:resolution-width-changed", {
|
|
1483
1484
|
width: e
|
|
1484
1485
|
});
|
|
1485
1486
|
}
|
|
@@ -1500,7 +1501,7 @@ class jt {
|
|
|
1500
1501
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1501
1502
|
if (e) {
|
|
1502
1503
|
var {
|
|
1503
|
-
canvas:
|
|
1504
|
+
canvas: n,
|
|
1504
1505
|
montageArea: o,
|
|
1505
1506
|
options: {
|
|
1506
1507
|
canvasBackstoreHeight: s
|
|
@@ -1508,21 +1509,21 @@ class jt {
|
|
|
1508
1509
|
} = this.editor, {
|
|
1509
1510
|
width: c,
|
|
1510
1511
|
height: d
|
|
1511
|
-
} = o, l = Number(Math.max(Math.min(e,
|
|
1512
|
+
} = o, l = Number(Math.max(Math.min(e, C), x));
|
|
1512
1513
|
if (!s || s === "auto" || r ? this.adaptCanvasToContainer() : s ? this.setCanvasBackstoreHeight(s) : this.setCanvasBackstoreHeight(l), o.set({
|
|
1513
1514
|
height: l
|
|
1514
|
-
}),
|
|
1515
|
+
}), n.clipPath.set({
|
|
1515
1516
|
height: l
|
|
1516
1517
|
}), t) {
|
|
1517
|
-
var u = l / d,
|
|
1518
|
-
this.setResolutionWidth(
|
|
1518
|
+
var u = l / d, h = c * u;
|
|
1519
|
+
this.setResolutionWidth(h);
|
|
1519
1520
|
return;
|
|
1520
1521
|
}
|
|
1521
1522
|
var {
|
|
1522
|
-
left:
|
|
1523
|
+
left: g,
|
|
1523
1524
|
top: f
|
|
1524
|
-
} = this.getObjectDefaultCoords(o), v =
|
|
1525
|
-
|
|
1525
|
+
} = this.getObjectDefaultCoords(o), v = n.getZoom();
|
|
1526
|
+
n.setViewportTransform([v, 0, 0, v, g, f]), this.centerMontageArea(), a || this.editor.historyManager.saveState(), n == null || n.fire("editor:resolution-height-changed", {
|
|
1526
1527
|
height: e
|
|
1527
1528
|
});
|
|
1528
1529
|
}
|
|
@@ -1535,7 +1536,7 @@ class jt {
|
|
|
1535
1536
|
var {
|
|
1536
1537
|
canvas: e,
|
|
1537
1538
|
montageArea: t
|
|
1538
|
-
} = this.editor, a = e.getWidth(), r = e.getHeight(),
|
|
1539
|
+
} = this.editor, a = e.getWidth(), r = e.getHeight(), n = e.getZoom(), o = new xe(a / 2, r / 2);
|
|
1539
1540
|
t.set({
|
|
1540
1541
|
left: a / 2,
|
|
1541
1542
|
top: r / 2
|
|
@@ -1544,7 +1545,7 @@ class jt {
|
|
|
1544
1545
|
top: r / 2
|
|
1545
1546
|
}), e.renderAll();
|
|
1546
1547
|
var s = e.viewportTransform;
|
|
1547
|
-
s[4] = a / 2 - o.x *
|
|
1548
|
+
s[4] = a / 2 - o.x * n, s[5] = r / 2 - o.y * n, e.setViewportTransform(s), e.renderAll();
|
|
1548
1549
|
}
|
|
1549
1550
|
/**
|
|
1550
1551
|
* Метод для получения координат объекта с учетом текущего зума
|
|
@@ -1561,8 +1562,8 @@ class jt {
|
|
|
1561
1562
|
}), {};
|
|
1562
1563
|
var {
|
|
1563
1564
|
width: r,
|
|
1564
|
-
height:
|
|
1565
|
-
} = a, o = t.getZoom(), s = (r - r * o) / 2, c = (
|
|
1565
|
+
height: n
|
|
1566
|
+
} = a, o = t.getZoom(), s = (r - r * o) / 2, c = (n - n * o) / 2;
|
|
1566
1567
|
return {
|
|
1567
1568
|
left: s,
|
|
1568
1569
|
top: c
|
|
@@ -1570,7 +1571,7 @@ class jt {
|
|
|
1570
1571
|
}
|
|
1571
1572
|
setCanvasBackstoreWidth(e) {
|
|
1572
1573
|
if (!(!e || typeof e != "number")) {
|
|
1573
|
-
var t = Math.max(Math.min(e,
|
|
1574
|
+
var t = Math.max(Math.min(e, D), k);
|
|
1574
1575
|
this.editor.canvas.setDimensions({
|
|
1575
1576
|
width: t
|
|
1576
1577
|
}, {
|
|
@@ -1580,7 +1581,7 @@ class jt {
|
|
|
1580
1581
|
}
|
|
1581
1582
|
setCanvasBackstoreHeight(e) {
|
|
1582
1583
|
if (!(!e || typeof e != "number")) {
|
|
1583
|
-
var t = Math.max(Math.min(e,
|
|
1584
|
+
var t = Math.max(Math.min(e, C), x);
|
|
1584
1585
|
this.editor.canvas.setDimensions({
|
|
1585
1586
|
height: t
|
|
1586
1587
|
}, {
|
|
@@ -1591,9 +1592,9 @@ class jt {
|
|
|
1591
1592
|
adaptCanvasToContainer() {
|
|
1592
1593
|
var {
|
|
1593
1594
|
canvas: e
|
|
1594
|
-
} = this.editor, t = e.editorContainer, a = t.clientWidth, r = t.clientHeight,
|
|
1595
|
-
console.log("adaptCanvasToContainer newWidth",
|
|
1596
|
-
width:
|
|
1595
|
+
} = this.editor, t = e.editorContainer, a = t.clientWidth, r = t.clientHeight, n = Math.max(Math.min(a, D), k), o = Math.max(Math.min(r, C), x);
|
|
1596
|
+
console.log("adaptCanvasToContainer newWidth", n), console.log("adaptCanvasToContainer newHeight", o), e.setDimensions({
|
|
1597
|
+
width: n,
|
|
1597
1598
|
height: o
|
|
1598
1599
|
}, {
|
|
1599
1600
|
backstoreOnly: !0
|
|
@@ -1690,7 +1691,7 @@ class jt {
|
|
|
1690
1691
|
var {
|
|
1691
1692
|
canvas: r,
|
|
1692
1693
|
options: {
|
|
1693
|
-
editorContainer:
|
|
1694
|
+
editorContainer: n
|
|
1694
1695
|
}
|
|
1695
1696
|
} = this.editor, o = [];
|
|
1696
1697
|
switch (e) {
|
|
@@ -1701,7 +1702,7 @@ class jt {
|
|
|
1701
1702
|
o.push(r.wrapperEl);
|
|
1702
1703
|
break;
|
|
1703
1704
|
case "container":
|
|
1704
|
-
o.push(
|
|
1705
|
+
o.push(n);
|
|
1705
1706
|
break;
|
|
1706
1707
|
default:
|
|
1707
1708
|
o.push(r.lowerCanvasEl, r.upperCanvasEl);
|
|
@@ -1740,7 +1741,7 @@ class jt {
|
|
|
1740
1741
|
withoutSave: a
|
|
1741
1742
|
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
1742
1743
|
canvas: r,
|
|
1743
|
-
montageArea:
|
|
1744
|
+
montageArea: n,
|
|
1744
1745
|
transformManager: o,
|
|
1745
1746
|
options: {
|
|
1746
1747
|
montageAreaWidth: s,
|
|
@@ -1752,28 +1753,28 @@ class jt {
|
|
|
1752
1753
|
width: l,
|
|
1753
1754
|
height: u
|
|
1754
1755
|
} = d;
|
|
1755
|
-
if (l <
|
|
1756
|
-
var
|
|
1757
|
-
console.warn("scaleMontageAreaToImage. ".concat(
|
|
1758
|
-
message:
|
|
1756
|
+
if (l < k || u < x) {
|
|
1757
|
+
var h = "Размер изображения меньше минимального размера канваса, поэтому оно будет растянуто до минимальных размеров: ".concat(k, "x").concat(x);
|
|
1758
|
+
console.warn("scaleMontageAreaToImage. ".concat(h)), r.fire("editor:warning", {
|
|
1759
|
+
message: h
|
|
1759
1760
|
});
|
|
1760
1761
|
}
|
|
1761
|
-
var
|
|
1762
|
+
var g = Math.min(l, D), f = Math.min(u, C);
|
|
1762
1763
|
if (t) {
|
|
1763
1764
|
var {
|
|
1764
1765
|
width: v,
|
|
1765
|
-
height:
|
|
1766
|
-
} =
|
|
1767
|
-
|
|
1766
|
+
height: y
|
|
1767
|
+
} = n, m = l / v, b = u / y, M = Math.max(m, b);
|
|
1768
|
+
g = v * M, f = y * M;
|
|
1768
1769
|
}
|
|
1769
|
-
this.setResolutionWidth(
|
|
1770
|
+
this.setResolutionWidth(g, {
|
|
1770
1771
|
withoutSave: !0
|
|
1771
1772
|
}), this.setResolutionHeight(f, {
|
|
1772
1773
|
withoutSave: !0
|
|
1773
1774
|
}), (l > s || u > c) && o.calculateAndApplyDefaultZoom(s, c), o.resetObject(d, {
|
|
1774
1775
|
withoutSave: !0
|
|
1775
1776
|
}), r.centerObject(d), r.renderAll(), a || this.editor.historyManager.saveState(), r.fire("editor:canvas-scaled", {
|
|
1776
|
-
width:
|
|
1777
|
+
width: g,
|
|
1777
1778
|
height: f
|
|
1778
1779
|
});
|
|
1779
1780
|
}
|
|
@@ -1804,11 +1805,11 @@ class jt {
|
|
|
1804
1805
|
transformManager: a,
|
|
1805
1806
|
historyManager: r,
|
|
1806
1807
|
options: {
|
|
1807
|
-
montageAreaWidth:
|
|
1808
|
+
montageAreaWidth: n,
|
|
1808
1809
|
montageAreaHeight: o
|
|
1809
1810
|
}
|
|
1810
1811
|
} = this.editor;
|
|
1811
|
-
a.resetZoom(), this.setResolutionWidth(
|
|
1812
|
+
a.resetZoom(), this.setResolutionWidth(n, {
|
|
1812
1813
|
withoutSave: !0
|
|
1813
1814
|
}), this.setResolutionHeight(o, {
|
|
1814
1815
|
withoutSave: !0
|
|
@@ -1826,7 +1827,7 @@ class jt {
|
|
|
1826
1827
|
overlayMask: a
|
|
1827
1828
|
}
|
|
1828
1829
|
} = this.editor, r = e.getObjects();
|
|
1829
|
-
return r.filter((
|
|
1830
|
+
return r.filter((n) => n.id !== t.id && n.id !== a.id);
|
|
1830
1831
|
}
|
|
1831
1832
|
}
|
|
1832
1833
|
class yt {
|
|
@@ -1851,7 +1852,7 @@ class yt {
|
|
|
1851
1852
|
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, {
|
|
1852
1853
|
width: a,
|
|
1853
1854
|
height: r
|
|
1854
|
-
} = this.editor.montageArea,
|
|
1855
|
+
} = this.editor.montageArea, n = e / a, o = t / r, s = Math.min(n, o), {
|
|
1855
1856
|
minZoom: c,
|
|
1856
1857
|
maxZoom: d,
|
|
1857
1858
|
maxZoomFactor: l
|
|
@@ -1871,15 +1872,15 @@ class yt {
|
|
|
1871
1872
|
var e, t, a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ft, r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1872
1873
|
if (a) {
|
|
1873
1874
|
var {
|
|
1874
|
-
canvas:
|
|
1875
|
+
canvas: n,
|
|
1875
1876
|
minZoom: o,
|
|
1876
1877
|
maxZoom: s
|
|
1877
|
-
} = this.editor, c =
|
|
1878
|
-
u > s && (u = s), u < o && (u = o), console.log("currentZoom", c),
|
|
1878
|
+
} = this.editor, c = n.getZoom(), d = (e = r.pointX) !== null && e !== void 0 ? e : n.getWidth() / 2, l = (t = r.pointY) !== null && t !== void 0 ? t : n.getHeight() / 2, u = Number((c + Number(a)).toFixed(2));
|
|
1879
|
+
u > s && (u = s), u < o && (u = o), console.log("currentZoom", c), n.zoomToPoint({
|
|
1879
1880
|
x: Number(d),
|
|
1880
1881
|
y: Number(l)
|
|
1881
|
-
}, u),
|
|
1882
|
-
currentZoom:
|
|
1882
|
+
}, u), n.fire("editor:zoom-changed", {
|
|
1883
|
+
currentZoom: n.getZoom(),
|
|
1883
1884
|
zoom: u,
|
|
1884
1885
|
pointX: d,
|
|
1885
1886
|
pointY: l
|
|
@@ -1896,14 +1897,14 @@ class yt {
|
|
|
1896
1897
|
canvas: t,
|
|
1897
1898
|
minZoom: a,
|
|
1898
1899
|
maxZoom: r
|
|
1899
|
-
} = this.editor,
|
|
1900
|
+
} = this.editor, n = t.getWidth() / 2, o = t.getHeight() / 2, s = e;
|
|
1900
1901
|
e > r && (s = r), e < a && (s = a), t.zoomToPoint({
|
|
1901
|
-
x: Number(
|
|
1902
|
+
x: Number(n),
|
|
1902
1903
|
y: Number(o)
|
|
1903
1904
|
}, s), t.fire("editor:zoom-changed", {
|
|
1904
1905
|
currentZoom: t.getZoom(),
|
|
1905
1906
|
zoom: s,
|
|
1906
|
-
pointX:
|
|
1907
|
+
pointX: n,
|
|
1907
1908
|
pointY: o
|
|
1908
1909
|
});
|
|
1909
1910
|
}
|
|
@@ -1936,10 +1937,10 @@ class yt {
|
|
|
1936
1937
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
1937
1938
|
canvas: a,
|
|
1938
1939
|
historyManager: r
|
|
1939
|
-
} = this.editor,
|
|
1940
|
-
if (
|
|
1941
|
-
var o =
|
|
1942
|
-
|
|
1940
|
+
} = this.editor, n = a.getActiveObject();
|
|
1941
|
+
if (n) {
|
|
1942
|
+
var o = n.angle + e;
|
|
1943
|
+
n.rotate(o), n.setCoords(), a.renderAll(), t || r.saveState(), a.fire("editor:object-rotated", {
|
|
1943
1944
|
angle: o
|
|
1944
1945
|
});
|
|
1945
1946
|
}
|
|
@@ -1986,11 +1987,11 @@ class yt {
|
|
|
1986
1987
|
withoutSave: a
|
|
1987
1988
|
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
1988
1989
|
canvas: r,
|
|
1989
|
-
historyManager:
|
|
1990
|
+
historyManager: n
|
|
1990
1991
|
} = this.editor, o = e || r.getActiveObject();
|
|
1991
1992
|
o && (o.type === "activeselection" ? o.getObjects().forEach((s) => {
|
|
1992
1993
|
s.set("opacity", t);
|
|
1993
|
-
}) : o.set("opacity", t), r.renderAll(), a ||
|
|
1994
|
+
}) : o.set("opacity", t), r.renderAll(), a || n.saveState(), r.fire("editor:object-opacity-changed", t));
|
|
1994
1995
|
}
|
|
1995
1996
|
/**
|
|
1996
1997
|
* Масштабирование изображения
|
|
@@ -2010,34 +2011,34 @@ class yt {
|
|
|
2010
2011
|
withoutSave: a,
|
|
2011
2012
|
fitAsOneObject: r
|
|
2012
2013
|
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
2013
|
-
canvas:
|
|
2014
|
+
canvas: n,
|
|
2014
2015
|
montageArea: o,
|
|
2015
2016
|
historyManager: s
|
|
2016
|
-
} = this.editor, c = e ||
|
|
2017
|
+
} = this.editor, c = e || n.getActiveObject();
|
|
2017
2018
|
if (c) {
|
|
2018
2019
|
if (["activeselection"].includes(c.type) && !r) {
|
|
2019
2020
|
var d = c.getObjects();
|
|
2020
|
-
|
|
2021
|
-
var
|
|
2021
|
+
n.discardActiveObject(), d.forEach((h) => {
|
|
2022
|
+
var g = Y({
|
|
2022
2023
|
montageArea: o,
|
|
2023
|
-
imageObject:
|
|
2024
|
+
imageObject: h,
|
|
2024
2025
|
scaleType: t
|
|
2025
2026
|
});
|
|
2026
|
-
|
|
2027
|
+
h.scale(g), n.centerObject(h);
|
|
2027
2028
|
});
|
|
2028
|
-
var l = new
|
|
2029
|
-
canvas:
|
|
2029
|
+
var l = new Z(d, {
|
|
2030
|
+
canvas: n
|
|
2030
2031
|
});
|
|
2031
|
-
|
|
2032
|
+
n.setActiveObject(l);
|
|
2032
2033
|
} else {
|
|
2033
|
-
var u =
|
|
2034
|
+
var u = Y({
|
|
2034
2035
|
montageArea: o,
|
|
2035
2036
|
imageObject: c,
|
|
2036
2037
|
scaleType: t
|
|
2037
2038
|
});
|
|
2038
|
-
c.scale(u),
|
|
2039
|
+
c.scale(u), n.centerObject(c);
|
|
2039
2040
|
}
|
|
2040
|
-
|
|
2041
|
+
n.renderAll(), a || s.saveState(), n.fire("editor:image-fitted", {
|
|
2041
2042
|
type: t
|
|
2042
2043
|
});
|
|
2043
2044
|
}
|
|
@@ -2063,7 +2064,7 @@ class yt {
|
|
|
2063
2064
|
withoutSave: a = !1
|
|
2064
2065
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
2065
2066
|
canvas: r,
|
|
2066
|
-
montageArea:
|
|
2067
|
+
montageArea: n,
|
|
2067
2068
|
historyManager: o,
|
|
2068
2069
|
options: {
|
|
2069
2070
|
scaleType: s
|
|
@@ -2085,15 +2086,15 @@ class yt {
|
|
|
2085
2086
|
var {
|
|
2086
2087
|
width: d,
|
|
2087
2088
|
height: l
|
|
2088
|
-
} =
|
|
2089
|
+
} = n, {
|
|
2089
2090
|
width: u,
|
|
2090
|
-
height:
|
|
2091
|
-
} = c,
|
|
2092
|
-
montageArea:
|
|
2091
|
+
height: h
|
|
2092
|
+
} = c, g = Y({
|
|
2093
|
+
montageArea: n,
|
|
2093
2094
|
imageObject: c,
|
|
2094
2095
|
scaleType: s
|
|
2095
2096
|
});
|
|
2096
|
-
s === "contain" &&
|
|
2097
|
+
s === "contain" && g < 1 || s === "cover" && (u > d || h > l) ? this.fitObject({
|
|
2097
2098
|
object: c,
|
|
2098
2099
|
withoutSave: !0
|
|
2099
2100
|
}) : c.set({
|
|
@@ -2109,7 +2110,7 @@ class yt {
|
|
|
2109
2110
|
}
|
|
2110
2111
|
}
|
|
2111
2112
|
}
|
|
2112
|
-
class
|
|
2113
|
+
class pt {
|
|
2113
2114
|
/**
|
|
2114
2115
|
* @param {object} options
|
|
2115
2116
|
* @param {ImageEditor} options.editor – экземпляр редактора
|
|
@@ -2159,13 +2160,13 @@ class bt {
|
|
|
2159
2160
|
a.suspendHistory(), t.setCoords();
|
|
2160
2161
|
var {
|
|
2161
2162
|
left: r,
|
|
2162
|
-
top:
|
|
2163
|
+
top: n,
|
|
2163
2164
|
width: o,
|
|
2164
2165
|
height: s
|
|
2165
2166
|
} = t.getBoundingRect();
|
|
2166
2167
|
this.overlayMask.set({
|
|
2167
2168
|
left: r,
|
|
2168
|
-
top:
|
|
2169
|
+
top: n,
|
|
2169
2170
|
width: o,
|
|
2170
2171
|
height: s
|
|
2171
2172
|
}), e.discardActiveObject(), this.editor.layerManager.bringToFront(this.overlayMask, {
|
|
@@ -2235,10 +2236,10 @@ class H {
|
|
|
2235
2236
|
historyManager: r
|
|
2236
2237
|
} = this.editor;
|
|
2237
2238
|
r.suspendHistory();
|
|
2238
|
-
var
|
|
2239
|
-
|
|
2239
|
+
var n = e || a.getActiveObject();
|
|
2240
|
+
n && (n.type === "activeselection" ? n.getObjects().forEach((o) => {
|
|
2240
2241
|
a.bringObjectToFront(o);
|
|
2241
|
-
}) : a.bringObjectToFront(
|
|
2242
|
+
}) : a.bringObjectToFront(n), a.renderAll(), r.resumeHistory(), t || r.saveState(), a.fire("editor:object-bring-to-front"));
|
|
2242
2243
|
}
|
|
2243
2244
|
/**
|
|
2244
2245
|
* Поднять объект на один уровень вверх по оси Z
|
|
@@ -2255,8 +2256,8 @@ class H {
|
|
|
2255
2256
|
historyManager: r
|
|
2256
2257
|
} = this.editor;
|
|
2257
2258
|
r.suspendHistory();
|
|
2258
|
-
var
|
|
2259
|
-
|
|
2259
|
+
var n = e || a.getActiveObject();
|
|
2260
|
+
n && (n.type === "activeselection" ? H._moveSelectionForward(a, n) : a.bringObjectForward(n), a.renderAll(), r.resumeHistory(), t || r.saveState(), a.fire("editor:object-bring-forward"));
|
|
2260
2261
|
}
|
|
2261
2262
|
/**
|
|
2262
2263
|
* Отправить объект на задний план по оси Z
|
|
@@ -2271,12 +2272,12 @@ class H {
|
|
|
2271
2272
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
2272
2273
|
canvas: a,
|
|
2273
2274
|
montageArea: r,
|
|
2274
|
-
historyManager:
|
|
2275
|
+
historyManager: n,
|
|
2275
2276
|
interactionBlocker: {
|
|
2276
2277
|
overlayMask: o
|
|
2277
2278
|
}
|
|
2278
2279
|
} = this.editor;
|
|
2279
|
-
|
|
2280
|
+
n.suspendHistory();
|
|
2280
2281
|
var s = e || a.getActiveObject();
|
|
2281
2282
|
if (s) {
|
|
2282
2283
|
if (s.type === "activeselection")
|
|
@@ -2284,7 +2285,7 @@ class H {
|
|
|
2284
2285
|
a.sendObjectToBack(c[d]);
|
|
2285
2286
|
else
|
|
2286
2287
|
a.sendObjectToBack(s);
|
|
2287
|
-
a.sendObjectToBack(r), a.sendObjectToBack(o), a.renderAll(),
|
|
2288
|
+
a.sendObjectToBack(r), a.sendObjectToBack(o), a.renderAll(), n.resumeHistory(), t || n.saveState(), a.fire("editor:object-send-to-back");
|
|
2288
2289
|
}
|
|
2289
2290
|
}
|
|
2290
2291
|
/**
|
|
@@ -2299,14 +2300,14 @@ class H {
|
|
|
2299
2300
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
2300
2301
|
canvas: a,
|
|
2301
2302
|
montageArea: r,
|
|
2302
|
-
historyManager:
|
|
2303
|
+
historyManager: n,
|
|
2303
2304
|
interactionBlocker: {
|
|
2304
2305
|
overlayMask: o
|
|
2305
2306
|
}
|
|
2306
2307
|
} = this.editor;
|
|
2307
|
-
|
|
2308
|
+
n.suspendHistory();
|
|
2308
2309
|
var s = e || a.getActiveObject();
|
|
2309
|
-
s && (s.type === "activeselection" ? H._moveSelectionBackwards(a, s) : a.sendObjectBackwards(s), a.sendObjectToBack(r), a.sendObjectToBack(o), a.renderAll(),
|
|
2310
|
+
s && (s.type === "activeselection" ? H._moveSelectionBackwards(a, s) : a.sendObjectBackwards(s), a.sendObjectToBack(r), a.sendObjectToBack(o), a.renderAll(), n.resumeHistory(), t || n.saveState(), a.fire("editor:object-send-backwards"));
|
|
2310
2311
|
}
|
|
2311
2312
|
/**
|
|
2312
2313
|
* Сдвигает выделенные объекты на один уровень вверх относительно ближайшего верхнего объекта
|
|
@@ -2316,8 +2317,8 @@ class H {
|
|
|
2316
2317
|
* @private
|
|
2317
2318
|
*/
|
|
2318
2319
|
static _moveSelectionForward(e, t) {
|
|
2319
|
-
for (var a = e.getObjects(), r = t.getObjects(),
|
|
2320
|
-
for (var o = r[
|
|
2320
|
+
for (var a = e.getObjects(), r = t.getObjects(), n = r.length - 1; n >= 0; n -= 1) {
|
|
2321
|
+
for (var o = r[n], s = a.indexOf(o), c = s + 1; c < a.length && r.includes(a[c]); )
|
|
2321
2322
|
c += 1;
|
|
2322
2323
|
c < a.length && e.moveObjectTo(o, c);
|
|
2323
2324
|
}
|
|
@@ -2330,68 +2331,68 @@ class H {
|
|
|
2330
2331
|
* @private
|
|
2331
2332
|
*/
|
|
2332
2333
|
static _moveSelectionBackwards(e, t) {
|
|
2333
|
-
for (var a = e.getObjects(), r = t.getObjects(),
|
|
2334
|
-
e.moveObjectTo(r[o],
|
|
2334
|
+
for (var a = e.getObjects(), r = t.getObjects(), n = Math.min(...r.map((s) => a.indexOf(s))), o = r.length - 1; o >= 0; o -= 1)
|
|
2335
|
+
e.moveObjectTo(r[o], n - 1);
|
|
2335
2336
|
}
|
|
2336
2337
|
}
|
|
2337
|
-
var
|
|
2338
|
-
function
|
|
2339
|
-
var t = Object.keys(
|
|
2338
|
+
var bt = ["id", "left", "top", "width", "height", "fill"], It = ["id", "left", "top", "radius", "fill"], St = ["id", "left", "top", "width", "height", "fill"];
|
|
2339
|
+
function je(i, e) {
|
|
2340
|
+
var t = Object.keys(i);
|
|
2340
2341
|
if (Object.getOwnPropertySymbols) {
|
|
2341
|
-
var a = Object.getOwnPropertySymbols(
|
|
2342
|
+
var a = Object.getOwnPropertySymbols(i);
|
|
2342
2343
|
e && (a = a.filter(function(r) {
|
|
2343
|
-
return Object.getOwnPropertyDescriptor(
|
|
2344
|
+
return Object.getOwnPropertyDescriptor(i, r).enumerable;
|
|
2344
2345
|
})), t.push.apply(t, a);
|
|
2345
2346
|
}
|
|
2346
2347
|
return t;
|
|
2347
2348
|
}
|
|
2348
|
-
function
|
|
2349
|
+
function F(i) {
|
|
2349
2350
|
for (var e = 1; e < arguments.length; e++) {
|
|
2350
2351
|
var t = arguments[e] != null ? arguments[e] : {};
|
|
2351
|
-
e % 2 ?
|
|
2352
|
-
At(
|
|
2353
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(
|
|
2354
|
-
Object.defineProperty(
|
|
2352
|
+
e % 2 ? je(Object(t), !0).forEach(function(a) {
|
|
2353
|
+
At(i, a, t[a]);
|
|
2354
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(i, Object.getOwnPropertyDescriptors(t)) : je(Object(t)).forEach(function(a) {
|
|
2355
|
+
Object.defineProperty(i, a, Object.getOwnPropertyDescriptor(t, a));
|
|
2355
2356
|
});
|
|
2356
2357
|
}
|
|
2357
|
-
return
|
|
2358
|
+
return i;
|
|
2358
2359
|
}
|
|
2359
|
-
function At(
|
|
2360
|
-
return (e =
|
|
2360
|
+
function At(i, e, t) {
|
|
2361
|
+
return (e = wt(e)) in i ? Object.defineProperty(i, e, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : i[e] = t, i;
|
|
2361
2362
|
}
|
|
2362
|
-
function
|
|
2363
|
-
var e =
|
|
2363
|
+
function wt(i) {
|
|
2364
|
+
var e = Nt(i, "string");
|
|
2364
2365
|
return typeof e == "symbol" ? e : e + "";
|
|
2365
2366
|
}
|
|
2366
|
-
function
|
|
2367
|
-
if (typeof
|
|
2368
|
-
var t =
|
|
2367
|
+
function Nt(i, e) {
|
|
2368
|
+
if (typeof i != "object" || !i) return i;
|
|
2369
|
+
var t = i[Symbol.toPrimitive];
|
|
2369
2370
|
if (t !== void 0) {
|
|
2370
|
-
var a = t.call(
|
|
2371
|
+
var a = t.call(i, e);
|
|
2371
2372
|
if (typeof a != "object") return a;
|
|
2372
2373
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
2373
2374
|
}
|
|
2374
|
-
return (e === "string" ? String : Number)(
|
|
2375
|
+
return (e === "string" ? String : Number)(i);
|
|
2375
2376
|
}
|
|
2376
|
-
function
|
|
2377
|
-
if (
|
|
2378
|
-
var t, a, r =
|
|
2377
|
+
function G(i, e) {
|
|
2378
|
+
if (i == null) return {};
|
|
2379
|
+
var t, a, r = Dt(i, e);
|
|
2379
2380
|
if (Object.getOwnPropertySymbols) {
|
|
2380
|
-
var
|
|
2381
|
-
for (a = 0; a <
|
|
2381
|
+
var n = Object.getOwnPropertySymbols(i);
|
|
2382
|
+
for (a = 0; a < n.length; a++) t = n[a], e.indexOf(t) === -1 && {}.propertyIsEnumerable.call(i, t) && (r[t] = i[t]);
|
|
2382
2383
|
}
|
|
2383
2384
|
return r;
|
|
2384
2385
|
}
|
|
2385
|
-
function
|
|
2386
|
-
if (
|
|
2386
|
+
function Dt(i, e) {
|
|
2387
|
+
if (i == null) return {};
|
|
2387
2388
|
var t = {};
|
|
2388
|
-
for (var a in
|
|
2389
|
+
for (var a in i) if ({}.hasOwnProperty.call(i, a)) {
|
|
2389
2390
|
if (e.indexOf(a) !== -1) continue;
|
|
2390
|
-
t[a] =
|
|
2391
|
+
t[a] = i[a];
|
|
2391
2392
|
}
|
|
2392
2393
|
return t;
|
|
2393
2394
|
}
|
|
2394
|
-
class
|
|
2395
|
+
class Ct {
|
|
2395
2396
|
/**
|
|
2396
2397
|
* @param {object} options
|
|
2397
2398
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -2419,26 +2420,26 @@ class Dt {
|
|
|
2419
2420
|
*/
|
|
2420
2421
|
addRectangle() {
|
|
2421
2422
|
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
2422
|
-
id: t = "rect-".concat(
|
|
2423
|
+
id: t = "rect-".concat(S()),
|
|
2423
2424
|
left: a,
|
|
2424
2425
|
top: r,
|
|
2425
|
-
width:
|
|
2426
|
+
width: n = 100,
|
|
2426
2427
|
height: o = 100,
|
|
2427
2428
|
fill: s = "blue"
|
|
2428
|
-
} = e, c =
|
|
2429
|
+
} = e, c = G(e, bt), {
|
|
2429
2430
|
withoutSelection: d,
|
|
2430
2431
|
withoutAdding: l
|
|
2431
2432
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
2432
2433
|
canvas: u
|
|
2433
|
-
} = this.editor,
|
|
2434
|
+
} = this.editor, h = new Be(F({
|
|
2434
2435
|
id: t,
|
|
2435
2436
|
left: a,
|
|
2436
2437
|
top: r,
|
|
2437
|
-
width:
|
|
2438
|
+
width: n,
|
|
2438
2439
|
height: o,
|
|
2439
2440
|
fill: s
|
|
2440
2441
|
}, c));
|
|
2441
|
-
return !a && !r && u.centerObject(
|
|
2442
|
+
return !a && !r && u.centerObject(h), l || (u.add(h), d || u.setActiveObject(h), u.renderAll()), h;
|
|
2442
2443
|
}
|
|
2443
2444
|
/**
|
|
2444
2445
|
* Добавление круга
|
|
@@ -2456,22 +2457,22 @@ class Dt {
|
|
|
2456
2457
|
*/
|
|
2457
2458
|
addCircle() {
|
|
2458
2459
|
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
2459
|
-
id: t = "circle-".concat(
|
|
2460
|
+
id: t = "circle-".concat(S()),
|
|
2460
2461
|
left: a,
|
|
2461
2462
|
top: r,
|
|
2462
|
-
radius:
|
|
2463
|
+
radius: n = 50,
|
|
2463
2464
|
fill: o = "green"
|
|
2464
|
-
} = e, s =
|
|
2465
|
+
} = e, s = G(e, It), {
|
|
2465
2466
|
withoutSelection: c,
|
|
2466
2467
|
withoutAdding: d
|
|
2467
2468
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
2468
2469
|
canvas: l
|
|
2469
|
-
} = this.editor, u = new
|
|
2470
|
+
} = this.editor, u = new Ze(F({
|
|
2470
2471
|
id: t,
|
|
2471
2472
|
left: a,
|
|
2472
2473
|
top: r,
|
|
2473
2474
|
fill: o,
|
|
2474
|
-
radius:
|
|
2475
|
+
radius: n
|
|
2475
2476
|
}, s));
|
|
2476
2477
|
return !a && !r && l.centerObject(u), d || (l.add(u), c || l.setActiveObject(u), l.renderAll()), u;
|
|
2477
2478
|
}
|
|
@@ -2492,46 +2493,46 @@ class Dt {
|
|
|
2492
2493
|
*/
|
|
2493
2494
|
addTriangle() {
|
|
2494
2495
|
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
2495
|
-
id: t = "triangle-".concat(
|
|
2496
|
+
id: t = "triangle-".concat(S()),
|
|
2496
2497
|
left: a,
|
|
2497
2498
|
top: r,
|
|
2498
|
-
width:
|
|
2499
|
+
width: n = 100,
|
|
2499
2500
|
height: o = 100,
|
|
2500
2501
|
fill: s = "yellow"
|
|
2501
|
-
} = e, c =
|
|
2502
|
+
} = e, c = G(e, St), {
|
|
2502
2503
|
withoutSelection: d,
|
|
2503
2504
|
withoutAdding: l
|
|
2504
2505
|
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
|
|
2505
2506
|
canvas: u
|
|
2506
|
-
} = this.editor,
|
|
2507
|
+
} = this.editor, h = new ze(F({
|
|
2507
2508
|
id: t,
|
|
2508
2509
|
left: a,
|
|
2509
2510
|
top: r,
|
|
2510
2511
|
fill: s,
|
|
2511
|
-
width:
|
|
2512
|
+
width: n,
|
|
2512
2513
|
height: o
|
|
2513
2514
|
}, c));
|
|
2514
|
-
return !a && !r && u.centerObject(
|
|
2515
|
+
return !a && !r && u.centerObject(h), l || (u.add(h), d || u.setActiveObject(h), u.renderAll()), h;
|
|
2515
2516
|
}
|
|
2516
2517
|
}
|
|
2517
|
-
function
|
|
2518
|
+
function ye(i, e, t, a, r, n, o) {
|
|
2518
2519
|
try {
|
|
2519
|
-
var s = n
|
|
2520
|
+
var s = i[n](o), c = s.value;
|
|
2520
2521
|
} catch (d) {
|
|
2521
2522
|
return void t(d);
|
|
2522
2523
|
}
|
|
2523
2524
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
2524
2525
|
}
|
|
2525
|
-
function
|
|
2526
|
+
function pe(i) {
|
|
2526
2527
|
return function() {
|
|
2527
2528
|
var e = this, t = arguments;
|
|
2528
2529
|
return new Promise(function(a, r) {
|
|
2529
|
-
var
|
|
2530
|
+
var n = i.apply(e, t);
|
|
2530
2531
|
function o(c) {
|
|
2531
|
-
|
|
2532
|
+
ye(n, a, r, o, s, "next", c);
|
|
2532
2533
|
}
|
|
2533
2534
|
function s(c) {
|
|
2534
|
-
|
|
2535
|
+
ye(n, a, r, o, s, "throw", c);
|
|
2535
2536
|
}
|
|
2536
2537
|
o(void 0);
|
|
2537
2538
|
});
|
|
@@ -2554,7 +2555,7 @@ class Lt {
|
|
|
2554
2555
|
*/
|
|
2555
2556
|
copy() {
|
|
2556
2557
|
var e = this;
|
|
2557
|
-
return
|
|
2558
|
+
return pe(function* () {
|
|
2558
2559
|
var {
|
|
2559
2560
|
canvas: t
|
|
2560
2561
|
} = e.editor, a = t.getActiveObject();
|
|
@@ -2576,8 +2577,8 @@ class Lt {
|
|
|
2576
2577
|
});
|
|
2577
2578
|
return;
|
|
2578
2579
|
}
|
|
2579
|
-
var
|
|
2580
|
-
|
|
2580
|
+
var n = r.toCanvasElement(), o = yield new Promise((d) => {
|
|
2581
|
+
n.toBlob(d);
|
|
2581
2582
|
}), s = new ClipboardItem({
|
|
2582
2583
|
[o.type]: o
|
|
2583
2584
|
});
|
|
@@ -2598,18 +2599,18 @@ class Lt {
|
|
|
2598
2599
|
*/
|
|
2599
2600
|
paste() {
|
|
2600
2601
|
var e = this;
|
|
2601
|
-
return
|
|
2602
|
+
return pe(function* () {
|
|
2602
2603
|
var {
|
|
2603
2604
|
canvas: t
|
|
2604
2605
|
} = e.editor;
|
|
2605
2606
|
if (e.clipboard) {
|
|
2606
2607
|
var a = yield e.clipboard.clone();
|
|
2607
2608
|
t.discardActiveObject(), a.set({
|
|
2608
|
-
id: "".concat(a.type, "-").concat(
|
|
2609
|
+
id: "".concat(a.type, "-").concat(S()),
|
|
2609
2610
|
left: a.left + 10,
|
|
2610
2611
|
top: a.top + 10,
|
|
2611
2612
|
evented: !0
|
|
2612
|
-
}), a instanceof
|
|
2613
|
+
}), a instanceof Z ? (a.canvas = t, a.forEachObject((r) => {
|
|
2613
2614
|
t.add(r);
|
|
2614
2615
|
})) : t.add(a), t.setActiveObject(a), t.requestRenderAll(), t.fire("editor:object-pasted", {
|
|
2615
2616
|
object: a
|
|
@@ -2644,8 +2645,8 @@ class Ot {
|
|
|
2644
2645
|
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
2645
2646
|
canvas: a,
|
|
2646
2647
|
historyManager: r
|
|
2647
|
-
} = this.editor,
|
|
2648
|
-
if (
|
|
2648
|
+
} = this.editor, n = e || a.getActiveObject();
|
|
2649
|
+
if (n) {
|
|
2649
2650
|
var o = {
|
|
2650
2651
|
lockMovementX: !0,
|
|
2651
2652
|
lockMovementY: !0,
|
|
@@ -2656,10 +2657,10 @@ class Ot {
|
|
|
2656
2657
|
lockSkewingY: !0,
|
|
2657
2658
|
locked: !0
|
|
2658
2659
|
};
|
|
2659
|
-
|
|
2660
|
+
n.set(o), ["activeselection", "group"].includes(n.type) && n.getObjects().forEach((s) => {
|
|
2660
2661
|
s.set(o);
|
|
2661
2662
|
}), a.renderAll(), t || r.saveState(), a.fire("editor:object-locked", {
|
|
2662
|
-
object:
|
|
2663
|
+
object: n
|
|
2663
2664
|
});
|
|
2664
2665
|
}
|
|
2665
2666
|
}
|
|
@@ -2678,8 +2679,8 @@ class Ot {
|
|
|
2678
2679
|
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
|
|
2679
2680
|
canvas: a,
|
|
2680
2681
|
historyManager: r
|
|
2681
|
-
} = this.editor,
|
|
2682
|
-
if (
|
|
2682
|
+
} = this.editor, n = e || a.getActiveObject();
|
|
2683
|
+
if (n) {
|
|
2683
2684
|
var o = {
|
|
2684
2685
|
lockMovementX: !1,
|
|
2685
2686
|
lockMovementY: !1,
|
|
@@ -2690,10 +2691,10 @@ class Ot {
|
|
|
2690
2691
|
lockSkewingY: !1,
|
|
2691
2692
|
locked: !1
|
|
2692
2693
|
};
|
|
2693
|
-
|
|
2694
|
+
n.set(o), ["activeselection", "group"].includes(n.type) && n.getObjects().forEach((s) => {
|
|
2694
2695
|
s.set(o);
|
|
2695
2696
|
}), a.renderAll(), t || r.saveState(), a.fire("editor:object-unlocked", {
|
|
2696
|
-
object:
|
|
2697
|
+
object: n
|
|
2697
2698
|
});
|
|
2698
2699
|
}
|
|
2699
2700
|
}
|
|
@@ -2725,10 +2726,10 @@ class Tt {
|
|
|
2725
2726
|
historyManager: r
|
|
2726
2727
|
} = this.editor;
|
|
2727
2728
|
r.suspendHistory();
|
|
2728
|
-
var
|
|
2729
|
-
if (
|
|
2730
|
-
var o =
|
|
2731
|
-
o.forEach((c) => a.remove(c)), s.set("id", "".concat(s.type, "-").concat(
|
|
2729
|
+
var n = e || a.getActiveObject();
|
|
2730
|
+
if (n && n.type === "activeselection") {
|
|
2731
|
+
var o = n.getObjects(), s = new Ue(o);
|
|
2732
|
+
o.forEach((c) => a.remove(c)), s.set("id", "".concat(s.type, "-").concat(S())), a.add(s), a.setActiveObject(s), a.renderAll(), r.resumeHistory(), t || r.saveState(), a.fire("editor:objects-grouped");
|
|
2732
2733
|
}
|
|
2733
2734
|
}
|
|
2734
2735
|
/**
|
|
@@ -2747,11 +2748,11 @@ class Tt {
|
|
|
2747
2748
|
historyManager: r
|
|
2748
2749
|
} = this.editor;
|
|
2749
2750
|
r.suspendHistory();
|
|
2750
|
-
var
|
|
2751
|
-
if (!(!
|
|
2752
|
-
var o =
|
|
2753
|
-
a.remove(
|
|
2754
|
-
var s = new
|
|
2751
|
+
var n = e || a.getActiveObject();
|
|
2752
|
+
if (!(!n || n.type !== "group")) {
|
|
2753
|
+
var o = n.removeAll();
|
|
2754
|
+
a.remove(n), o.forEach((c) => a.add(c));
|
|
2755
|
+
var s = new Z(o, {
|
|
2755
2756
|
canvas: a
|
|
2756
2757
|
});
|
|
2757
2758
|
a.setActiveObject(s), a.renderAll(), r.resumeHistory(), t || r.saveState(), a.fire("editor:objects-ungrouped");
|
|
@@ -2779,7 +2780,7 @@ class Et {
|
|
|
2779
2780
|
canvasManager: t
|
|
2780
2781
|
} = this.editor;
|
|
2781
2782
|
e.discardActiveObject();
|
|
2782
|
-
var a = new
|
|
2783
|
+
var a = new Z(t.getObjects(), {
|
|
2783
2784
|
canvas: e
|
|
2784
2785
|
});
|
|
2785
2786
|
e.setActiveObject(a), e.requestRenderAll(), e.fire("editor:all-objects-selected", {
|
|
@@ -2787,7 +2788,7 @@ class Et {
|
|
|
2787
2788
|
});
|
|
2788
2789
|
}
|
|
2789
2790
|
}
|
|
2790
|
-
class
|
|
2791
|
+
class kt {
|
|
2791
2792
|
/**
|
|
2792
2793
|
* @param {object} options
|
|
2793
2794
|
* @param {ImageEditor} options.editor - экземпляр редактора с доступом к canvas
|
|
@@ -2814,8 +2815,8 @@ class Zt {
|
|
|
2814
2815
|
historyManager: r
|
|
2815
2816
|
} = this.editor;
|
|
2816
2817
|
r.suspendHistory();
|
|
2817
|
-
var
|
|
2818
|
-
|
|
2818
|
+
var n = e || a.getActiveObjects();
|
|
2819
|
+
n != null && n.length && (n.forEach((o) => {
|
|
2819
2820
|
if (o.type === "group" && o.format !== "svg") {
|
|
2820
2821
|
this.ungroup(o), this.deleteSelectedObjects();
|
|
2821
2822
|
return;
|
|
@@ -2824,48 +2825,48 @@ class Zt {
|
|
|
2824
2825
|
}), a.discardActiveObject(), a.renderAll(), r.resumeHistory(), t || r.saveState(), a.fire("editor:objects-deleted"));
|
|
2825
2826
|
}
|
|
2826
2827
|
}
|
|
2827
|
-
function be(
|
|
2828
|
+
function be(i, e, t, a, r, n, o) {
|
|
2828
2829
|
try {
|
|
2829
|
-
var s = n
|
|
2830
|
+
var s = i[n](o), c = s.value;
|
|
2830
2831
|
} catch (d) {
|
|
2831
2832
|
return void t(d);
|
|
2832
2833
|
}
|
|
2833
2834
|
s.done ? e(c) : Promise.resolve(c).then(a, r);
|
|
2834
2835
|
}
|
|
2835
|
-
function
|
|
2836
|
+
function xt(i) {
|
|
2836
2837
|
return function() {
|
|
2837
2838
|
var e = this, t = arguments;
|
|
2838
2839
|
return new Promise(function(a, r) {
|
|
2839
|
-
var
|
|
2840
|
+
var n = i.apply(e, t);
|
|
2840
2841
|
function o(c) {
|
|
2841
|
-
be(
|
|
2842
|
+
be(n, a, r, o, s, "next", c);
|
|
2842
2843
|
}
|
|
2843
2844
|
function s(c) {
|
|
2844
|
-
be(
|
|
2845
|
+
be(n, a, r, o, s, "throw", c);
|
|
2845
2846
|
}
|
|
2846
2847
|
o(void 0);
|
|
2847
2848
|
});
|
|
2848
2849
|
};
|
|
2849
2850
|
}
|
|
2850
|
-
class
|
|
2851
|
+
class Bt {
|
|
2851
2852
|
constructor(e) {
|
|
2852
2853
|
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
2853
2854
|
this.options = t;
|
|
2854
2855
|
var {
|
|
2855
2856
|
defaultScale: a,
|
|
2856
2857
|
minZoom: r,
|
|
2857
|
-
maxZoom:
|
|
2858
|
+
maxZoom: n
|
|
2858
2859
|
} = t;
|
|
2859
|
-
this.containerId = e, this.editorId = "".concat(e, "-").concat(
|
|
2860
|
+
this.containerId = e, this.editorId = "".concat(e, "-").concat(S()), this.clipboard = null, this.defaultZoom = a, this.minZoom = r || vt, this.maxZoom = n || mt, this.init();
|
|
2860
2861
|
}
|
|
2861
2862
|
init() {
|
|
2862
2863
|
var e = this;
|
|
2863
|
-
return
|
|
2864
|
+
return xt(function* () {
|
|
2864
2865
|
var {
|
|
2865
2866
|
editorContainerWidth: t,
|
|
2866
2867
|
editorContainerHeight: a,
|
|
2867
2868
|
canvasWrapperWidth: r,
|
|
2868
|
-
canvasWrapperHeight:
|
|
2869
|
+
canvasWrapperHeight: n,
|
|
2869
2870
|
canvasCSSWidth: o,
|
|
2870
2871
|
canvasCSSHeight: s,
|
|
2871
2872
|
initialImage: c,
|
|
@@ -2873,7 +2874,7 @@ class kt {
|
|
|
2873
2874
|
scaleType: l,
|
|
2874
2875
|
_onReadyCallback: u
|
|
2875
2876
|
} = e.options;
|
|
2876
|
-
if ($e.apply(), e.canvas = new
|
|
2877
|
+
if ($e.apply(), e.canvas = new Pe(e.containerId, e.options), e.moduleLoader = new _e(), e.workerManager = new Re(), e.historyManager = new ht({
|
|
2877
2878
|
editor: e
|
|
2878
2879
|
}), e.toolbar = new lt({
|
|
2879
2880
|
editor: e
|
|
@@ -2885,9 +2886,9 @@ class kt {
|
|
|
2885
2886
|
editor: e
|
|
2886
2887
|
}), e.layerManager = new H({
|
|
2887
2888
|
editor: e
|
|
2888
|
-
}), e.shapeManager = new
|
|
2889
|
+
}), e.shapeManager = new Ct({
|
|
2889
2890
|
editor: e
|
|
2890
|
-
}), e.interactionBlocker = new
|
|
2891
|
+
}), e.interactionBlocker = new pt({
|
|
2891
2892
|
editor: e
|
|
2892
2893
|
}), e.clipboardManager = new Lt({
|
|
2893
2894
|
editor: e
|
|
@@ -2897,21 +2898,21 @@ class kt {
|
|
|
2897
2898
|
editor: e
|
|
2898
2899
|
}), e.selectionManager = new Et({
|
|
2899
2900
|
editor: e
|
|
2900
|
-
}), e.deletionManager = new
|
|
2901
|
+
}), e.deletionManager = new kt({
|
|
2901
2902
|
editor: e
|
|
2902
|
-
}), e._createMonageArea(), e._createClippingArea(), e.listeners = new
|
|
2903
|
+
}), e._createMonageArea(), e._createClippingArea(), e.listeners = new B({
|
|
2903
2904
|
editor: e,
|
|
2904
2905
|
options: e.options
|
|
2905
|
-
}), e.canvasManager.setEditorContainerWidth(t), e.canvasManager.setEditorContainerHeight(a), e.canvasManager.setCanvasWrapperWidth(r), e.canvasManager.setCanvasWrapperHeight(
|
|
2906
|
+
}), e.canvasManager.setEditorContainerWidth(t), e.canvasManager.setEditorContainerHeight(a), e.canvasManager.setCanvasWrapperWidth(r), e.canvasManager.setCanvasWrapperHeight(n), e.canvasManager.setCanvasCSSWidth(o), e.canvasManager.setCanvasCSSHeight(s), c != null && c.source) {
|
|
2906
2907
|
var {
|
|
2907
|
-
source:
|
|
2908
|
-
scale:
|
|
2908
|
+
source: h,
|
|
2909
|
+
scale: g = "image-".concat(l),
|
|
2909
2910
|
withoutSave: f = !0,
|
|
2910
2911
|
contentType: v
|
|
2911
2912
|
} = c;
|
|
2912
2913
|
yield e.imageManager.importImage({
|
|
2913
|
-
source:
|
|
2914
|
-
scale:
|
|
2914
|
+
source: h,
|
|
2915
|
+
scale: g,
|
|
2915
2916
|
withoutSave: f,
|
|
2916
2917
|
contentType: v
|
|
2917
2918
|
});
|
|
@@ -2935,7 +2936,7 @@ class kt {
|
|
|
2935
2936
|
this.montageArea = this.shapeManager.addRectangle({
|
|
2936
2937
|
width: e,
|
|
2937
2938
|
height: t,
|
|
2938
|
-
fill:
|
|
2939
|
+
fill: gt(),
|
|
2939
2940
|
stroke: null,
|
|
2940
2941
|
strokeWidth: 0,
|
|
2941
2942
|
selectable: !1,
|
|
@@ -2986,7 +2987,7 @@ class kt {
|
|
|
2986
2987
|
this.listeners.destroy(), this.toolbar.destroy(), this.canvas.dispose(), this.workerManager.worker.terminate(), this.imageManager.revokeBlobUrls();
|
|
2987
2988
|
}
|
|
2988
2989
|
}
|
|
2989
|
-
const
|
|
2990
|
+
const Zt = {
|
|
2990
2991
|
// Cохраняют ли объекты свой текущий порядок (z-index) при выделении
|
|
2991
2992
|
preserveObjectStacking: !0,
|
|
2992
2993
|
// Возможность взаимодействия с объектом за пределами монтажной области
|
|
@@ -3091,56 +3092,56 @@ const xt = {
|
|
|
3091
3092
|
// Сброс параметров объекта по двойному клику
|
|
3092
3093
|
resetObjectFitByDoubleClick: !0
|
|
3093
3094
|
};
|
|
3094
|
-
function Ie(
|
|
3095
|
-
var t = Object.keys(
|
|
3095
|
+
function Ie(i, e) {
|
|
3096
|
+
var t = Object.keys(i);
|
|
3096
3097
|
if (Object.getOwnPropertySymbols) {
|
|
3097
|
-
var a = Object.getOwnPropertySymbols(
|
|
3098
|
+
var a = Object.getOwnPropertySymbols(i);
|
|
3098
3099
|
e && (a = a.filter(function(r) {
|
|
3099
|
-
return Object.getOwnPropertyDescriptor(
|
|
3100
|
+
return Object.getOwnPropertyDescriptor(i, r).enumerable;
|
|
3100
3101
|
})), t.push.apply(t, a);
|
|
3101
3102
|
}
|
|
3102
3103
|
return t;
|
|
3103
3104
|
}
|
|
3104
|
-
function
|
|
3105
|
+
function Se(i) {
|
|
3105
3106
|
for (var e = 1; e < arguments.length; e++) {
|
|
3106
3107
|
var t = arguments[e] != null ? arguments[e] : {};
|
|
3107
3108
|
e % 2 ? Ie(Object(t), !0).forEach(function(a) {
|
|
3108
|
-
zt(
|
|
3109
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(
|
|
3110
|
-
Object.defineProperty(
|
|
3109
|
+
zt(i, a, t[a]);
|
|
3110
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(i, Object.getOwnPropertyDescriptors(t)) : Ie(Object(t)).forEach(function(a) {
|
|
3111
|
+
Object.defineProperty(i, a, Object.getOwnPropertyDescriptor(t, a));
|
|
3111
3112
|
});
|
|
3112
3113
|
}
|
|
3113
|
-
return
|
|
3114
|
+
return i;
|
|
3114
3115
|
}
|
|
3115
|
-
function zt(
|
|
3116
|
-
return (e =
|
|
3116
|
+
function zt(i, e, t) {
|
|
3117
|
+
return (e = Ut(e)) in i ? Object.defineProperty(i, e, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : i[e] = t, i;
|
|
3117
3118
|
}
|
|
3118
|
-
function
|
|
3119
|
-
var e =
|
|
3119
|
+
function Ut(i) {
|
|
3120
|
+
var e = Pt(i, "string");
|
|
3120
3121
|
return typeof e == "symbol" ? e : e + "";
|
|
3121
3122
|
}
|
|
3122
|
-
function
|
|
3123
|
-
if (typeof
|
|
3124
|
-
var t =
|
|
3123
|
+
function Pt(i, e) {
|
|
3124
|
+
if (typeof i != "object" || !i) return i;
|
|
3125
|
+
var t = i[Symbol.toPrimitive];
|
|
3125
3126
|
if (t !== void 0) {
|
|
3126
|
-
var a = t.call(
|
|
3127
|
+
var a = t.call(i, e);
|
|
3127
3128
|
if (typeof a != "object") return a;
|
|
3128
3129
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
3129
3130
|
}
|
|
3130
|
-
return (e === "string" ? String : Number)(
|
|
3131
|
+
return (e === "string" ? String : Number)(i);
|
|
3131
3132
|
}
|
|
3132
|
-
function
|
|
3133
|
-
var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, t =
|
|
3133
|
+
function Wt(i) {
|
|
3134
|
+
var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, t = Se(Se({}, Zt), e), a = document.getElementById(i);
|
|
3134
3135
|
if (!a)
|
|
3135
|
-
return Promise.reject(new Error('Контейнер с ID "'.concat(
|
|
3136
|
+
return Promise.reject(new Error('Контейнер с ID "'.concat(i, '" не найден.')));
|
|
3136
3137
|
var r = document.createElement("canvas");
|
|
3137
|
-
return r.id = "".concat(
|
|
3138
|
-
t._onReadyCallback =
|
|
3139
|
-
var o = new
|
|
3140
|
-
window[
|
|
3138
|
+
return r.id = "".concat(i, "-canvas"), a.appendChild(r), t.editorContainer = a, new Promise((n) => {
|
|
3139
|
+
t._onReadyCallback = n;
|
|
3140
|
+
var o = new Bt(r.id, t);
|
|
3141
|
+
window[i] = o;
|
|
3141
3142
|
});
|
|
3142
3143
|
}
|
|
3143
3144
|
export {
|
|
3144
|
-
|
|
3145
|
+
Wt as default
|
|
3145
3146
|
};
|
|
3146
3147
|
//# sourceMappingURL=main.js.map
|