@idraw/core 0.2.0-alpha.21 → 0.2.0-alpha.22
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/index.cjs.js +709 -1486
- package/dist/index.d.ts +2 -10
- package/dist/index.es.js +709 -1486
- package/dist/index.global.js +709 -1486
- package/dist/index.global.min.js +1 -1
- package/package.json +6 -6
package/dist/index.es.js
CHANGED
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
var extendStatics$1 = function(d, b) {
|
|
2
|
-
extendStatics$1 = Object.setPrototypeOf ||
|
|
3
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
4
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
5
|
-
return extendStatics$1(d, b);
|
|
6
|
-
};
|
|
7
|
-
function __extends$1(d, b) {
|
|
8
|
-
if (typeof b !== "function" && b !== null)
|
|
9
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
10
|
-
extendStatics$1(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
}
|
|
14
1
|
var __assign$4 = function() {
|
|
15
2
|
__assign$4 = Object.assign || function __assign(t) {
|
|
16
3
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -21,42 +8,6 @@ var __assign$4 = function() {
|
|
|
21
8
|
};
|
|
22
9
|
return __assign$4.apply(this, arguments);
|
|
23
10
|
};
|
|
24
|
-
function __awaiter$4(thisArg, _arguments, P, generator) {
|
|
25
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
26
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
27
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
28
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
29
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
30
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
function __generator$4(thisArg, body) {
|
|
34
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
35
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
36
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
37
|
-
function step(op) {
|
|
38
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
39
|
-
while (_) try {
|
|
40
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
41
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
42
|
-
switch (op[0]) {
|
|
43
|
-
case 0: case 1: t = op; break;
|
|
44
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
45
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
46
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
47
|
-
default:
|
|
48
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
49
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
50
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
51
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
52
|
-
if (t[2]) _.ops.pop();
|
|
53
|
-
_.trys.pop(); continue;
|
|
54
|
-
}
|
|
55
|
-
op = body.call(thisArg, _);
|
|
56
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
57
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
11
|
|
|
61
12
|
var __assign$1$1 = function() {
|
|
62
13
|
__assign$1$1 = Object.assign || function __assign(t) {
|
|
@@ -135,7 +86,7 @@ function createUUID$4() {
|
|
|
135
86
|
}
|
|
136
87
|
return "" + str4() + str4() + "-" + str4() + "-" + str4() + "-" + str4() + "-" + str4() + str4() + str4();
|
|
137
88
|
}
|
|
138
|
-
function deepClone$
|
|
89
|
+
function deepClone$6(target) {
|
|
139
90
|
function _clone(t) {
|
|
140
91
|
var type = is$1$3(t);
|
|
141
92
|
if (['Null', 'Number', 'String', 'Boolean', 'Undefined'].indexOf(type) >= 0) {
|
|
@@ -167,7 +118,7 @@ function parsePrototype$2(data) {
|
|
|
167
118
|
var result = typeStr.replace(/(\[object|\])/ig, '').trim();
|
|
168
119
|
return result;
|
|
169
120
|
}
|
|
170
|
-
var istype$
|
|
121
|
+
var istype$3 = {
|
|
171
122
|
type: function (data, lowerCase) {
|
|
172
123
|
var result = parsePrototype$2(data);
|
|
173
124
|
return lowerCase === true ? result.toLocaleLowerCase() : result;
|
|
@@ -280,7 +231,7 @@ function parseSVGToDataURL$2(svg) {
|
|
|
280
231
|
});
|
|
281
232
|
}
|
|
282
233
|
var Image$2 = window.Image;
|
|
283
|
-
function loadImage$
|
|
234
|
+
function loadImage$3(src) {
|
|
284
235
|
return new Promise(function (resolve, reject) {
|
|
285
236
|
var img = new Image$2;
|
|
286
237
|
img.onload = function () {
|
|
@@ -291,7 +242,7 @@ function loadImage$4(src) {
|
|
|
291
242
|
img.src = src;
|
|
292
243
|
});
|
|
293
244
|
}
|
|
294
|
-
function loadSVG$
|
|
245
|
+
function loadSVG$3(svg) {
|
|
295
246
|
return __awaiter$3(this, void 0, void 0, function () {
|
|
296
247
|
var dataURL, image;
|
|
297
248
|
return __generator$3(this, function (_a) {
|
|
@@ -299,7 +250,7 @@ function loadSVG$4(svg) {
|
|
|
299
250
|
case 0: return [4, parseSVGToDataURL$2(svg)];
|
|
300
251
|
case 1:
|
|
301
252
|
dataURL = _a.sent();
|
|
302
|
-
return [4, loadImage$
|
|
253
|
+
return [4, loadImage$3(dataURL)];
|
|
303
254
|
case 2:
|
|
304
255
|
image = _a.sent();
|
|
305
256
|
return [2, image];
|
|
@@ -307,7 +258,7 @@ function loadSVG$4(svg) {
|
|
|
307
258
|
});
|
|
308
259
|
});
|
|
309
260
|
}
|
|
310
|
-
function loadHTML$
|
|
261
|
+
function loadHTML$3(html, opts) {
|
|
311
262
|
return __awaiter$3(this, void 0, void 0, function () {
|
|
312
263
|
var dataURL, image;
|
|
313
264
|
return __generator$3(this, function (_a) {
|
|
@@ -315,7 +266,7 @@ function loadHTML$4(html, opts) {
|
|
|
315
266
|
case 0: return [4, parseHTMLToDataURL$2(html, opts)];
|
|
316
267
|
case 1:
|
|
317
268
|
dataURL = _a.sent();
|
|
318
|
-
return [4, loadImage$
|
|
269
|
+
return [4, loadImage$3(dataURL)];
|
|
319
270
|
case 2:
|
|
320
271
|
image = _a.sent();
|
|
321
272
|
return [2, image];
|
|
@@ -323,7 +274,7 @@ function loadHTML$4(html, opts) {
|
|
|
323
274
|
});
|
|
324
275
|
});
|
|
325
276
|
}
|
|
326
|
-
var Context$
|
|
277
|
+
var Context$1$1 = (function () {
|
|
327
278
|
function Context(ctx, opts) {
|
|
328
279
|
this._opts = opts;
|
|
329
280
|
this._ctx = ctx;
|
|
@@ -740,9 +691,9 @@ var index$2 = {
|
|
|
740
691
|
throttle: throttle$1$1,
|
|
741
692
|
},
|
|
742
693
|
loader: {
|
|
743
|
-
loadImage: loadImage$
|
|
744
|
-
loadSVG: loadSVG$
|
|
745
|
-
loadHTML: loadHTML$
|
|
694
|
+
loadImage: loadImage$3,
|
|
695
|
+
loadSVG: loadSVG$3,
|
|
696
|
+
loadHTML: loadHTML$3,
|
|
746
697
|
},
|
|
747
698
|
file: {
|
|
748
699
|
downloadImageFromCanvas: downloadImageFromCanvas$2,
|
|
@@ -755,11 +706,11 @@ var index$2 = {
|
|
|
755
706
|
uuid: {
|
|
756
707
|
createUUID: createUUID$4
|
|
757
708
|
},
|
|
758
|
-
istype: istype$
|
|
709
|
+
istype: istype$3,
|
|
759
710
|
data: {
|
|
760
|
-
deepClone: deepClone$
|
|
711
|
+
deepClone: deepClone$6,
|
|
761
712
|
},
|
|
762
|
-
Context: Context$
|
|
713
|
+
Context: Context$1$1,
|
|
763
714
|
};
|
|
764
715
|
var BoardEvent = (function () {
|
|
765
716
|
function BoardEvent() {
|
|
@@ -825,7 +776,7 @@ function createTempData() {
|
|
|
825
776
|
}
|
|
826
777
|
};
|
|
827
778
|
}
|
|
828
|
-
var TempData$
|
|
779
|
+
var TempData$2 = (function () {
|
|
829
780
|
function TempData() {
|
|
830
781
|
this._temp = createTempData();
|
|
831
782
|
}
|
|
@@ -843,7 +794,7 @@ var TempData$1 = (function () {
|
|
|
843
794
|
var ScreenWatcher = (function () {
|
|
844
795
|
function ScreenWatcher(canvas, ctx) {
|
|
845
796
|
this._isMoving = false;
|
|
846
|
-
this._temp = new TempData$
|
|
797
|
+
this._temp = new TempData$2;
|
|
847
798
|
this._container = window;
|
|
848
799
|
this._canvas = canvas;
|
|
849
800
|
this._isMoving = false;
|
|
@@ -1100,7 +1051,7 @@ var Scroller = (function () {
|
|
|
1100
1051
|
ctx.fillStyle = wrapper.color;
|
|
1101
1052
|
ctx.fillRect(0, this._doSize(height - wrapper.lineSize), this._doSize(width), this._doSize(wrapper.lineSize));
|
|
1102
1053
|
ctx.globalAlpha = 1;
|
|
1103
|
-
drawBox$
|
|
1054
|
+
drawBox$1(ctx, {
|
|
1104
1055
|
x: this._doSize(wrapper.translateX),
|
|
1105
1056
|
y: this._doSize(height - wrapper.lineSize),
|
|
1106
1057
|
w: this._doSize(wrapper.xSize),
|
|
@@ -1114,7 +1065,7 @@ var Scroller = (function () {
|
|
|
1114
1065
|
ctx.fillStyle = wrapper.color;
|
|
1115
1066
|
ctx.fillRect(this._doSize(width - wrapper.lineSize), 0, this._doSize(wrapper.lineSize), this._doSize(height));
|
|
1116
1067
|
ctx.globalAlpha = 1;
|
|
1117
|
-
drawBox$
|
|
1068
|
+
drawBox$1(ctx, {
|
|
1118
1069
|
x: this._doSize(width - wrapper.lineSize),
|
|
1119
1070
|
y: this._doSize(wrapper.translateY),
|
|
1120
1071
|
w: this._doSize(wrapper.lineSize),
|
|
@@ -1209,7 +1160,7 @@ var Scroller = (function () {
|
|
|
1209
1160
|
};
|
|
1210
1161
|
return Scroller;
|
|
1211
1162
|
}());
|
|
1212
|
-
function drawBox$
|
|
1163
|
+
function drawBox$1(ctx, opts) {
|
|
1213
1164
|
var x = opts.x, y = opts.y, w = opts.w, h = opts.h, color = opts.color;
|
|
1214
1165
|
var r = opts.r;
|
|
1215
1166
|
r = Math.min(r, w / 2, h / 2);
|
|
@@ -1329,37 +1280,6 @@ var Screen = (function () {
|
|
|
1329
1280
|
};
|
|
1330
1281
|
return Screen;
|
|
1331
1282
|
}());
|
|
1332
|
-
var Context$1$1 = index$2.Context;
|
|
1333
|
-
function createDefaultData(opts) {
|
|
1334
|
-
var canvas = document.createElement('canvas');
|
|
1335
|
-
var ctx2d = canvas.getContext('2d');
|
|
1336
|
-
var ctx = new Context$1$1(ctx2d, {
|
|
1337
|
-
width: opts.width,
|
|
1338
|
-
height: opts.height,
|
|
1339
|
-
contextWidth: opts.contextWidth,
|
|
1340
|
-
contextHeight: opts.contextHeight,
|
|
1341
|
-
devicePixelRatio: opts.devicePixelRatio || window.devicePixelRatio || 1,
|
|
1342
|
-
});
|
|
1343
|
-
return {
|
|
1344
|
-
plugins: [],
|
|
1345
|
-
ctx: ctx
|
|
1346
|
-
};
|
|
1347
|
-
}
|
|
1348
|
-
var TempData$2 = (function () {
|
|
1349
|
-
function TempData(opts) {
|
|
1350
|
-
this._temp = createDefaultData(opts);
|
|
1351
|
-
}
|
|
1352
|
-
TempData.prototype.set = function (name, value) {
|
|
1353
|
-
this._temp[name] = value;
|
|
1354
|
-
};
|
|
1355
|
-
TempData.prototype.get = function (name) {
|
|
1356
|
-
return this._temp[name];
|
|
1357
|
-
};
|
|
1358
|
-
TempData.prototype.clear = function (opts) {
|
|
1359
|
-
this._temp = createDefaultData(opts);
|
|
1360
|
-
};
|
|
1361
|
-
return TempData;
|
|
1362
|
-
}());
|
|
1363
1283
|
var _canvas = Symbol('_canvas');
|
|
1364
1284
|
var _displayCanvas = Symbol('_displayCanvas');
|
|
1365
1285
|
var _helperCanvas = Symbol('_helperCanvas');
|
|
@@ -1378,14 +1298,12 @@ var _doScrollY = Symbol('_doScrollY');
|
|
|
1378
1298
|
var _doMoveScroll = Symbol('_doMoveScroll');
|
|
1379
1299
|
var _resetContext = Symbol('_resetContext');
|
|
1380
1300
|
var _screen = Symbol('_screen');
|
|
1381
|
-
var
|
|
1382
|
-
var _a$3;
|
|
1301
|
+
var _a$2;
|
|
1383
1302
|
var Context$3 = index$2.Context;
|
|
1384
1303
|
var throttle$2 = index$2.time.throttle;
|
|
1385
1304
|
var Board = (function () {
|
|
1386
1305
|
function Board(mount, opts) {
|
|
1387
|
-
this[_a$
|
|
1388
|
-
this[_tempData$1] = new TempData$2(opts);
|
|
1306
|
+
this[_a$2] = false;
|
|
1389
1307
|
this[_mount] = mount;
|
|
1390
1308
|
this[_canvas] = document.createElement('canvas');
|
|
1391
1309
|
this[_helperCanvas] = document.createElement('canvas');
|
|
@@ -1484,9 +1402,6 @@ var Board = (function () {
|
|
|
1484
1402
|
}
|
|
1485
1403
|
return { position: position, size: size };
|
|
1486
1404
|
};
|
|
1487
|
-
Board.prototype.addPlugin = function (plugin) {
|
|
1488
|
-
this[_tempData$1].get('plugins').push(plugin);
|
|
1489
|
-
};
|
|
1490
1405
|
Board.prototype.clear = function () {
|
|
1491
1406
|
var displayCtx = this[_displayCanvas].getContext('2d');
|
|
1492
1407
|
displayCtx === null || displayCtx === void 0 ? void 0 : displayCtx.clearRect(0, 0, this[_displayCanvas].width, this[_displayCanvas].height);
|
|
@@ -1542,7 +1457,7 @@ var Board = (function () {
|
|
|
1542
1457
|
};
|
|
1543
1458
|
return screenPoint;
|
|
1544
1459
|
};
|
|
1545
|
-
Board.prototype[(_a$
|
|
1460
|
+
Board.prototype[(_a$2 = _hasRendered, _render)] = function () {
|
|
1546
1461
|
if (this[_hasRendered] === true) {
|
|
1547
1462
|
return;
|
|
1548
1463
|
}
|
|
@@ -1710,7 +1625,7 @@ function createUUID$3() {
|
|
|
1710
1625
|
}
|
|
1711
1626
|
return "" + str4() + str4() + "-" + str4() + "-" + str4() + "-" + str4() + "-" + str4() + str4() + str4();
|
|
1712
1627
|
}
|
|
1713
|
-
function deepClone$
|
|
1628
|
+
function deepClone$5(target) {
|
|
1714
1629
|
function _clone(t) {
|
|
1715
1630
|
var type = is$1$2(t);
|
|
1716
1631
|
if (['Null', 'Number', 'String', 'Boolean', 'Undefined'].indexOf(type) >= 0) {
|
|
@@ -1742,7 +1657,7 @@ function parsePrototype$1(data) {
|
|
|
1742
1657
|
var result = typeStr.replace(/(\[object|\])/ig, '').trim();
|
|
1743
1658
|
return result;
|
|
1744
1659
|
}
|
|
1745
|
-
var istype$
|
|
1660
|
+
var istype$2 = {
|
|
1746
1661
|
type: function (data, lowerCase) {
|
|
1747
1662
|
var result = parsePrototype$1(data);
|
|
1748
1663
|
return lowerCase === true ? result.toLocaleLowerCase() : result;
|
|
@@ -1855,7 +1770,7 @@ function parseSVGToDataURL$1(svg) {
|
|
|
1855
1770
|
});
|
|
1856
1771
|
}
|
|
1857
1772
|
var Image$1 = window.Image;
|
|
1858
|
-
function loadImage$
|
|
1773
|
+
function loadImage$2(src) {
|
|
1859
1774
|
return new Promise(function (resolve, reject) {
|
|
1860
1775
|
var img = new Image$1;
|
|
1861
1776
|
img.onload = function () {
|
|
@@ -1866,7 +1781,7 @@ function loadImage$3(src) {
|
|
|
1866
1781
|
img.src = src;
|
|
1867
1782
|
});
|
|
1868
1783
|
}
|
|
1869
|
-
function loadSVG$
|
|
1784
|
+
function loadSVG$2(svg) {
|
|
1870
1785
|
return __awaiter$2(this, void 0, void 0, function () {
|
|
1871
1786
|
var dataURL, image;
|
|
1872
1787
|
return __generator$2(this, function (_a) {
|
|
@@ -1874,7 +1789,7 @@ function loadSVG$3(svg) {
|
|
|
1874
1789
|
case 0: return [4, parseSVGToDataURL$1(svg)];
|
|
1875
1790
|
case 1:
|
|
1876
1791
|
dataURL = _a.sent();
|
|
1877
|
-
return [4, loadImage$
|
|
1792
|
+
return [4, loadImage$2(dataURL)];
|
|
1878
1793
|
case 2:
|
|
1879
1794
|
image = _a.sent();
|
|
1880
1795
|
return [2, image];
|
|
@@ -1882,7 +1797,7 @@ function loadSVG$3(svg) {
|
|
|
1882
1797
|
});
|
|
1883
1798
|
});
|
|
1884
1799
|
}
|
|
1885
|
-
function loadHTML$
|
|
1800
|
+
function loadHTML$2(html, opts) {
|
|
1886
1801
|
return __awaiter$2(this, void 0, void 0, function () {
|
|
1887
1802
|
var dataURL, image;
|
|
1888
1803
|
return __generator$2(this, function (_a) {
|
|
@@ -1890,7 +1805,7 @@ function loadHTML$3(html, opts) {
|
|
|
1890
1805
|
case 0: return [4, parseHTMLToDataURL$1(html, opts)];
|
|
1891
1806
|
case 1:
|
|
1892
1807
|
dataURL = _a.sent();
|
|
1893
|
-
return [4, loadImage$
|
|
1808
|
+
return [4, loadImage$2(dataURL)];
|
|
1894
1809
|
case 2:
|
|
1895
1810
|
image = _a.sent();
|
|
1896
1811
|
return [2, image];
|
|
@@ -2315,9 +2230,9 @@ var index$1 = {
|
|
|
2315
2230
|
throttle: throttle$1,
|
|
2316
2231
|
},
|
|
2317
2232
|
loader: {
|
|
2318
|
-
loadImage: loadImage$
|
|
2319
|
-
loadSVG: loadSVG$
|
|
2320
|
-
loadHTML: loadHTML$
|
|
2233
|
+
loadImage: loadImage$2,
|
|
2234
|
+
loadSVG: loadSVG$2,
|
|
2235
|
+
loadHTML: loadHTML$2,
|
|
2321
2236
|
},
|
|
2322
2237
|
file: {
|
|
2323
2238
|
downloadImageFromCanvas: downloadImageFromCanvas$1,
|
|
@@ -2330,9 +2245,9 @@ var index$1 = {
|
|
|
2330
2245
|
uuid: {
|
|
2331
2246
|
createUUID: createUUID$3
|
|
2332
2247
|
},
|
|
2333
|
-
istype: istype$
|
|
2248
|
+
istype: istype$2,
|
|
2334
2249
|
data: {
|
|
2335
|
-
deepClone: deepClone$
|
|
2250
|
+
deepClone: deepClone$5,
|
|
2336
2251
|
},
|
|
2337
2252
|
Context: Context$2,
|
|
2338
2253
|
};
|
|
@@ -2454,7 +2369,7 @@ function toColorHexNum(color) {
|
|
|
2454
2369
|
function toColorHexStr(color) {
|
|
2455
2370
|
return '#' + color.toString(16);
|
|
2456
2371
|
}
|
|
2457
|
-
function isColorStr$1
|
|
2372
|
+
function isColorStr$1(color) {
|
|
2458
2373
|
return typeof color === 'string' && /^\#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(color);
|
|
2459
2374
|
}
|
|
2460
2375
|
function createUUID$1$1() {
|
|
@@ -2875,7 +2790,7 @@ function borderRadius$1(value) {
|
|
|
2875
2790
|
return number$1(value) && value >= 0;
|
|
2876
2791
|
}
|
|
2877
2792
|
function color$2(value) {
|
|
2878
|
-
return isColorStr$1
|
|
2793
|
+
return isColorStr$1(value);
|
|
2879
2794
|
}
|
|
2880
2795
|
function imageURL$1(value) {
|
|
2881
2796
|
return (typeof value === 'string' && /^(http:\/\/|https:\/\/|\.\/|\/)/.test("" + value));
|
|
@@ -3078,7 +2993,7 @@ var index = {
|
|
|
3078
2993
|
color: {
|
|
3079
2994
|
toColorHexStr: toColorHexStr,
|
|
3080
2995
|
toColorHexNum: toColorHexNum,
|
|
3081
|
-
isColorStr: isColorStr$1
|
|
2996
|
+
isColorStr: isColorStr$1,
|
|
3082
2997
|
},
|
|
3083
2998
|
uuid: {
|
|
3084
2999
|
createUUID: createUUID$1$1
|
|
@@ -3117,7 +3032,7 @@ function rotateContext$1(ctx, center, radian, callback) {
|
|
|
3117
3032
|
ctx.translate(-center.x, -center.y);
|
|
3118
3033
|
}
|
|
3119
3034
|
}
|
|
3120
|
-
var is$1 = index.is, istype
|
|
3035
|
+
var is$1 = index.is, istype = index.istype, color$1 = index.color;
|
|
3121
3036
|
function clearContext$1(ctx) {
|
|
3122
3037
|
ctx.setFillStyle('#000000');
|
|
3123
3038
|
ctx.setStrokeStyle('#000000');
|
|
@@ -3128,14 +3043,14 @@ function clearContext$1(ctx) {
|
|
|
3128
3043
|
ctx.setShadowOffsetY(0);
|
|
3129
3044
|
ctx.setShadowBlur(0);
|
|
3130
3045
|
}
|
|
3131
|
-
function drawBgColor
|
|
3046
|
+
function drawBgColor(ctx, color) {
|
|
3132
3047
|
var size = ctx.getSize();
|
|
3133
3048
|
ctx.setFillStyle(color);
|
|
3134
3049
|
ctx.fillRect(0, 0, size.contextWidth, size.contextHeight);
|
|
3135
3050
|
}
|
|
3136
|
-
function drawBox
|
|
3051
|
+
function drawBox(ctx, elem, pattern) {
|
|
3137
3052
|
clearContext$1(ctx);
|
|
3138
|
-
drawBoxBorder
|
|
3053
|
+
drawBoxBorder(ctx, elem);
|
|
3139
3054
|
clearContext$1(ctx);
|
|
3140
3055
|
rotateElement$1(ctx, elem, function () {
|
|
3141
3056
|
var x = elem.x, y = elem.y, w = elem.w, h = elem.h;
|
|
@@ -3154,13 +3069,13 @@ function drawBox$1(ctx, elem, pattern) {
|
|
|
3154
3069
|
if (typeof pattern === 'string') {
|
|
3155
3070
|
ctx.setFillStyle(pattern);
|
|
3156
3071
|
}
|
|
3157
|
-
else if (['CanvasPattern'].includes(istype
|
|
3072
|
+
else if (['CanvasPattern'].includes(istype.type(pattern))) {
|
|
3158
3073
|
ctx.setFillStyle(pattern);
|
|
3159
3074
|
}
|
|
3160
3075
|
ctx.fill();
|
|
3161
3076
|
});
|
|
3162
3077
|
}
|
|
3163
|
-
function drawBoxBorder
|
|
3078
|
+
function drawBoxBorder(ctx, elem) {
|
|
3164
3079
|
clearContext$1(ctx);
|
|
3165
3080
|
rotateElement$1(ctx, elem, function () {
|
|
3166
3081
|
if (!(elem.desc.borderWidth && elem.desc.borderWidth > 0)) {
|
|
@@ -3168,7 +3083,7 @@ function drawBoxBorder$1(ctx, elem) {
|
|
|
3168
3083
|
}
|
|
3169
3084
|
var bw = elem.desc.borderWidth;
|
|
3170
3085
|
var borderColor = '#000000';
|
|
3171
|
-
if (color$1
|
|
3086
|
+
if (color$1.isColorStr(elem.desc.borderColor) === true) {
|
|
3172
3087
|
borderColor = elem.desc.borderColor;
|
|
3173
3088
|
}
|
|
3174
3089
|
var x = elem.x - bw / 2;
|
|
@@ -3181,7 +3096,7 @@ function drawBoxBorder$1(ctx, elem) {
|
|
|
3181
3096
|
r = r + bw / 2;
|
|
3182
3097
|
}
|
|
3183
3098
|
var desc = elem.desc;
|
|
3184
|
-
if (desc.shadowColor !== undefined && color$1
|
|
3099
|
+
if (desc.shadowColor !== undefined && color$1.isColorStr(desc.shadowColor)) {
|
|
3185
3100
|
ctx.setShadowColor(desc.shadowColor);
|
|
3186
3101
|
}
|
|
3187
3102
|
if (desc.shadowOffsetX !== undefined && is$1.number(desc.shadowOffsetX)) {
|
|
@@ -3205,10 +3120,10 @@ function drawBoxBorder$1(ctx, elem) {
|
|
|
3205
3120
|
ctx.stroke();
|
|
3206
3121
|
});
|
|
3207
3122
|
}
|
|
3208
|
-
function drawRect
|
|
3209
|
-
drawBox
|
|
3123
|
+
function drawRect(ctx, elem) {
|
|
3124
|
+
drawBox(ctx, elem, elem.desc.bgColor);
|
|
3210
3125
|
}
|
|
3211
|
-
function drawImage
|
|
3126
|
+
function drawImage(ctx, elem, loader) {
|
|
3212
3127
|
var content = loader.getContent(elem.uuid);
|
|
3213
3128
|
rotateElement$1(ctx, elem, function () {
|
|
3214
3129
|
if (content) {
|
|
@@ -3216,7 +3131,7 @@ function drawImage$1(ctx, elem, loader) {
|
|
|
3216
3131
|
}
|
|
3217
3132
|
});
|
|
3218
3133
|
}
|
|
3219
|
-
function drawSVG
|
|
3134
|
+
function drawSVG(ctx, elem, loader) {
|
|
3220
3135
|
var content = loader.getContent(elem.uuid);
|
|
3221
3136
|
rotateElement$1(ctx, elem, function () {
|
|
3222
3137
|
if (content) {
|
|
@@ -3224,7 +3139,7 @@ function drawSVG$1(ctx, elem, loader) {
|
|
|
3224
3139
|
}
|
|
3225
3140
|
});
|
|
3226
3141
|
}
|
|
3227
|
-
function drawHTML
|
|
3142
|
+
function drawHTML(ctx, elem, loader) {
|
|
3228
3143
|
var content = loader.getContent(elem.uuid);
|
|
3229
3144
|
rotateElement$1(ctx, elem, function () {
|
|
3230
3145
|
if (content) {
|
|
@@ -3233,9 +3148,9 @@ function drawHTML$1(ctx, elem, loader) {
|
|
|
3233
3148
|
});
|
|
3234
3149
|
}
|
|
3235
3150
|
var is$3 = index.is, color$3 = index.color;
|
|
3236
|
-
function drawText
|
|
3151
|
+
function drawText(ctx, elem, loader) {
|
|
3237
3152
|
clearContext$1(ctx);
|
|
3238
|
-
drawBox
|
|
3153
|
+
drawBox(ctx, elem, elem.desc.bgColor || 'transparent');
|
|
3239
3154
|
rotateElement$1(ctx, elem, function () {
|
|
3240
3155
|
var desc = __assign$1({
|
|
3241
3156
|
fontSize: 12,
|
|
@@ -3335,7 +3250,7 @@ function drawText$1(ctx, elem, loader) {
|
|
|
3335
3250
|
}
|
|
3336
3251
|
});
|
|
3337
3252
|
}
|
|
3338
|
-
function drawCircle
|
|
3253
|
+
function drawCircle(ctx, elem) {
|
|
3339
3254
|
clearContext$1(ctx);
|
|
3340
3255
|
rotateElement$1(ctx, elem, function (ctx) {
|
|
3341
3256
|
var x = elem.x, y = elem.y, w = elem.w, h = elem.h, desc = elem.desc;
|
|
@@ -3362,13 +3277,13 @@ function drawCircle$1(ctx, elem) {
|
|
|
3362
3277
|
});
|
|
3363
3278
|
}
|
|
3364
3279
|
var isColorStr$2 = index.color.isColorStr;
|
|
3365
|
-
function drawContext
|
|
3280
|
+
function drawContext(ctx, data, loader) {
|
|
3366
3281
|
var _a;
|
|
3367
3282
|
clearContext$1(ctx);
|
|
3368
3283
|
var size = ctx.getSize();
|
|
3369
3284
|
ctx.clearRect(0, 0, size.contextWidth, size.contextHeight);
|
|
3370
3285
|
if (typeof data.bgColor === 'string' && isColorStr$2(data.bgColor)) {
|
|
3371
|
-
drawBgColor
|
|
3286
|
+
drawBgColor(ctx, data.bgColor);
|
|
3372
3287
|
}
|
|
3373
3288
|
if (!(data.elements.length > 0)) {
|
|
3374
3289
|
return;
|
|
@@ -3380,33 +3295,33 @@ function drawContext$1(ctx, data, loader) {
|
|
|
3380
3295
|
}
|
|
3381
3296
|
switch (elem.type) {
|
|
3382
3297
|
case 'rect': {
|
|
3383
|
-
drawRect
|
|
3298
|
+
drawRect(ctx, elem);
|
|
3384
3299
|
break;
|
|
3385
3300
|
}
|
|
3386
3301
|
case 'text': {
|
|
3387
|
-
drawText
|
|
3302
|
+
drawText(ctx, elem);
|
|
3388
3303
|
break;
|
|
3389
3304
|
}
|
|
3390
3305
|
case 'image': {
|
|
3391
|
-
drawImage
|
|
3306
|
+
drawImage(ctx, elem, loader);
|
|
3392
3307
|
break;
|
|
3393
3308
|
}
|
|
3394
3309
|
case 'svg': {
|
|
3395
|
-
drawSVG
|
|
3310
|
+
drawSVG(ctx, elem, loader);
|
|
3396
3311
|
break;
|
|
3397
3312
|
}
|
|
3398
3313
|
case 'html': {
|
|
3399
|
-
drawHTML
|
|
3314
|
+
drawHTML(ctx, elem, loader);
|
|
3400
3315
|
break;
|
|
3401
3316
|
}
|
|
3402
3317
|
case 'circle': {
|
|
3403
|
-
drawCircle
|
|
3318
|
+
drawCircle(ctx, elem);
|
|
3404
3319
|
break;
|
|
3405
3320
|
}
|
|
3406
3321
|
}
|
|
3407
3322
|
}
|
|
3408
3323
|
}
|
|
3409
|
-
var LoaderEvent
|
|
3324
|
+
var LoaderEvent = (function () {
|
|
3410
3325
|
function LoaderEvent() {
|
|
3411
3326
|
this._listeners = new Map();
|
|
3412
3327
|
}
|
|
@@ -3457,36 +3372,36 @@ var LoaderEvent$1 = (function () {
|
|
|
3457
3372
|
};
|
|
3458
3373
|
return LoaderEvent;
|
|
3459
3374
|
}());
|
|
3460
|
-
function filterScript
|
|
3375
|
+
function filterScript(html) {
|
|
3461
3376
|
return html.replace(/<script[\s\S]*?<\/script>/ig, '');
|
|
3462
3377
|
}
|
|
3463
|
-
var _a$1 = index.loader, loadImage
|
|
3378
|
+
var _a$1 = index.loader, loadImage = _a$1.loadImage, loadSVG = _a$1.loadSVG, loadHTML = _a$1.loadHTML;
|
|
3464
3379
|
var deepClone$1$1 = index.data.deepClone;
|
|
3465
|
-
var LoaderStatus
|
|
3380
|
+
var LoaderStatus;
|
|
3466
3381
|
(function (LoaderStatus) {
|
|
3467
3382
|
LoaderStatus["FREE"] = "free";
|
|
3468
3383
|
LoaderStatus["LOADING"] = "loading";
|
|
3469
3384
|
LoaderStatus["COMPLETE"] = "complete";
|
|
3470
|
-
})(LoaderStatus
|
|
3471
|
-
var Loader
|
|
3385
|
+
})(LoaderStatus || (LoaderStatus = {}));
|
|
3386
|
+
var Loader = (function () {
|
|
3472
3387
|
function Loader(opts) {
|
|
3473
3388
|
this._currentLoadData = {};
|
|
3474
3389
|
this._currentUUIDQueue = [];
|
|
3475
3390
|
this._storageLoadData = {};
|
|
3476
|
-
this._status = LoaderStatus
|
|
3391
|
+
this._status = LoaderStatus.FREE;
|
|
3477
3392
|
this._waitingLoadQueue = [];
|
|
3478
3393
|
this._opts = opts;
|
|
3479
|
-
this._event = new LoaderEvent
|
|
3394
|
+
this._event = new LoaderEvent();
|
|
3480
3395
|
this._waitingLoadQueue = [];
|
|
3481
3396
|
}
|
|
3482
3397
|
Loader.prototype.load = function (data, changeResourceUUIDs) {
|
|
3483
3398
|
var _a = this._resetLoadData(data, changeResourceUUIDs), uuidQueue = _a[0], loadData = _a[1];
|
|
3484
|
-
if (this._status === LoaderStatus
|
|
3399
|
+
if (this._status === LoaderStatus.FREE || this._status === LoaderStatus.COMPLETE) {
|
|
3485
3400
|
this._currentUUIDQueue = uuidQueue;
|
|
3486
3401
|
this._currentLoadData = loadData;
|
|
3487
3402
|
this._loadTask();
|
|
3488
3403
|
}
|
|
3489
|
-
else if (this._status === LoaderStatus
|
|
3404
|
+
else if (this._status === LoaderStatus.LOADING && uuidQueue.length > 0) {
|
|
3490
3405
|
this._waitingLoadQueue.push({
|
|
3491
3406
|
uuidQueue: uuidQueue,
|
|
3492
3407
|
loadData: loadData,
|
|
@@ -3500,7 +3415,7 @@ var Loader$1 = (function () {
|
|
|
3500
3415
|
this._event.off(name, callback);
|
|
3501
3416
|
};
|
|
3502
3417
|
Loader.prototype.isComplete = function () {
|
|
3503
|
-
return this._status === LoaderStatus
|
|
3418
|
+
return this._status === LoaderStatus.COMPLETE;
|
|
3504
3419
|
};
|
|
3505
3420
|
Loader.prototype.getContent = function (uuid) {
|
|
3506
3421
|
var _a;
|
|
@@ -3545,7 +3460,7 @@ var Loader$1 = (function () {
|
|
|
3545
3460
|
}
|
|
3546
3461
|
else if (elem.type === 'html') {
|
|
3547
3462
|
var _elem = elem;
|
|
3548
|
-
source = filterScript
|
|
3463
|
+
source = filterScript(_elem.desc.html || '');
|
|
3549
3464
|
elemW = _elem.desc.width || elem.w;
|
|
3550
3465
|
elemH = _elem.desc.height || elem.h;
|
|
3551
3466
|
}
|
|
@@ -3562,13 +3477,13 @@ var Loader$1 = (function () {
|
|
|
3562
3477
|
};
|
|
3563
3478
|
Loader.prototype._loadTask = function () {
|
|
3564
3479
|
var _this = this;
|
|
3565
|
-
if (this._status === LoaderStatus
|
|
3480
|
+
if (this._status === LoaderStatus.LOADING) {
|
|
3566
3481
|
return;
|
|
3567
3482
|
}
|
|
3568
|
-
this._status = LoaderStatus
|
|
3483
|
+
this._status = LoaderStatus.LOADING;
|
|
3569
3484
|
if (this._currentUUIDQueue.length === 0) {
|
|
3570
3485
|
if (this._waitingLoadQueue.length === 0) {
|
|
3571
|
-
this._status = LoaderStatus
|
|
3486
|
+
this._status = LoaderStatus.COMPLETE;
|
|
3572
3487
|
this._event.trigger('complete', undefined);
|
|
3573
3488
|
return;
|
|
3574
3489
|
}
|
|
@@ -3616,7 +3531,7 @@ var Loader$1 = (function () {
|
|
|
3616
3531
|
element: _this._currentLoadData[uuid].element,
|
|
3617
3532
|
};
|
|
3618
3533
|
if (loadUUIDList.length === 0 && uuids.length === 0 && status === true) {
|
|
3619
|
-
_this._status = LoaderStatus
|
|
3534
|
+
_this._status = LoaderStatus.FREE;
|
|
3620
3535
|
_this._loadTask();
|
|
3621
3536
|
}
|
|
3622
3537
|
_this._event.trigger('load', {
|
|
@@ -3648,7 +3563,7 @@ var Loader$1 = (function () {
|
|
|
3648
3563
|
};
|
|
3649
3564
|
}
|
|
3650
3565
|
if (loadUUIDList.length === 0 && uuids.length === 0 && status === true) {
|
|
3651
|
-
_this._status = LoaderStatus
|
|
3566
|
+
_this._status = LoaderStatus.FREE;
|
|
3652
3567
|
_this._loadTask();
|
|
3653
3568
|
}
|
|
3654
3569
|
if (_this._currentLoadData[uuid]) {
|
|
@@ -3681,19 +3596,19 @@ var Loader$1 = (function () {
|
|
|
3681
3596
|
switch (_a.label) {
|
|
3682
3597
|
case 0:
|
|
3683
3598
|
if (!(params && params.type === 'image')) return [3, 2];
|
|
3684
|
-
return [4, loadImage
|
|
3599
|
+
return [4, loadImage(params.source)];
|
|
3685
3600
|
case 1:
|
|
3686
3601
|
image = _a.sent();
|
|
3687
3602
|
return [2, image];
|
|
3688
3603
|
case 2:
|
|
3689
3604
|
if (!(params && params.type === 'svg')) return [3, 4];
|
|
3690
|
-
return [4, loadSVG
|
|
3605
|
+
return [4, loadSVG(params.source)];
|
|
3691
3606
|
case 3:
|
|
3692
3607
|
image = _a.sent();
|
|
3693
3608
|
return [2, image];
|
|
3694
3609
|
case 4:
|
|
3695
3610
|
if (!(params && params.type === 'html')) return [3, 6];
|
|
3696
|
-
return [4, loadHTML
|
|
3611
|
+
return [4, loadHTML(params.source, {
|
|
3697
3612
|
width: params.elemW, height: params.elemH
|
|
3698
3613
|
})];
|
|
3699
3614
|
case 5:
|
|
@@ -3706,7 +3621,7 @@ var Loader$1 = (function () {
|
|
|
3706
3621
|
};
|
|
3707
3622
|
return Loader;
|
|
3708
3623
|
}());
|
|
3709
|
-
var RendererEvent
|
|
3624
|
+
var RendererEvent = (function () {
|
|
3710
3625
|
function RendererEvent() {
|
|
3711
3626
|
this._listeners = new Map();
|
|
3712
3627
|
}
|
|
@@ -3765,27 +3680,27 @@ var _opts$2 = Symbol('_opts');
|
|
|
3765
3680
|
var _freeze = Symbol('_freeze');
|
|
3766
3681
|
var _drawFrame = Symbol('_drawFrame');
|
|
3767
3682
|
var _retainQueueOneItem = Symbol('_retainQueueOneItem');
|
|
3768
|
-
var _a
|
|
3769
|
-
var requestAnimationFrame
|
|
3683
|
+
var _a, _b, _c;
|
|
3684
|
+
var requestAnimationFrame = window.requestAnimationFrame;
|
|
3770
3685
|
var createUUID$2 = index.uuid.createUUID;
|
|
3771
|
-
var deepClone$
|
|
3686
|
+
var deepClone$4 = index.data.deepClone;
|
|
3772
3687
|
var Context = index.Context;
|
|
3773
|
-
var DrawStatus
|
|
3688
|
+
var DrawStatus;
|
|
3774
3689
|
(function (DrawStatus) {
|
|
3775
3690
|
DrawStatus["NULL"] = "null";
|
|
3776
3691
|
DrawStatus["FREE"] = "free";
|
|
3777
3692
|
DrawStatus["DRAWING"] = "drawing";
|
|
3778
3693
|
DrawStatus["FREEZE"] = "freeze";
|
|
3779
|
-
})(DrawStatus
|
|
3694
|
+
})(DrawStatus || (DrawStatus = {}));
|
|
3780
3695
|
var Renderer = (function (_super) {
|
|
3781
3696
|
__extends(Renderer, _super);
|
|
3782
3697
|
function Renderer(opts) {
|
|
3783
3698
|
var _this = _super.call(this) || this;
|
|
3784
|
-
_this[_a
|
|
3699
|
+
_this[_a] = [];
|
|
3785
3700
|
_this[_b] = null;
|
|
3786
|
-
_this[_c] = DrawStatus
|
|
3701
|
+
_this[_c] = DrawStatus.NULL;
|
|
3787
3702
|
_this[_opts$2] = opts;
|
|
3788
|
-
_this[_loader] = new Loader
|
|
3703
|
+
_this[_loader] = new Loader({
|
|
3789
3704
|
maxParallelNum: 6
|
|
3790
3705
|
});
|
|
3791
3706
|
_this[_loader].on('load', function (res) {
|
|
@@ -3802,8 +3717,8 @@ var Renderer = (function (_super) {
|
|
|
3802
3717
|
}
|
|
3803
3718
|
Renderer.prototype.render = function (target, originData, opts) {
|
|
3804
3719
|
var _d = (opts || {}).changeResourceUUIDs, changeResourceUUIDs = _d === void 0 ? [] : _d;
|
|
3805
|
-
this[_status] = DrawStatus
|
|
3806
|
-
var data = deepClone$
|
|
3720
|
+
this[_status] = DrawStatus.FREE;
|
|
3721
|
+
var data = deepClone$4(originData);
|
|
3807
3722
|
if (Array.isArray(data.elements)) {
|
|
3808
3723
|
data.elements.forEach(function (elem) {
|
|
3809
3724
|
if (!(typeof elem.uuid === 'string' && elem.uuid)) {
|
|
@@ -3830,10 +3745,10 @@ var Renderer = (function (_super) {
|
|
|
3830
3745
|
this[_ctx] = target;
|
|
3831
3746
|
}
|
|
3832
3747
|
}
|
|
3833
|
-
if ([DrawStatus
|
|
3748
|
+
if ([DrawStatus.FREEZE].includes(this[_status])) {
|
|
3834
3749
|
return;
|
|
3835
3750
|
}
|
|
3836
|
-
var _data = deepClone$
|
|
3751
|
+
var _data = deepClone$4({ data: data, });
|
|
3837
3752
|
this[_queue].push(_data);
|
|
3838
3753
|
this[_drawFrame]();
|
|
3839
3754
|
this[_loader].load(data, changeResourceUUIDs || []);
|
|
@@ -3842,18 +3757,18 @@ var Renderer = (function (_super) {
|
|
|
3842
3757
|
return this[_ctx];
|
|
3843
3758
|
};
|
|
3844
3759
|
Renderer.prototype.thaw = function () {
|
|
3845
|
-
this[_status] = DrawStatus
|
|
3760
|
+
this[_status] = DrawStatus.FREE;
|
|
3846
3761
|
};
|
|
3847
|
-
Renderer.prototype[(_a
|
|
3848
|
-
this[_status] = DrawStatus
|
|
3762
|
+
Renderer.prototype[(_a = _queue, _b = _ctx, _c = _status, _freeze)] = function () {
|
|
3763
|
+
this[_status] = DrawStatus.FREEZE;
|
|
3849
3764
|
};
|
|
3850
3765
|
Renderer.prototype[_drawFrame] = function () {
|
|
3851
3766
|
var _this = this;
|
|
3852
|
-
if (this[_status] === DrawStatus
|
|
3767
|
+
if (this[_status] === DrawStatus.FREEZE) {
|
|
3853
3768
|
return;
|
|
3854
3769
|
}
|
|
3855
|
-
requestAnimationFrame
|
|
3856
|
-
if (_this[_status] === DrawStatus
|
|
3770
|
+
requestAnimationFrame(function () {
|
|
3771
|
+
if (_this[_status] === DrawStatus.FREEZE) {
|
|
3857
3772
|
return;
|
|
3858
3773
|
}
|
|
3859
3774
|
var ctx = _this[_ctx];
|
|
@@ -3868,26 +3783,26 @@ var Renderer = (function (_super) {
|
|
|
3868
3783
|
if (_this[_loader].isComplete() !== true) {
|
|
3869
3784
|
_this[_drawFrame]();
|
|
3870
3785
|
if (item && ctx) {
|
|
3871
|
-
drawContext
|
|
3786
|
+
drawContext(ctx, item.data, _this[_loader]);
|
|
3872
3787
|
}
|
|
3873
3788
|
}
|
|
3874
3789
|
else if (item && ctx) {
|
|
3875
|
-
drawContext
|
|
3790
|
+
drawContext(ctx, item.data, _this[_loader]);
|
|
3876
3791
|
_this[_retainQueueOneItem]();
|
|
3877
3792
|
if (!isLastFrame) {
|
|
3878
3793
|
_this[_drawFrame]();
|
|
3879
3794
|
}
|
|
3880
3795
|
else {
|
|
3881
|
-
_this[_status] = DrawStatus
|
|
3796
|
+
_this[_status] = DrawStatus.FREE;
|
|
3882
3797
|
}
|
|
3883
3798
|
}
|
|
3884
3799
|
else {
|
|
3885
|
-
_this[_status] = DrawStatus
|
|
3800
|
+
_this[_status] = DrawStatus.FREE;
|
|
3886
3801
|
}
|
|
3887
3802
|
_this.trigger('drawFrame', { t: Date.now() });
|
|
3888
|
-
if (_this[_loader].isComplete() === true && _this[_queue].length === 1 && _this[_status] === DrawStatus
|
|
3803
|
+
if (_this[_loader].isComplete() === true && _this[_queue].length === 1 && _this[_status] === DrawStatus.FREE) {
|
|
3889
3804
|
if (ctx && _this[_queue][0] && _this[_queue][0].data) {
|
|
3890
|
-
drawContext
|
|
3805
|
+
drawContext(ctx, _this[_queue][0].data, _this[_loader]);
|
|
3891
3806
|
}
|
|
3892
3807
|
_this.trigger('drawFrameComplete', { t: Date.now() });
|
|
3893
3808
|
_this[_freeze]();
|
|
@@ -3898,13 +3813,13 @@ var Renderer = (function (_super) {
|
|
|
3898
3813
|
if (this[_queue].length <= 1) {
|
|
3899
3814
|
return;
|
|
3900
3815
|
}
|
|
3901
|
-
var lastOne = deepClone$
|
|
3816
|
+
var lastOne = deepClone$4(this[_queue][this[_queue].length - 1]);
|
|
3902
3817
|
this[_queue] = [lastOne];
|
|
3903
3818
|
};
|
|
3904
3819
|
return Renderer;
|
|
3905
|
-
}(RendererEvent
|
|
3820
|
+
}(RendererEvent));
|
|
3906
3821
|
|
|
3907
|
-
var isColorStr
|
|
3822
|
+
var isColorStr = index$1.color.isColorStr;
|
|
3908
3823
|
function number(value) {
|
|
3909
3824
|
return (typeof value === 'number' && (value > 0 || value <= 0));
|
|
3910
3825
|
}
|
|
@@ -3929,8 +3844,8 @@ function borderWidth(value) {
|
|
|
3929
3844
|
function borderRadius(value) {
|
|
3930
3845
|
return number(value) && value >= 0;
|
|
3931
3846
|
}
|
|
3932
|
-
function color
|
|
3933
|
-
return isColorStr
|
|
3847
|
+
function color(value) {
|
|
3848
|
+
return isColorStr(value);
|
|
3934
3849
|
}
|
|
3935
3850
|
function imageURL(value) {
|
|
3936
3851
|
return (typeof value === 'string' && /^(http:\/\/|https:\/\/|\.\/|\/)/.test("" + value));
|
|
@@ -3986,7 +3901,7 @@ var is = {
|
|
|
3986
3901
|
number: number,
|
|
3987
3902
|
borderWidth: borderWidth,
|
|
3988
3903
|
borderRadius: borderRadius,
|
|
3989
|
-
color: color
|
|
3904
|
+
color: color,
|
|
3990
3905
|
imageSrc: imageSrc,
|
|
3991
3906
|
imageURL: imageURL,
|
|
3992
3907
|
imageBase64: imageBase64,
|
|
@@ -4181,6 +4096,156 @@ function calcLineAngle(center, p) {
|
|
|
4181
4096
|
return null;
|
|
4182
4097
|
}
|
|
4183
4098
|
|
|
4099
|
+
var defaultConfig = {
|
|
4100
|
+
elementWrapper: {
|
|
4101
|
+
color: '#2ab6f1',
|
|
4102
|
+
lockColor: '#aaaaaa',
|
|
4103
|
+
controllerSize: 6,
|
|
4104
|
+
lineWidth: 1,
|
|
4105
|
+
lineDash: [4, 3],
|
|
4106
|
+
}
|
|
4107
|
+
};
|
|
4108
|
+
function mergeConfig(config) {
|
|
4109
|
+
var result = index$1.data.deepClone(defaultConfig);
|
|
4110
|
+
if (config) {
|
|
4111
|
+
if (config.elementWrapper) {
|
|
4112
|
+
result.elementWrapper = __assign$4(__assign$4({}, result.elementWrapper), config.elementWrapper);
|
|
4113
|
+
}
|
|
4114
|
+
}
|
|
4115
|
+
return result;
|
|
4116
|
+
}
|
|
4117
|
+
|
|
4118
|
+
var CoreEvent = (function () {
|
|
4119
|
+
function CoreEvent() {
|
|
4120
|
+
this._listeners = new Map();
|
|
4121
|
+
}
|
|
4122
|
+
CoreEvent.prototype.on = function (eventKey, callback) {
|
|
4123
|
+
if (this._listeners.has(eventKey)) {
|
|
4124
|
+
var callbacks = this._listeners.get(eventKey);
|
|
4125
|
+
callbacks === null || callbacks === void 0 ? void 0 : callbacks.push(callback);
|
|
4126
|
+
this._listeners.set(eventKey, callbacks || []);
|
|
4127
|
+
}
|
|
4128
|
+
else {
|
|
4129
|
+
this._listeners.set(eventKey, [callback]);
|
|
4130
|
+
}
|
|
4131
|
+
};
|
|
4132
|
+
CoreEvent.prototype.off = function (eventKey, callback) {
|
|
4133
|
+
if (this._listeners.has(eventKey)) {
|
|
4134
|
+
var callbacks = this._listeners.get(eventKey);
|
|
4135
|
+
if (Array.isArray(callbacks)) {
|
|
4136
|
+
for (var i = 0; i < (callbacks === null || callbacks === void 0 ? void 0 : callbacks.length); i++) {
|
|
4137
|
+
if (callbacks[i] === callback) {
|
|
4138
|
+
callbacks.splice(i, 1);
|
|
4139
|
+
break;
|
|
4140
|
+
}
|
|
4141
|
+
}
|
|
4142
|
+
}
|
|
4143
|
+
this._listeners.set(eventKey, callbacks || []);
|
|
4144
|
+
}
|
|
4145
|
+
};
|
|
4146
|
+
CoreEvent.prototype.trigger = function (eventKey, arg) {
|
|
4147
|
+
var callbacks = this._listeners.get(eventKey);
|
|
4148
|
+
if (Array.isArray(callbacks)) {
|
|
4149
|
+
callbacks.forEach(function (cb) {
|
|
4150
|
+
cb(arg);
|
|
4151
|
+
});
|
|
4152
|
+
return true;
|
|
4153
|
+
}
|
|
4154
|
+
else {
|
|
4155
|
+
return false;
|
|
4156
|
+
}
|
|
4157
|
+
};
|
|
4158
|
+
CoreEvent.prototype.has = function (name) {
|
|
4159
|
+
if (this._listeners.has(name)) {
|
|
4160
|
+
var list = this._listeners.get(name);
|
|
4161
|
+
if (Array.isArray(list) && list.length > 0) {
|
|
4162
|
+
return true;
|
|
4163
|
+
}
|
|
4164
|
+
}
|
|
4165
|
+
return false;
|
|
4166
|
+
};
|
|
4167
|
+
return CoreEvent;
|
|
4168
|
+
}());
|
|
4169
|
+
|
|
4170
|
+
function isChangeImageElementResource(before, after) {
|
|
4171
|
+
var _a, _b;
|
|
4172
|
+
return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.src) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.src));
|
|
4173
|
+
}
|
|
4174
|
+
function isChangeSVGElementResource(before, after) {
|
|
4175
|
+
var _a, _b;
|
|
4176
|
+
return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.svg) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.svg));
|
|
4177
|
+
}
|
|
4178
|
+
function isChangeHTMLElementResource(before, after) {
|
|
4179
|
+
var _a, _b, _c, _d, _e, _f;
|
|
4180
|
+
return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.html) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.html)
|
|
4181
|
+
|| ((_c = before === null || before === void 0 ? void 0 : before.desc) === null || _c === void 0 ? void 0 : _c.width) !== ((_d = after === null || after === void 0 ? void 0 : after.desc) === null || _d === void 0 ? void 0 : _d.width)
|
|
4182
|
+
|| ((_e = before === null || before === void 0 ? void 0 : before.desc) === null || _e === void 0 ? void 0 : _e.height) !== ((_f = after === null || after === void 0 ? void 0 : after.desc) === null || _f === void 0 ? void 0 : _f.height));
|
|
4183
|
+
}
|
|
4184
|
+
function diffElementResourceChange(before, after) {
|
|
4185
|
+
var result = null;
|
|
4186
|
+
var isChange = false;
|
|
4187
|
+
switch (after.type) {
|
|
4188
|
+
case 'image': {
|
|
4189
|
+
isChange = isChangeImageElementResource(before, after);
|
|
4190
|
+
break;
|
|
4191
|
+
}
|
|
4192
|
+
case 'svg': {
|
|
4193
|
+
isChange = isChangeSVGElementResource(before, after);
|
|
4194
|
+
break;
|
|
4195
|
+
}
|
|
4196
|
+
case 'html': {
|
|
4197
|
+
isChange = isChangeHTMLElementResource(before, after);
|
|
4198
|
+
break;
|
|
4199
|
+
}
|
|
4200
|
+
}
|
|
4201
|
+
if (isChange === true) {
|
|
4202
|
+
result = after.uuid;
|
|
4203
|
+
}
|
|
4204
|
+
return result;
|
|
4205
|
+
}
|
|
4206
|
+
function diffElementResourceChangeList(before, after) {
|
|
4207
|
+
var _a;
|
|
4208
|
+
var uuids = [];
|
|
4209
|
+
var beforeMap = parseDataElementMap(before);
|
|
4210
|
+
var afterMap = parseDataElementMap(after);
|
|
4211
|
+
for (var uuid in afterMap) {
|
|
4212
|
+
if (['image', 'svg', 'html'].includes((_a = afterMap[uuid]) === null || _a === void 0 ? void 0 : _a.type) !== true) {
|
|
4213
|
+
continue;
|
|
4214
|
+
}
|
|
4215
|
+
if (beforeMap[uuid]) {
|
|
4216
|
+
var isChange = false;
|
|
4217
|
+
switch (beforeMap[uuid].type) {
|
|
4218
|
+
case 'image': {
|
|
4219
|
+
isChange = isChangeImageElementResource(beforeMap[uuid], afterMap[uuid]);
|
|
4220
|
+
break;
|
|
4221
|
+
}
|
|
4222
|
+
case 'svg': {
|
|
4223
|
+
isChange = isChangeSVGElementResource(beforeMap[uuid], afterMap[uuid]);
|
|
4224
|
+
break;
|
|
4225
|
+
}
|
|
4226
|
+
case 'html': {
|
|
4227
|
+
isChange = isChangeHTMLElementResource(beforeMap[uuid], afterMap[uuid]);
|
|
4228
|
+
break;
|
|
4229
|
+
}
|
|
4230
|
+
}
|
|
4231
|
+
if (isChange === true) {
|
|
4232
|
+
uuids.push(uuid);
|
|
4233
|
+
}
|
|
4234
|
+
}
|
|
4235
|
+
else {
|
|
4236
|
+
uuids.push(uuid);
|
|
4237
|
+
}
|
|
4238
|
+
}
|
|
4239
|
+
return uuids;
|
|
4240
|
+
}
|
|
4241
|
+
function parseDataElementMap(data) {
|
|
4242
|
+
var elemMap = {};
|
|
4243
|
+
data.elements.forEach(function (elem) {
|
|
4244
|
+
elemMap[elem.uuid] = elem;
|
|
4245
|
+
});
|
|
4246
|
+
return elemMap;
|
|
4247
|
+
}
|
|
4248
|
+
|
|
4184
4249
|
function rotateElement(ctx, elem, callback) {
|
|
4185
4250
|
var center = calcElementCenter(elem);
|
|
4186
4251
|
var radian = parseAngleToRadian(elem.angle || 0);
|
|
@@ -4200,601 +4265,9 @@ function rotateContext(ctx, center, radian, callback) {
|
|
|
4200
4265
|
}
|
|
4201
4266
|
}
|
|
4202
4267
|
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
ctx.setStrokeStyle('#000000');
|
|
4207
|
-
ctx.setLineDash([]);
|
|
4208
|
-
ctx.setGlobalAlpha(1);
|
|
4209
|
-
ctx.setShadowColor('#00000000');
|
|
4210
|
-
ctx.setShadowOffsetX(0);
|
|
4211
|
-
ctx.setShadowOffsetY(0);
|
|
4212
|
-
ctx.setShadowBlur(0);
|
|
4213
|
-
}
|
|
4214
|
-
function drawBgColor(ctx, color) {
|
|
4215
|
-
var size = ctx.getSize();
|
|
4216
|
-
ctx.setFillStyle(color);
|
|
4217
|
-
ctx.fillRect(0, 0, size.contextWidth, size.contextHeight);
|
|
4218
|
-
}
|
|
4219
|
-
function drawBox(ctx, elem, pattern) {
|
|
4220
|
-
clearContext(ctx);
|
|
4221
|
-
drawBoxBorder(ctx, elem);
|
|
4222
|
-
clearContext(ctx);
|
|
4223
|
-
rotateElement(ctx, elem, function () {
|
|
4224
|
-
var x = elem.x, y = elem.y, w = elem.w, h = elem.h;
|
|
4225
|
-
var r = elem.desc.borderRadius || 0;
|
|
4226
|
-
r = Math.min(r, w / 2, h / 2);
|
|
4227
|
-
if (w < r * 2 || h < r * 2) {
|
|
4228
|
-
r = 0;
|
|
4229
|
-
}
|
|
4230
|
-
ctx.beginPath();
|
|
4231
|
-
ctx.moveTo(x + r, y);
|
|
4232
|
-
ctx.arcTo(x + w, y, x + w, y + h, r);
|
|
4233
|
-
ctx.arcTo(x + w, y + h, x, y + h, r);
|
|
4234
|
-
ctx.arcTo(x, y + h, x, y, r);
|
|
4235
|
-
ctx.arcTo(x, y, x + w, y, r);
|
|
4236
|
-
ctx.closePath();
|
|
4237
|
-
if (typeof pattern === 'string') {
|
|
4238
|
-
ctx.setFillStyle(pattern);
|
|
4239
|
-
}
|
|
4240
|
-
else if (['CanvasPattern'].includes(istype.type(pattern))) {
|
|
4241
|
-
ctx.setFillStyle(pattern);
|
|
4242
|
-
}
|
|
4243
|
-
ctx.fill();
|
|
4244
|
-
});
|
|
4245
|
-
}
|
|
4246
|
-
function drawBoxBorder(ctx, elem) {
|
|
4247
|
-
clearContext(ctx);
|
|
4248
|
-
rotateElement(ctx, elem, function () {
|
|
4249
|
-
if (!(elem.desc.borderWidth && elem.desc.borderWidth > 0)) {
|
|
4250
|
-
return;
|
|
4251
|
-
}
|
|
4252
|
-
var bw = elem.desc.borderWidth;
|
|
4253
|
-
var borderColor = '#000000';
|
|
4254
|
-
if (color.isColorStr(elem.desc.borderColor) === true) {
|
|
4255
|
-
borderColor = elem.desc.borderColor;
|
|
4256
|
-
}
|
|
4257
|
-
var x = elem.x - bw / 2;
|
|
4258
|
-
var y = elem.y - bw / 2;
|
|
4259
|
-
var w = elem.w + bw;
|
|
4260
|
-
var h = elem.h + bw;
|
|
4261
|
-
var r = elem.desc.borderRadius || 0;
|
|
4262
|
-
r = Math.min(r, w / 2, h / 2);
|
|
4263
|
-
if (r < w / 2 && r < h / 2) {
|
|
4264
|
-
r = r + bw / 2;
|
|
4265
|
-
}
|
|
4266
|
-
var desc = elem.desc;
|
|
4267
|
-
if (desc.shadowColor !== undefined && index$1.color.isColorStr(desc.shadowColor)) {
|
|
4268
|
-
ctx.setShadowColor(desc.shadowColor);
|
|
4269
|
-
}
|
|
4270
|
-
if (desc.shadowOffsetX !== undefined && is.number(desc.shadowOffsetX)) {
|
|
4271
|
-
ctx.setShadowOffsetX(desc.shadowOffsetX);
|
|
4272
|
-
}
|
|
4273
|
-
if (desc.shadowOffsetY !== undefined && is.number(desc.shadowOffsetY)) {
|
|
4274
|
-
ctx.setShadowOffsetY(desc.shadowOffsetY);
|
|
4275
|
-
}
|
|
4276
|
-
if (desc.shadowBlur !== undefined && is.number(desc.shadowBlur)) {
|
|
4277
|
-
ctx.setShadowBlur(desc.shadowBlur);
|
|
4278
|
-
}
|
|
4279
|
-
ctx.beginPath();
|
|
4280
|
-
ctx.setLineWidth(bw);
|
|
4281
|
-
ctx.setStrokeStyle(borderColor);
|
|
4282
|
-
ctx.moveTo(x + r, y);
|
|
4283
|
-
ctx.arcTo(x + w, y, x + w, y + h, r);
|
|
4284
|
-
ctx.arcTo(x + w, y + h, x, y + h, r);
|
|
4285
|
-
ctx.arcTo(x, y + h, x, y, r);
|
|
4286
|
-
ctx.arcTo(x, y, x + w, y, r);
|
|
4287
|
-
ctx.closePath();
|
|
4288
|
-
ctx.stroke();
|
|
4289
|
-
});
|
|
4290
|
-
}
|
|
4291
|
-
|
|
4292
|
-
function drawRect(ctx, elem) {
|
|
4293
|
-
drawBox(ctx, elem, elem.desc.bgColor);
|
|
4294
|
-
}
|
|
4295
|
-
|
|
4296
|
-
function drawImage(ctx, elem, loader) {
|
|
4297
|
-
var content = loader.getContent(elem.uuid);
|
|
4298
|
-
rotateElement(ctx, elem, function () {
|
|
4299
|
-
if (content) {
|
|
4300
|
-
ctx.drawImage(content, elem.x, elem.y, elem.w, elem.h);
|
|
4301
|
-
}
|
|
4302
|
-
});
|
|
4303
|
-
}
|
|
4304
|
-
|
|
4305
|
-
function drawSVG(ctx, elem, loader) {
|
|
4306
|
-
var content = loader.getContent(elem.uuid);
|
|
4307
|
-
rotateElement(ctx, elem, function () {
|
|
4308
|
-
if (content) {
|
|
4309
|
-
ctx.drawImage(content, elem.x, elem.y, elem.w, elem.h);
|
|
4310
|
-
}
|
|
4311
|
-
});
|
|
4312
|
-
}
|
|
4313
|
-
|
|
4314
|
-
function drawHTML(ctx, elem, loader) {
|
|
4315
|
-
var content = loader.getContent(elem.uuid);
|
|
4316
|
-
rotateElement(ctx, elem, function () {
|
|
4317
|
-
if (content) {
|
|
4318
|
-
ctx.drawImage(content, elem.x, elem.y, elem.w, elem.h);
|
|
4319
|
-
}
|
|
4320
|
-
});
|
|
4321
|
-
}
|
|
4322
|
-
|
|
4323
|
-
function drawText(ctx, elem, loader, helperConfig) {
|
|
4324
|
-
clearContext(ctx);
|
|
4325
|
-
drawBox(ctx, elem, elem.desc.bgColor || 'transparent');
|
|
4326
|
-
rotateElement(ctx, elem, function () {
|
|
4327
|
-
var desc = __assign$4({
|
|
4328
|
-
fontSize: 12,
|
|
4329
|
-
fontFamily: 'sans-serif',
|
|
4330
|
-
textAlign: 'center',
|
|
4331
|
-
}, elem.desc);
|
|
4332
|
-
ctx.setFillStyle(elem.desc.color);
|
|
4333
|
-
ctx.setTextBaseline('top');
|
|
4334
|
-
ctx.setFont({
|
|
4335
|
-
fontWeight: desc.fontWeight,
|
|
4336
|
-
fontSize: desc.fontSize,
|
|
4337
|
-
fontFamily: desc.fontFamily
|
|
4338
|
-
});
|
|
4339
|
-
var descText = desc.text.replace(/\r\n/ig, '\n');
|
|
4340
|
-
var fontHeight = desc.lineHeight || desc.fontSize;
|
|
4341
|
-
var descTextList = descText.split('\n');
|
|
4342
|
-
var lines = [];
|
|
4343
|
-
descTextList.forEach(function (tempText) {
|
|
4344
|
-
var lineText = '';
|
|
4345
|
-
var lineNum = 0;
|
|
4346
|
-
for (var i = 0; i < tempText.length; i++) {
|
|
4347
|
-
if (ctx.measureText(lineText + (tempText[i] || '')).width < ctx.calcDeviceNum(elem.w)) {
|
|
4348
|
-
lineText += (tempText[i] || '');
|
|
4349
|
-
}
|
|
4350
|
-
else {
|
|
4351
|
-
lines.push({
|
|
4352
|
-
text: lineText,
|
|
4353
|
-
width: ctx.calcScreenNum(ctx.measureText(lineText).width),
|
|
4354
|
-
});
|
|
4355
|
-
lineText = (tempText[i] || '');
|
|
4356
|
-
lineNum++;
|
|
4357
|
-
}
|
|
4358
|
-
if ((lineNum + 1) * fontHeight > elem.h) {
|
|
4359
|
-
break;
|
|
4360
|
-
}
|
|
4361
|
-
if (lineText && tempText.length - 1 === i) {
|
|
4362
|
-
if ((lineNum + 1) * fontHeight < elem.h) {
|
|
4363
|
-
lines.push({
|
|
4364
|
-
text: lineText,
|
|
4365
|
-
width: ctx.calcScreenNum(ctx.measureText(lineText).width),
|
|
4366
|
-
});
|
|
4367
|
-
break;
|
|
4368
|
-
}
|
|
4369
|
-
}
|
|
4370
|
-
}
|
|
4371
|
-
});
|
|
4372
|
-
{
|
|
4373
|
-
var _y_1 = elem.y;
|
|
4374
|
-
if (lines.length * fontHeight < elem.h) {
|
|
4375
|
-
_y_1 += ((elem.h - lines.length * fontHeight) / 2);
|
|
4376
|
-
}
|
|
4377
|
-
if (desc.textShadowColor !== undefined && index$1.color.isColorStr(desc.textShadowColor)) {
|
|
4378
|
-
ctx.setShadowColor(desc.textShadowColor);
|
|
4379
|
-
}
|
|
4380
|
-
if (desc.textShadowOffsetX !== undefined && is.number(desc.textShadowOffsetX)) {
|
|
4381
|
-
ctx.setShadowOffsetX(desc.textShadowOffsetX);
|
|
4382
|
-
}
|
|
4383
|
-
if (desc.textShadowOffsetY !== undefined && is.number(desc.textShadowOffsetY)) {
|
|
4384
|
-
ctx.setShadowOffsetY(desc.textShadowOffsetY);
|
|
4385
|
-
}
|
|
4386
|
-
if (desc.textShadowBlur !== undefined && is.number(desc.textShadowBlur)) {
|
|
4387
|
-
ctx.setShadowBlur(desc.textShadowBlur);
|
|
4388
|
-
}
|
|
4389
|
-
lines.forEach(function (line, i) {
|
|
4390
|
-
var _x = elem.x;
|
|
4391
|
-
if (desc.textAlign === 'center') {
|
|
4392
|
-
_x = elem.x + (elem.w - line.width) / 2;
|
|
4393
|
-
}
|
|
4394
|
-
else if (desc.textAlign === 'right') {
|
|
4395
|
-
_x = elem.x + (elem.w - line.width);
|
|
4396
|
-
}
|
|
4397
|
-
ctx.fillText(line.text, _x, _y_1 + fontHeight * i);
|
|
4398
|
-
});
|
|
4399
|
-
clearContext(ctx);
|
|
4400
|
-
}
|
|
4401
|
-
if (index$1.color.isColorStr(desc.strokeColor) && desc.strokeWidth !== undefined && desc.strokeWidth > 0) {
|
|
4402
|
-
var _y_2 = elem.y;
|
|
4403
|
-
if (lines.length * fontHeight < elem.h) {
|
|
4404
|
-
_y_2 += ((elem.h - lines.length * fontHeight) / 2);
|
|
4405
|
-
}
|
|
4406
|
-
lines.forEach(function (line, i) {
|
|
4407
|
-
var _x = elem.x;
|
|
4408
|
-
if (desc.textAlign === 'center') {
|
|
4409
|
-
_x = elem.x + (elem.w - line.width) / 2;
|
|
4410
|
-
}
|
|
4411
|
-
else if (desc.textAlign === 'right') {
|
|
4412
|
-
_x = elem.x + (elem.w - line.width);
|
|
4413
|
-
}
|
|
4414
|
-
if (desc.strokeColor !== undefined) {
|
|
4415
|
-
ctx.setStrokeStyle(desc.strokeColor);
|
|
4416
|
-
}
|
|
4417
|
-
if (desc.strokeWidth !== undefined && desc.strokeWidth > 0) {
|
|
4418
|
-
ctx.setLineWidth(desc.strokeWidth);
|
|
4419
|
-
}
|
|
4420
|
-
ctx.strokeText(line.text, _x, _y_2 + fontHeight * i);
|
|
4421
|
-
});
|
|
4422
|
-
}
|
|
4423
|
-
});
|
|
4424
|
-
}
|
|
4425
|
-
|
|
4426
|
-
function drawCircle(ctx, elem) {
|
|
4427
|
-
clearContext(ctx);
|
|
4428
|
-
rotateElement(ctx, elem, function (ctx) {
|
|
4429
|
-
var x = elem.x, y = elem.y, w = elem.w, h = elem.h, desc = elem.desc;
|
|
4430
|
-
var _a = desc.bgColor, bgColor = _a === void 0 ? '#000000' : _a, _b = desc.borderColor, borderColor = _b === void 0 ? '#000000' : _b, _c = desc.borderWidth, borderWidth = _c === void 0 ? 0 : _c;
|
|
4431
|
-
var a = w / 2;
|
|
4432
|
-
var b = h / 2;
|
|
4433
|
-
var centerX = x + a;
|
|
4434
|
-
var centerY = y + b;
|
|
4435
|
-
if (borderWidth && borderWidth > 0) {
|
|
4436
|
-
var ba = borderWidth / 2 + a;
|
|
4437
|
-
var bb = borderWidth / 2 + b;
|
|
4438
|
-
ctx.beginPath();
|
|
4439
|
-
ctx.setStrokeStyle(borderColor);
|
|
4440
|
-
ctx.setLineWidth(borderWidth);
|
|
4441
|
-
ctx.ellipse(centerX, centerY, ba, bb, 0, 0, 2 * Math.PI);
|
|
4442
|
-
ctx.closePath();
|
|
4443
|
-
ctx.stroke();
|
|
4444
|
-
}
|
|
4445
|
-
ctx.beginPath();
|
|
4446
|
-
ctx.setFillStyle(bgColor);
|
|
4447
|
-
ctx.ellipse(centerX, centerY, a, b, 0, 0, 2 * Math.PI);
|
|
4448
|
-
ctx.closePath();
|
|
4449
|
-
ctx.fill();
|
|
4450
|
-
});
|
|
4451
|
-
}
|
|
4452
|
-
|
|
4453
|
-
function drawElementWrapper(ctx, config) {
|
|
4454
|
-
if (!(config === null || config === void 0 ? void 0 : config.selectedElementWrapper)) {
|
|
4455
|
-
return;
|
|
4456
|
-
}
|
|
4457
|
-
var wrapper = config.selectedElementWrapper;
|
|
4458
|
-
clearContext(ctx);
|
|
4459
|
-
rotateContext(ctx, wrapper.translate, wrapper.radian || 0, function () {
|
|
4460
|
-
ctx.beginPath();
|
|
4461
|
-
ctx.setLineDash(wrapper.lineDash);
|
|
4462
|
-
ctx.setLineWidth(wrapper.lineWidth);
|
|
4463
|
-
ctx.setStrokeStyle(wrapper.color);
|
|
4464
|
-
ctx.moveTo(wrapper.controllers.topLeft.x, wrapper.controllers.topLeft.y);
|
|
4465
|
-
ctx.lineTo(wrapper.controllers.topRight.x, wrapper.controllers.topRight.y);
|
|
4466
|
-
ctx.lineTo(wrapper.controllers.bottomRight.x, wrapper.controllers.bottomRight.y);
|
|
4467
|
-
ctx.lineTo(wrapper.controllers.bottomLeft.x, wrapper.controllers.bottomLeft.y);
|
|
4468
|
-
ctx.lineTo(wrapper.controllers.topLeft.x, wrapper.controllers.topLeft.y - wrapper.lineWidth / 2);
|
|
4469
|
-
ctx.stroke();
|
|
4470
|
-
ctx.closePath();
|
|
4471
|
-
if (wrapper.lock !== true) {
|
|
4472
|
-
if (wrapper.controllers.rotate.invisible !== true) {
|
|
4473
|
-
ctx.beginPath();
|
|
4474
|
-
ctx.moveTo(wrapper.controllers.top.x, wrapper.controllers.top.y);
|
|
4475
|
-
ctx.lineTo(wrapper.controllers.rotate.x, wrapper.controllers.rotate.y + wrapper.controllerSize);
|
|
4476
|
-
ctx.stroke();
|
|
4477
|
-
ctx.closePath();
|
|
4478
|
-
ctx.beginPath();
|
|
4479
|
-
ctx.setLineDash([]);
|
|
4480
|
-
ctx.setLineWidth(wrapper.controllerSize / 2);
|
|
4481
|
-
ctx.arc(wrapper.controllers.rotate.x, wrapper.controllers.rotate.y, wrapper.controllerSize * 0.8, Math.PI / 6, Math.PI * 2);
|
|
4482
|
-
ctx.stroke();
|
|
4483
|
-
ctx.closePath();
|
|
4484
|
-
}
|
|
4485
|
-
ctx.setFillStyle(wrapper.color);
|
|
4486
|
-
[
|
|
4487
|
-
wrapper.controllers.topLeft,
|
|
4488
|
-
wrapper.controllers.top,
|
|
4489
|
-
wrapper.controllers.topRight,
|
|
4490
|
-
wrapper.controllers.right,
|
|
4491
|
-
wrapper.controllers.bottomRight,
|
|
4492
|
-
wrapper.controllers.bottom,
|
|
4493
|
-
wrapper.controllers.bottomLeft,
|
|
4494
|
-
wrapper.controllers.left,
|
|
4495
|
-
].forEach(function (controller) {
|
|
4496
|
-
if (controller.invisible !== true) {
|
|
4497
|
-
ctx.beginPath();
|
|
4498
|
-
ctx.arc(controller.x, controller.y, wrapper.controllerSize, 0, Math.PI * 2);
|
|
4499
|
-
ctx.fill();
|
|
4500
|
-
ctx.closePath();
|
|
4501
|
-
}
|
|
4502
|
-
});
|
|
4503
|
-
}
|
|
4504
|
-
else {
|
|
4505
|
-
clearContext(ctx);
|
|
4506
|
-
ctx.setStrokeStyle(wrapper.color);
|
|
4507
|
-
[
|
|
4508
|
-
wrapper.controllers.topLeft, wrapper.controllers.top, wrapper.controllers.topRight, wrapper.controllers.right,
|
|
4509
|
-
wrapper.controllers.bottomRight, wrapper.controllers.bottom, wrapper.controllers.bottomLeft, wrapper.controllers.left,
|
|
4510
|
-
].forEach(function (controller) {
|
|
4511
|
-
ctx.beginPath();
|
|
4512
|
-
ctx.moveTo(controller.x - wrapper.controllerSize / 2, controller.y - wrapper.controllerSize / 2);
|
|
4513
|
-
ctx.lineTo(controller.x + wrapper.controllerSize / 2, controller.y + wrapper.controllerSize / 2);
|
|
4514
|
-
ctx.stroke();
|
|
4515
|
-
ctx.closePath();
|
|
4516
|
-
ctx.beginPath();
|
|
4517
|
-
ctx.moveTo(controller.x + wrapper.controllerSize / 2, controller.y - wrapper.controllerSize / 2);
|
|
4518
|
-
ctx.lineTo(controller.x - wrapper.controllerSize / 2, controller.y + wrapper.controllerSize / 2);
|
|
4519
|
-
ctx.stroke();
|
|
4520
|
-
ctx.closePath();
|
|
4521
|
-
});
|
|
4522
|
-
}
|
|
4523
|
-
});
|
|
4524
|
-
}
|
|
4525
|
-
function drawAreaWrapper(ctx, config) {
|
|
4526
|
-
if (!(config === null || config === void 0 ? void 0 : config.selectedAreaWrapper)) {
|
|
4527
|
-
return;
|
|
4528
|
-
}
|
|
4529
|
-
var wrapper = config.selectedAreaWrapper;
|
|
4530
|
-
if (wrapper && wrapper.w > 0 && wrapper.h > 0) {
|
|
4531
|
-
clearContext(ctx);
|
|
4532
|
-
ctx.setGlobalAlpha(0.3);
|
|
4533
|
-
ctx.setFillStyle(wrapper.color);
|
|
4534
|
-
ctx.fillRect(wrapper.x, wrapper.y, wrapper.w, wrapper.h);
|
|
4535
|
-
clearContext(ctx);
|
|
4536
|
-
ctx.beginPath();
|
|
4537
|
-
ctx.setLineDash(wrapper.lineDash);
|
|
4538
|
-
ctx.setLineWidth(wrapper.lineWidth);
|
|
4539
|
-
ctx.setStrokeStyle(wrapper.color);
|
|
4540
|
-
ctx.moveTo(wrapper.x, wrapper.y);
|
|
4541
|
-
ctx.lineTo(wrapper.x + wrapper.w, wrapper.y);
|
|
4542
|
-
ctx.lineTo(wrapper.x + wrapper.w, wrapper.y + wrapper.h);
|
|
4543
|
-
ctx.lineTo(wrapper.x, wrapper.y + wrapper.h);
|
|
4544
|
-
ctx.lineTo(wrapper.x, wrapper.y);
|
|
4545
|
-
ctx.stroke();
|
|
4546
|
-
ctx.closePath();
|
|
4547
|
-
}
|
|
4548
|
-
}
|
|
4549
|
-
function drawElementListWrappers(ctx, config) {
|
|
4550
|
-
if (!Array.isArray(config === null || config === void 0 ? void 0 : config.selectedElementListWrappers)) {
|
|
4551
|
-
return;
|
|
4552
|
-
}
|
|
4553
|
-
var wrapperList = config.selectedElementListWrappers;
|
|
4554
|
-
wrapperList === null || wrapperList === void 0 ? void 0 : wrapperList.forEach(function (wrapper) {
|
|
4555
|
-
clearContext(ctx);
|
|
4556
|
-
rotateContext(ctx, wrapper.translate, wrapper.radian || 0, function () {
|
|
4557
|
-
clearContext(ctx);
|
|
4558
|
-
ctx.setGlobalAlpha(0.05);
|
|
4559
|
-
ctx.setFillStyle(wrapper.color);
|
|
4560
|
-
ctx.fillRect(wrapper.controllers.topLeft.x, wrapper.controllers.topLeft.y, wrapper.controllers.bottomRight.x - wrapper.controllers.topLeft.x, wrapper.controllers.bottomRight.y - wrapper.controllers.topLeft.y);
|
|
4561
|
-
clearContext(ctx);
|
|
4562
|
-
ctx.beginPath();
|
|
4563
|
-
ctx.setLineDash(wrapper.lineDash);
|
|
4564
|
-
ctx.setLineWidth(wrapper.lineWidth);
|
|
4565
|
-
ctx.setStrokeStyle(wrapper.color);
|
|
4566
|
-
ctx.moveTo(wrapper.controllers.topLeft.x, wrapper.controllers.topLeft.y);
|
|
4567
|
-
ctx.lineTo(wrapper.controllers.topRight.x, wrapper.controllers.topRight.y);
|
|
4568
|
-
ctx.lineTo(wrapper.controllers.bottomRight.x, wrapper.controllers.bottomRight.y);
|
|
4569
|
-
ctx.lineTo(wrapper.controllers.bottomLeft.x, wrapper.controllers.bottomLeft.y);
|
|
4570
|
-
ctx.lineTo(wrapper.controllers.topLeft.x, wrapper.controllers.topLeft.y - wrapper.lineWidth / 2);
|
|
4571
|
-
ctx.stroke();
|
|
4572
|
-
ctx.closePath();
|
|
4573
|
-
if (wrapper.lock === true) {
|
|
4574
|
-
clearContext(ctx);
|
|
4575
|
-
ctx.setStrokeStyle(wrapper.color);
|
|
4576
|
-
[
|
|
4577
|
-
wrapper.controllers.topLeft, wrapper.controllers.top, wrapper.controllers.topRight, wrapper.controllers.right,
|
|
4578
|
-
wrapper.controllers.bottomRight, wrapper.controllers.bottom, wrapper.controllers.bottomLeft, wrapper.controllers.left,
|
|
4579
|
-
].forEach(function (controller) {
|
|
4580
|
-
ctx.beginPath();
|
|
4581
|
-
ctx.moveTo(controller.x - wrapper.controllerSize / 2, controller.y - wrapper.controllerSize / 2);
|
|
4582
|
-
ctx.lineTo(controller.x + wrapper.controllerSize / 2, controller.y + wrapper.controllerSize / 2);
|
|
4583
|
-
ctx.stroke();
|
|
4584
|
-
ctx.closePath();
|
|
4585
|
-
ctx.beginPath();
|
|
4586
|
-
ctx.moveTo(controller.x + wrapper.controllerSize / 2, controller.y - wrapper.controllerSize / 2);
|
|
4587
|
-
ctx.lineTo(controller.x - wrapper.controllerSize / 2, controller.y + wrapper.controllerSize / 2);
|
|
4588
|
-
ctx.stroke();
|
|
4589
|
-
ctx.closePath();
|
|
4590
|
-
});
|
|
4591
|
-
}
|
|
4592
|
-
});
|
|
4593
|
-
});
|
|
4594
|
-
}
|
|
4595
|
-
|
|
4596
|
-
var isColorStr = index$1.color.isColorStr;
|
|
4597
|
-
function drawContext(ctx, data, helperConfig, loader) {
|
|
4598
|
-
var _a;
|
|
4599
|
-
clearContext(ctx);
|
|
4600
|
-
var size = ctx.getSize();
|
|
4601
|
-
ctx.clearRect(0, 0, size.contextWidth, size.contextHeight);
|
|
4602
|
-
if (typeof data.bgColor === 'string' && isColorStr(data.bgColor)) {
|
|
4603
|
-
drawBgColor(ctx, data.bgColor);
|
|
4604
|
-
}
|
|
4605
|
-
if (!(data.elements.length > 0)) {
|
|
4606
|
-
return;
|
|
4607
|
-
}
|
|
4608
|
-
for (var i = 0; i < data.elements.length; i++) {
|
|
4609
|
-
var elem = data.elements[i];
|
|
4610
|
-
if (((_a = elem === null || elem === void 0 ? void 0 : elem.operation) === null || _a === void 0 ? void 0 : _a.invisible) === true) {
|
|
4611
|
-
continue;
|
|
4612
|
-
}
|
|
4613
|
-
switch (elem.type) {
|
|
4614
|
-
case 'rect': {
|
|
4615
|
-
drawRect(ctx, elem);
|
|
4616
|
-
break;
|
|
4617
|
-
}
|
|
4618
|
-
case 'text': {
|
|
4619
|
-
drawText(ctx, elem);
|
|
4620
|
-
break;
|
|
4621
|
-
}
|
|
4622
|
-
case 'image': {
|
|
4623
|
-
drawImage(ctx, elem, loader);
|
|
4624
|
-
break;
|
|
4625
|
-
}
|
|
4626
|
-
case 'svg': {
|
|
4627
|
-
drawSVG(ctx, elem, loader);
|
|
4628
|
-
break;
|
|
4629
|
-
}
|
|
4630
|
-
case 'html': {
|
|
4631
|
-
drawHTML(ctx, elem, loader);
|
|
4632
|
-
break;
|
|
4633
|
-
}
|
|
4634
|
-
case 'circle': {
|
|
4635
|
-
drawCircle(ctx, elem);
|
|
4636
|
-
break;
|
|
4637
|
-
}
|
|
4638
|
-
}
|
|
4639
|
-
}
|
|
4640
|
-
drawElementWrapper(ctx, helperConfig);
|
|
4641
|
-
drawAreaWrapper(ctx, helperConfig);
|
|
4642
|
-
drawElementListWrappers(ctx, helperConfig);
|
|
4643
|
-
}
|
|
4644
|
-
|
|
4645
|
-
var defaultConfig = {
|
|
4646
|
-
elementWrapper: {
|
|
4647
|
-
color: '#2ab6f1',
|
|
4648
|
-
lockColor: '#aaaaaa',
|
|
4649
|
-
controllerSize: 6,
|
|
4650
|
-
lineWidth: 1,
|
|
4651
|
-
lineDash: [4, 3],
|
|
4652
|
-
}
|
|
4653
|
-
};
|
|
4654
|
-
function mergeConfig(config) {
|
|
4655
|
-
var result = index$1.data.deepClone(defaultConfig);
|
|
4656
|
-
if (config) {
|
|
4657
|
-
if (config.elementWrapper) {
|
|
4658
|
-
result.elementWrapper = __assign$4(__assign$4({}, result.elementWrapper), config.elementWrapper);
|
|
4659
|
-
}
|
|
4660
|
-
}
|
|
4661
|
-
return result;
|
|
4662
|
-
}
|
|
4663
|
-
|
|
4664
|
-
var CoreEvent = (function () {
|
|
4665
|
-
function CoreEvent() {
|
|
4666
|
-
this._listeners = new Map();
|
|
4667
|
-
}
|
|
4668
|
-
CoreEvent.prototype.on = function (eventKey, callback) {
|
|
4669
|
-
if (this._listeners.has(eventKey)) {
|
|
4670
|
-
var callbacks = this._listeners.get(eventKey);
|
|
4671
|
-
callbacks === null || callbacks === void 0 ? void 0 : callbacks.push(callback);
|
|
4672
|
-
this._listeners.set(eventKey, callbacks || []);
|
|
4673
|
-
}
|
|
4674
|
-
else {
|
|
4675
|
-
this._listeners.set(eventKey, [callback]);
|
|
4676
|
-
}
|
|
4677
|
-
};
|
|
4678
|
-
CoreEvent.prototype.off = function (eventKey, callback) {
|
|
4679
|
-
if (this._listeners.has(eventKey)) {
|
|
4680
|
-
var callbacks = this._listeners.get(eventKey);
|
|
4681
|
-
if (Array.isArray(callbacks)) {
|
|
4682
|
-
for (var i = 0; i < (callbacks === null || callbacks === void 0 ? void 0 : callbacks.length); i++) {
|
|
4683
|
-
if (callbacks[i] === callback) {
|
|
4684
|
-
callbacks.splice(i, 1);
|
|
4685
|
-
break;
|
|
4686
|
-
}
|
|
4687
|
-
}
|
|
4688
|
-
}
|
|
4689
|
-
this._listeners.set(eventKey, callbacks || []);
|
|
4690
|
-
}
|
|
4691
|
-
};
|
|
4692
|
-
CoreEvent.prototype.trigger = function (eventKey, arg) {
|
|
4693
|
-
var callbacks = this._listeners.get(eventKey);
|
|
4694
|
-
if (Array.isArray(callbacks)) {
|
|
4695
|
-
callbacks.forEach(function (cb) {
|
|
4696
|
-
cb(arg);
|
|
4697
|
-
});
|
|
4698
|
-
return true;
|
|
4699
|
-
}
|
|
4700
|
-
else {
|
|
4701
|
-
return false;
|
|
4702
|
-
}
|
|
4703
|
-
};
|
|
4704
|
-
CoreEvent.prototype.has = function (name) {
|
|
4705
|
-
if (this._listeners.has(name)) {
|
|
4706
|
-
var list = this._listeners.get(name);
|
|
4707
|
-
if (Array.isArray(list) && list.length > 0) {
|
|
4708
|
-
return true;
|
|
4709
|
-
}
|
|
4710
|
-
}
|
|
4711
|
-
return false;
|
|
4712
|
-
};
|
|
4713
|
-
return CoreEvent;
|
|
4714
|
-
}());
|
|
4715
|
-
|
|
4716
|
-
function isChangeImageElementResource(before, after) {
|
|
4717
|
-
var _a, _b;
|
|
4718
|
-
return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.src) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.src));
|
|
4719
|
-
}
|
|
4720
|
-
function isChangeSVGElementResource(before, after) {
|
|
4721
|
-
var _a, _b;
|
|
4722
|
-
return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.svg) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.svg));
|
|
4723
|
-
}
|
|
4724
|
-
function isChangeHTMLElementResource(before, after) {
|
|
4725
|
-
var _a, _b, _c, _d, _e, _f;
|
|
4726
|
-
return (((_a = before === null || before === void 0 ? void 0 : before.desc) === null || _a === void 0 ? void 0 : _a.html) !== ((_b = after === null || after === void 0 ? void 0 : after.desc) === null || _b === void 0 ? void 0 : _b.html)
|
|
4727
|
-
|| ((_c = before === null || before === void 0 ? void 0 : before.desc) === null || _c === void 0 ? void 0 : _c.width) !== ((_d = after === null || after === void 0 ? void 0 : after.desc) === null || _d === void 0 ? void 0 : _d.width)
|
|
4728
|
-
|| ((_e = before === null || before === void 0 ? void 0 : before.desc) === null || _e === void 0 ? void 0 : _e.height) !== ((_f = after === null || after === void 0 ? void 0 : after.desc) === null || _f === void 0 ? void 0 : _f.height));
|
|
4729
|
-
}
|
|
4730
|
-
function diffElementResourceChange(before, after) {
|
|
4731
|
-
var result = null;
|
|
4732
|
-
var isChange = false;
|
|
4733
|
-
switch (after.type) {
|
|
4734
|
-
case 'image': {
|
|
4735
|
-
isChange = isChangeImageElementResource(before, after);
|
|
4736
|
-
break;
|
|
4737
|
-
}
|
|
4738
|
-
case 'svg': {
|
|
4739
|
-
isChange = isChangeSVGElementResource(before, after);
|
|
4740
|
-
break;
|
|
4741
|
-
}
|
|
4742
|
-
case 'html': {
|
|
4743
|
-
isChange = isChangeHTMLElementResource(before, after);
|
|
4744
|
-
break;
|
|
4745
|
-
}
|
|
4746
|
-
}
|
|
4747
|
-
if (isChange === true) {
|
|
4748
|
-
result = after.uuid;
|
|
4749
|
-
}
|
|
4750
|
-
return result;
|
|
4751
|
-
}
|
|
4752
|
-
function diffElementResourceChangeList(before, after) {
|
|
4753
|
-
var _a;
|
|
4754
|
-
var uuids = [];
|
|
4755
|
-
var beforeMap = parseDataElementMap(before);
|
|
4756
|
-
var afterMap = parseDataElementMap(after);
|
|
4757
|
-
for (var uuid in afterMap) {
|
|
4758
|
-
if (['image', 'svg', 'html'].includes((_a = afterMap[uuid]) === null || _a === void 0 ? void 0 : _a.type) !== true) {
|
|
4759
|
-
continue;
|
|
4760
|
-
}
|
|
4761
|
-
if (beforeMap[uuid]) {
|
|
4762
|
-
var isChange = false;
|
|
4763
|
-
switch (beforeMap[uuid].type) {
|
|
4764
|
-
case 'image': {
|
|
4765
|
-
isChange = isChangeImageElementResource(beforeMap[uuid], afterMap[uuid]);
|
|
4766
|
-
break;
|
|
4767
|
-
}
|
|
4768
|
-
case 'svg': {
|
|
4769
|
-
isChange = isChangeSVGElementResource(beforeMap[uuid], afterMap[uuid]);
|
|
4770
|
-
break;
|
|
4771
|
-
}
|
|
4772
|
-
case 'html': {
|
|
4773
|
-
isChange = isChangeHTMLElementResource(beforeMap[uuid], afterMap[uuid]);
|
|
4774
|
-
break;
|
|
4775
|
-
}
|
|
4776
|
-
}
|
|
4777
|
-
if (isChange === true) {
|
|
4778
|
-
uuids.push(uuid);
|
|
4779
|
-
}
|
|
4780
|
-
}
|
|
4781
|
-
else {
|
|
4782
|
-
uuids.push(uuid);
|
|
4783
|
-
}
|
|
4784
|
-
}
|
|
4785
|
-
return uuids;
|
|
4786
|
-
}
|
|
4787
|
-
function parseDataElementMap(data) {
|
|
4788
|
-
var elemMap = {};
|
|
4789
|
-
data.elements.forEach(function (elem) {
|
|
4790
|
-
elemMap[elem.uuid] = elem;
|
|
4791
|
-
});
|
|
4792
|
-
return elemMap;
|
|
4793
|
-
}
|
|
4794
|
-
|
|
4795
|
-
function limitNum(num) {
|
|
4796
|
-
var numStr = num.toFixed(2);
|
|
4797
|
-
return parseFloat(numStr);
|
|
4268
|
+
function limitNum(num) {
|
|
4269
|
+
var numStr = num.toFixed(2);
|
|
4270
|
+
return parseFloat(numStr);
|
|
4798
4271
|
}
|
|
4799
4272
|
function limitAngle(angle) {
|
|
4800
4273
|
return limitNum(angle % 360);
|
|
@@ -5189,7 +4662,7 @@ function changeMoveDistDirect(moveDist, moveDirect) {
|
|
|
5189
4662
|
}
|
|
5190
4663
|
|
|
5191
4664
|
var limitQbliqueAngle = LIMIT_QBLIQUE_ANGLE;
|
|
5192
|
-
var deepClone$
|
|
4665
|
+
var deepClone$3 = index$1.data.deepClone;
|
|
5193
4666
|
var Helper = (function () {
|
|
5194
4667
|
function Helper(board, config) {
|
|
5195
4668
|
this._areaStart = { x: 0, y: 0 };
|
|
@@ -5207,7 +4680,7 @@ var Helper = (function () {
|
|
|
5207
4680
|
this._updateSelectedElementListWrapper(data, opts);
|
|
5208
4681
|
};
|
|
5209
4682
|
Helper.prototype.getConfig = function () {
|
|
5210
|
-
return deepClone$
|
|
4683
|
+
return deepClone$3(this._helperConfig);
|
|
5211
4684
|
};
|
|
5212
4685
|
Helper.prototype.getElementIndexByUUID = function (uuid) {
|
|
5213
4686
|
var index = this._helperConfig.elementIndexMap[uuid];
|
|
@@ -5540,299 +5013,8 @@ var Helper = (function () {
|
|
|
5540
5013
|
return Helper;
|
|
5541
5014
|
}());
|
|
5542
5015
|
|
|
5543
|
-
var LoaderEvent = (function () {
|
|
5544
|
-
function LoaderEvent() {
|
|
5545
|
-
this._listeners = new Map();
|
|
5546
|
-
}
|
|
5547
|
-
LoaderEvent.prototype.on = function (eventKey, callback) {
|
|
5548
|
-
if (this._listeners.has(eventKey)) {
|
|
5549
|
-
var callbacks = this._listeners.get(eventKey);
|
|
5550
|
-
callbacks === null || callbacks === void 0 ? void 0 : callbacks.push(callback);
|
|
5551
|
-
this._listeners.set(eventKey, callbacks || []);
|
|
5552
|
-
}
|
|
5553
|
-
else {
|
|
5554
|
-
this._listeners.set(eventKey, [callback]);
|
|
5555
|
-
}
|
|
5556
|
-
};
|
|
5557
|
-
LoaderEvent.prototype.off = function (eventKey, callback) {
|
|
5558
|
-
if (this._listeners.has(eventKey)) {
|
|
5559
|
-
var callbacks = this._listeners.get(eventKey);
|
|
5560
|
-
if (Array.isArray(callbacks)) {
|
|
5561
|
-
for (var i = 0; i < (callbacks === null || callbacks === void 0 ? void 0 : callbacks.length); i++) {
|
|
5562
|
-
if (callbacks[i] === callback) {
|
|
5563
|
-
callbacks.splice(i, 1);
|
|
5564
|
-
break;
|
|
5565
|
-
}
|
|
5566
|
-
}
|
|
5567
|
-
}
|
|
5568
|
-
this._listeners.set(eventKey, callbacks || []);
|
|
5569
|
-
}
|
|
5570
|
-
};
|
|
5571
|
-
LoaderEvent.prototype.trigger = function (eventKey, arg) {
|
|
5572
|
-
var callbacks = this._listeners.get(eventKey);
|
|
5573
|
-
if (Array.isArray(callbacks)) {
|
|
5574
|
-
callbacks.forEach(function (cb) {
|
|
5575
|
-
cb(arg);
|
|
5576
|
-
});
|
|
5577
|
-
return true;
|
|
5578
|
-
}
|
|
5579
|
-
else {
|
|
5580
|
-
return false;
|
|
5581
|
-
}
|
|
5582
|
-
};
|
|
5583
|
-
LoaderEvent.prototype.has = function (name) {
|
|
5584
|
-
if (this._listeners.has(name)) {
|
|
5585
|
-
var list = this._listeners.get(name);
|
|
5586
|
-
if (Array.isArray(list) && list.length > 0) {
|
|
5587
|
-
return true;
|
|
5588
|
-
}
|
|
5589
|
-
}
|
|
5590
|
-
return false;
|
|
5591
|
-
};
|
|
5592
|
-
return LoaderEvent;
|
|
5593
|
-
}());
|
|
5594
|
-
|
|
5595
|
-
function filterScript(html) {
|
|
5596
|
-
return html.replace(/<script[\s\S]*?<\/script>/ig, '');
|
|
5597
|
-
}
|
|
5598
|
-
|
|
5599
|
-
var _a = index$1.loader, loadImage = _a.loadImage, loadSVG = _a.loadSVG, loadHTML = _a.loadHTML;
|
|
5600
|
-
var LoaderStatus;
|
|
5601
|
-
(function (LoaderStatus) {
|
|
5602
|
-
LoaderStatus["FREE"] = "free";
|
|
5603
|
-
LoaderStatus["LOADING"] = "loading";
|
|
5604
|
-
LoaderStatus["COMPLETE"] = "complete";
|
|
5605
|
-
})(LoaderStatus || (LoaderStatus = {}));
|
|
5606
|
-
var Loader = (function () {
|
|
5607
|
-
function Loader(opts) {
|
|
5608
|
-
this._currentLoadData = {};
|
|
5609
|
-
this._currentUUIDQueue = [];
|
|
5610
|
-
this._storageLoadData = {};
|
|
5611
|
-
this._status = LoaderStatus.FREE;
|
|
5612
|
-
this._waitingLoadQueue = [];
|
|
5613
|
-
this._opts = opts;
|
|
5614
|
-
this._event = new LoaderEvent();
|
|
5615
|
-
this._waitingLoadQueue = [];
|
|
5616
|
-
}
|
|
5617
|
-
Loader.prototype.load = function (data, changeResourceUUIDs) {
|
|
5618
|
-
var _a = this._resetLoadData(data, changeResourceUUIDs), uuidQueue = _a[0], loadData = _a[1];
|
|
5619
|
-
if (this._status === LoaderStatus.FREE || this._status === LoaderStatus.COMPLETE) {
|
|
5620
|
-
this._currentUUIDQueue = uuidQueue;
|
|
5621
|
-
this._currentLoadData = loadData;
|
|
5622
|
-
this._loadTask();
|
|
5623
|
-
}
|
|
5624
|
-
else if (this._status === LoaderStatus.LOADING && uuidQueue.length > 0) {
|
|
5625
|
-
this._waitingLoadQueue.push({
|
|
5626
|
-
uuidQueue: uuidQueue,
|
|
5627
|
-
loadData: loadData,
|
|
5628
|
-
});
|
|
5629
|
-
}
|
|
5630
|
-
};
|
|
5631
|
-
Loader.prototype.on = function (name, callback) {
|
|
5632
|
-
this._event.on(name, callback);
|
|
5633
|
-
};
|
|
5634
|
-
Loader.prototype.off = function (name, callback) {
|
|
5635
|
-
this._event.off(name, callback);
|
|
5636
|
-
};
|
|
5637
|
-
Loader.prototype.isComplete = function () {
|
|
5638
|
-
return this._status === LoaderStatus.COMPLETE;
|
|
5639
|
-
};
|
|
5640
|
-
Loader.prototype.getContent = function (uuid) {
|
|
5641
|
-
var _a;
|
|
5642
|
-
if (((_a = this._storageLoadData[uuid]) === null || _a === void 0 ? void 0 : _a.status) === 'loaded') {
|
|
5643
|
-
return this._storageLoadData[uuid].content;
|
|
5644
|
-
}
|
|
5645
|
-
return null;
|
|
5646
|
-
};
|
|
5647
|
-
Loader.prototype._resetLoadData = function (data, changeResourceUUIDs) {
|
|
5648
|
-
var loadData = {};
|
|
5649
|
-
var uuidQueue = [];
|
|
5650
|
-
var storageLoadData = this._storageLoadData;
|
|
5651
|
-
for (var i = data.elements.length - 1; i >= 0; i--) {
|
|
5652
|
-
var elem = data.elements[i];
|
|
5653
|
-
if (['image', 'svg', 'html',].includes(elem.type)) {
|
|
5654
|
-
if (!storageLoadData[elem.uuid]) {
|
|
5655
|
-
loadData[elem.uuid] = this._createEmptyLoadItem(elem);
|
|
5656
|
-
uuidQueue.push(elem.uuid);
|
|
5657
|
-
}
|
|
5658
|
-
else {
|
|
5659
|
-
if (changeResourceUUIDs.includes(elem.uuid)) {
|
|
5660
|
-
loadData[elem.uuid] = this._createEmptyLoadItem(elem);
|
|
5661
|
-
uuidQueue.push(elem.uuid);
|
|
5662
|
-
}
|
|
5663
|
-
}
|
|
5664
|
-
}
|
|
5665
|
-
}
|
|
5666
|
-
return [uuidQueue, loadData];
|
|
5667
|
-
};
|
|
5668
|
-
Loader.prototype._createEmptyLoadItem = function (elem) {
|
|
5669
|
-
var source = '';
|
|
5670
|
-
var type = elem.type;
|
|
5671
|
-
var elemW = elem.w;
|
|
5672
|
-
var elemH = elem.h;
|
|
5673
|
-
if (elem.type === 'image') {
|
|
5674
|
-
var _elem = elem;
|
|
5675
|
-
source = _elem.desc.src || '';
|
|
5676
|
-
}
|
|
5677
|
-
else if (elem.type === 'svg') {
|
|
5678
|
-
var _elem = elem;
|
|
5679
|
-
source = _elem.desc.svg || '';
|
|
5680
|
-
}
|
|
5681
|
-
else if (elem.type === 'html') {
|
|
5682
|
-
var _elem = elem;
|
|
5683
|
-
source = filterScript(_elem.desc.html || '');
|
|
5684
|
-
elemW = _elem.desc.width || elem.w;
|
|
5685
|
-
elemH = _elem.desc.height || elem.h;
|
|
5686
|
-
}
|
|
5687
|
-
return {
|
|
5688
|
-
type: type,
|
|
5689
|
-
status: 'null',
|
|
5690
|
-
content: null,
|
|
5691
|
-
source: source,
|
|
5692
|
-
elemW: elemW,
|
|
5693
|
-
elemH: elemH,
|
|
5694
|
-
};
|
|
5695
|
-
};
|
|
5696
|
-
Loader.prototype._loadTask = function () {
|
|
5697
|
-
var _this = this;
|
|
5698
|
-
if (this._status === LoaderStatus.LOADING) {
|
|
5699
|
-
return;
|
|
5700
|
-
}
|
|
5701
|
-
this._status = LoaderStatus.LOADING;
|
|
5702
|
-
if (this._currentUUIDQueue.length === 0) {
|
|
5703
|
-
if (this._waitingLoadQueue.length === 0) {
|
|
5704
|
-
this._status = LoaderStatus.COMPLETE;
|
|
5705
|
-
this._event.trigger('complete', undefined);
|
|
5706
|
-
return;
|
|
5707
|
-
}
|
|
5708
|
-
else {
|
|
5709
|
-
var waitingItem = this._waitingLoadQueue.shift();
|
|
5710
|
-
if (waitingItem) {
|
|
5711
|
-
var uuidQueue = waitingItem.uuidQueue, loadData = waitingItem.loadData;
|
|
5712
|
-
this._currentLoadData = loadData;
|
|
5713
|
-
this._currentUUIDQueue = uuidQueue;
|
|
5714
|
-
}
|
|
5715
|
-
}
|
|
5716
|
-
}
|
|
5717
|
-
var maxParallelNum = this._opts.maxParallelNum;
|
|
5718
|
-
var uuids = this._currentUUIDQueue.splice(0, maxParallelNum);
|
|
5719
|
-
var uuidMap = {};
|
|
5720
|
-
uuids.forEach(function (url, i) {
|
|
5721
|
-
uuidMap[url] = i;
|
|
5722
|
-
});
|
|
5723
|
-
var loadUUIDList = [];
|
|
5724
|
-
var _loadAction = function () {
|
|
5725
|
-
if (loadUUIDList.length >= maxParallelNum) {
|
|
5726
|
-
return false;
|
|
5727
|
-
}
|
|
5728
|
-
if (uuids.length === 0) {
|
|
5729
|
-
return true;
|
|
5730
|
-
}
|
|
5731
|
-
var _loop_1 = function (i) {
|
|
5732
|
-
var uuid = uuids.shift();
|
|
5733
|
-
if (uuid === undefined) {
|
|
5734
|
-
return "break";
|
|
5735
|
-
}
|
|
5736
|
-
loadUUIDList.push(uuid);
|
|
5737
|
-
_this._loadElementSource(_this._currentLoadData[uuid]).then(function (image) {
|
|
5738
|
-
loadUUIDList.splice(loadUUIDList.indexOf(uuid), 1);
|
|
5739
|
-
var status = _loadAction();
|
|
5740
|
-
_this._storageLoadData[uuid] = {
|
|
5741
|
-
type: _this._currentLoadData[uuid].type,
|
|
5742
|
-
status: 'loaded',
|
|
5743
|
-
content: image,
|
|
5744
|
-
source: _this._currentLoadData[uuid].source,
|
|
5745
|
-
elemW: _this._currentLoadData[uuid].elemW,
|
|
5746
|
-
elemH: _this._currentLoadData[uuid].elemH,
|
|
5747
|
-
};
|
|
5748
|
-
if (loadUUIDList.length === 0 && uuids.length === 0 && status === true) {
|
|
5749
|
-
_this._status = LoaderStatus.FREE;
|
|
5750
|
-
_this._loadTask();
|
|
5751
|
-
}
|
|
5752
|
-
_this._event.trigger('load', {
|
|
5753
|
-
type: _this._storageLoadData[uuid].type,
|
|
5754
|
-
status: _this._storageLoadData[uuid].status,
|
|
5755
|
-
content: _this._storageLoadData[uuid].content,
|
|
5756
|
-
source: _this._storageLoadData[uuid].source,
|
|
5757
|
-
elemW: _this._storageLoadData[uuid].elemW,
|
|
5758
|
-
elemH: _this._storageLoadData[uuid].elemH,
|
|
5759
|
-
});
|
|
5760
|
-
}).catch(function (err) {
|
|
5761
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
5762
|
-
console.warn(err);
|
|
5763
|
-
loadUUIDList.splice(loadUUIDList.indexOf(uuid), 1);
|
|
5764
|
-
var status = _loadAction();
|
|
5765
|
-
if (_this._currentLoadData[uuid]) {
|
|
5766
|
-
_this._storageLoadData[uuid] = {
|
|
5767
|
-
type: (_a = _this._currentLoadData[uuid]) === null || _a === void 0 ? void 0 : _a.type,
|
|
5768
|
-
status: 'fail',
|
|
5769
|
-
content: null,
|
|
5770
|
-
error: err,
|
|
5771
|
-
source: (_b = _this._currentLoadData[uuid]) === null || _b === void 0 ? void 0 : _b.source,
|
|
5772
|
-
elemW: (_c = _this._currentLoadData[uuid]) === null || _c === void 0 ? void 0 : _c.elemW,
|
|
5773
|
-
elemH: (_d = _this._currentLoadData[uuid]) === null || _d === void 0 ? void 0 : _d.elemH,
|
|
5774
|
-
};
|
|
5775
|
-
}
|
|
5776
|
-
if (loadUUIDList.length === 0 && uuids.length === 0 && status === true) {
|
|
5777
|
-
_this._status = LoaderStatus.FREE;
|
|
5778
|
-
_this._loadTask();
|
|
5779
|
-
}
|
|
5780
|
-
if (_this._currentLoadData[uuid]) {
|
|
5781
|
-
_this._event.trigger('error', {
|
|
5782
|
-
type: (_e = _this._storageLoadData[uuid]) === null || _e === void 0 ? void 0 : _e.type,
|
|
5783
|
-
status: (_f = _this._storageLoadData[uuid]) === null || _f === void 0 ? void 0 : _f.status,
|
|
5784
|
-
content: (_g = _this._storageLoadData[uuid]) === null || _g === void 0 ? void 0 : _g.content,
|
|
5785
|
-
source: (_h = _this._storageLoadData[uuid]) === null || _h === void 0 ? void 0 : _h.source,
|
|
5786
|
-
elemW: (_j = _this._storageLoadData[uuid]) === null || _j === void 0 ? void 0 : _j.elemW,
|
|
5787
|
-
elemH: (_k = _this._storageLoadData[uuid]) === null || _k === void 0 ? void 0 : _k.elemH,
|
|
5788
|
-
});
|
|
5789
|
-
}
|
|
5790
|
-
});
|
|
5791
|
-
};
|
|
5792
|
-
for (var i = loadUUIDList.length; i < maxParallelNum; i++) {
|
|
5793
|
-
var state_1 = _loop_1();
|
|
5794
|
-
if (state_1 === "break")
|
|
5795
|
-
break;
|
|
5796
|
-
}
|
|
5797
|
-
return false;
|
|
5798
|
-
};
|
|
5799
|
-
_loadAction();
|
|
5800
|
-
};
|
|
5801
|
-
Loader.prototype._loadElementSource = function (params) {
|
|
5802
|
-
return __awaiter$4(this, void 0, void 0, function () {
|
|
5803
|
-
var image, image, image;
|
|
5804
|
-
return __generator$4(this, function (_a) {
|
|
5805
|
-
switch (_a.label) {
|
|
5806
|
-
case 0:
|
|
5807
|
-
if (!(params && params.type === 'image')) return [3, 2];
|
|
5808
|
-
return [4, loadImage(params.source)];
|
|
5809
|
-
case 1:
|
|
5810
|
-
image = _a.sent();
|
|
5811
|
-
return [2, image];
|
|
5812
|
-
case 2:
|
|
5813
|
-
if (!(params && params.type === 'svg')) return [3, 4];
|
|
5814
|
-
return [4, loadSVG(params.source)];
|
|
5815
|
-
case 3:
|
|
5816
|
-
image = _a.sent();
|
|
5817
|
-
return [2, image];
|
|
5818
|
-
case 4:
|
|
5819
|
-
if (!(params && params.type === 'html')) return [3, 6];
|
|
5820
|
-
return [4, loadHTML(params.source, {
|
|
5821
|
-
width: params.elemW, height: params.elemH
|
|
5822
|
-
})];
|
|
5823
|
-
case 5:
|
|
5824
|
-
image = _a.sent();
|
|
5825
|
-
return [2, image];
|
|
5826
|
-
case 6: throw Error('Element\'s source is not support!');
|
|
5827
|
-
}
|
|
5828
|
-
});
|
|
5829
|
-
});
|
|
5830
|
-
};
|
|
5831
|
-
return Loader;
|
|
5832
|
-
}());
|
|
5833
|
-
|
|
5834
5016
|
var _board$1 = Symbol('_displayCtx');
|
|
5835
|
-
var _helper
|
|
5017
|
+
var _helper = Symbol('_helper');
|
|
5836
5018
|
var _element$1 = Symbol('_element');
|
|
5837
5019
|
var _opts$1 = Symbol('_opts');
|
|
5838
5020
|
var Mapper = (function () {
|
|
@@ -5840,7 +5022,7 @@ var Mapper = (function () {
|
|
|
5840
5022
|
this[_opts$1] = opts;
|
|
5841
5023
|
this[_board$1] = this[_opts$1].board;
|
|
5842
5024
|
this[_element$1] = this[_opts$1].element;
|
|
5843
|
-
this[_helper
|
|
5025
|
+
this[_helper] = this[_opts$1].helper;
|
|
5844
5026
|
}
|
|
5845
5027
|
Mapper.prototype.isEffectivePoint = function (p) {
|
|
5846
5028
|
var scrollLineWidth = this[_board$1].getScrollLineWidth();
|
|
@@ -5856,7 +5038,7 @@ var Mapper = (function () {
|
|
|
5856
5038
|
if (!this.isEffectivePoint(p)) {
|
|
5857
5039
|
return { cursor: cursor, elementUUID: elementUUID };
|
|
5858
5040
|
}
|
|
5859
|
-
var _a = this[_helper
|
|
5041
|
+
var _a = this[_helper].isPointInElementWrapperController(p, data), uuid = _a.uuid, hoverControllerDirection = _a.hoverControllerDirection;
|
|
5860
5042
|
var direction = hoverControllerDirection;
|
|
5861
5043
|
if (uuid && direction) {
|
|
5862
5044
|
switch (direction) {
|
|
@@ -5943,198 +5125,19 @@ function isElement(elem) {
|
|
|
5943
5125
|
return false;
|
|
5944
5126
|
}
|
|
5945
5127
|
return true;
|
|
5946
|
-
}
|
|
5947
|
-
function isNumber(num) {
|
|
5948
|
-
return (num >= 0 || num < 0);
|
|
5949
|
-
}
|
|
5950
|
-
|
|
5951
|
-
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
}
|
|
5955
|
-
RendererEvent.prototype.on = function (eventKey, callback) {
|
|
5956
|
-
if (this._listeners.has(eventKey)) {
|
|
5957
|
-
var callbacks = this._listeners.get(eventKey);
|
|
5958
|
-
callbacks === null || callbacks === void 0 ? void 0 : callbacks.push(callback);
|
|
5959
|
-
this._listeners.set(eventKey, callbacks || []);
|
|
5960
|
-
}
|
|
5961
|
-
else {
|
|
5962
|
-
this._listeners.set(eventKey, [callback]);
|
|
5963
|
-
}
|
|
5964
|
-
};
|
|
5965
|
-
RendererEvent.prototype.off = function (eventKey, callback) {
|
|
5966
|
-
if (this._listeners.has(eventKey)) {
|
|
5967
|
-
var callbacks = this._listeners.get(eventKey);
|
|
5968
|
-
if (Array.isArray(callbacks)) {
|
|
5969
|
-
for (var i = 0; i < (callbacks === null || callbacks === void 0 ? void 0 : callbacks.length); i++) {
|
|
5970
|
-
if (callbacks[i] === callback) {
|
|
5971
|
-
callbacks.splice(i, 1);
|
|
5972
|
-
break;
|
|
5973
|
-
}
|
|
5974
|
-
}
|
|
5975
|
-
}
|
|
5976
|
-
this._listeners.set(eventKey, callbacks || []);
|
|
5977
|
-
}
|
|
5978
|
-
};
|
|
5979
|
-
RendererEvent.prototype.trigger = function (eventKey, arg) {
|
|
5980
|
-
var callbacks = this._listeners.get(eventKey);
|
|
5981
|
-
if (Array.isArray(callbacks)) {
|
|
5982
|
-
callbacks.forEach(function (cb) {
|
|
5983
|
-
cb(arg);
|
|
5984
|
-
});
|
|
5985
|
-
return true;
|
|
5986
|
-
}
|
|
5987
|
-
else {
|
|
5988
|
-
return false;
|
|
5989
|
-
}
|
|
5990
|
-
};
|
|
5991
|
-
RendererEvent.prototype.has = function (name) {
|
|
5992
|
-
if (this._listeners.has(name)) {
|
|
5993
|
-
var list = this._listeners.get(name);
|
|
5994
|
-
if (Array.isArray(list) && list.length > 0) {
|
|
5995
|
-
return true;
|
|
5996
|
-
}
|
|
5997
|
-
}
|
|
5998
|
-
return false;
|
|
5999
|
-
};
|
|
6000
|
-
return RendererEvent;
|
|
6001
|
-
}());
|
|
6002
|
-
|
|
6003
|
-
var requestAnimationFrame = window.requestAnimationFrame;
|
|
6004
|
-
var deepClone$3 = index$1.data.deepClone;
|
|
6005
|
-
var DrawStatus;
|
|
6006
|
-
(function (DrawStatus) {
|
|
6007
|
-
DrawStatus["NULL"] = "null";
|
|
6008
|
-
DrawStatus["FREE"] = "free";
|
|
6009
|
-
DrawStatus["DRAWING"] = "drawing";
|
|
6010
|
-
DrawStatus["FREEZE"] = "freeze";
|
|
6011
|
-
})(DrawStatus || (DrawStatus = {}));
|
|
6012
|
-
((function (_super) {
|
|
6013
|
-
__extends$1(Renderer, _super);
|
|
6014
|
-
function Renderer(board) {
|
|
6015
|
-
var _this = _super.call(this) || this;
|
|
6016
|
-
_this._queue = [];
|
|
6017
|
-
_this._status = DrawStatus.NULL;
|
|
6018
|
-
_this._board = board;
|
|
6019
|
-
_this._loader = new Loader({
|
|
6020
|
-
board: board,
|
|
6021
|
-
maxParallelNum: 6
|
|
6022
|
-
});
|
|
6023
|
-
_this._loader.on('load', function (res) {
|
|
6024
|
-
_this._drawFrame();
|
|
6025
|
-
});
|
|
6026
|
-
_this._loader.on('error', function (res) {
|
|
6027
|
-
console.log('Loader Error: ', res);
|
|
6028
|
-
});
|
|
6029
|
-
_this._loader.on('complete', function (res) {
|
|
6030
|
-
});
|
|
6031
|
-
return _this;
|
|
6032
|
-
}
|
|
6033
|
-
Renderer.prototype.freeze = function () {
|
|
6034
|
-
this._status = DrawStatus.FREEZE;
|
|
6035
|
-
};
|
|
6036
|
-
Renderer.prototype.thaw = function () {
|
|
6037
|
-
this._status = DrawStatus.FREE;
|
|
6038
|
-
};
|
|
6039
|
-
Renderer.prototype.render = function (data, helper, changeResourceUUIDs) {
|
|
6040
|
-
if ([DrawStatus.FREEZE].includes(this._status)) {
|
|
6041
|
-
return;
|
|
6042
|
-
}
|
|
6043
|
-
var _data = deepClone$3({ data: data, helper: helper });
|
|
6044
|
-
this._queue.push(_data);
|
|
6045
|
-
if (this._status !== DrawStatus.DRAWING) {
|
|
6046
|
-
this._status = DrawStatus.DRAWING;
|
|
6047
|
-
this._drawFrame();
|
|
6048
|
-
}
|
|
6049
|
-
this._loader.load(data, changeResourceUUIDs);
|
|
6050
|
-
};
|
|
6051
|
-
Renderer.prototype._drawFrame = function () {
|
|
6052
|
-
var _this = this;
|
|
6053
|
-
if (this._status === DrawStatus.FREEZE) {
|
|
6054
|
-
return;
|
|
6055
|
-
}
|
|
6056
|
-
requestAnimationFrame(function () {
|
|
6057
|
-
if (_this._status === DrawStatus.FREEZE) {
|
|
6058
|
-
return;
|
|
6059
|
-
}
|
|
6060
|
-
var ctx = _this._board.getContext();
|
|
6061
|
-
var item = _this._queue[0];
|
|
6062
|
-
var isLastFrame = false;
|
|
6063
|
-
if (_this._queue.length > 1) {
|
|
6064
|
-
item = _this._queue.shift();
|
|
6065
|
-
}
|
|
6066
|
-
else {
|
|
6067
|
-
isLastFrame = true;
|
|
6068
|
-
}
|
|
6069
|
-
if (_this._loader.isComplete() !== true) {
|
|
6070
|
-
_this._drawFrame();
|
|
6071
|
-
if (item) {
|
|
6072
|
-
drawContext(ctx, item.data, item.helper, _this._loader);
|
|
6073
|
-
_this._board.draw();
|
|
6074
|
-
}
|
|
6075
|
-
}
|
|
6076
|
-
else if (item) {
|
|
6077
|
-
drawContext(ctx, item.data, item.helper, _this._loader);
|
|
6078
|
-
_this._board.draw();
|
|
6079
|
-
_this._retainQueueOneItem();
|
|
6080
|
-
if (!isLastFrame) {
|
|
6081
|
-
_this._drawFrame();
|
|
6082
|
-
}
|
|
6083
|
-
else {
|
|
6084
|
-
_this._status = DrawStatus.FREE;
|
|
6085
|
-
}
|
|
6086
|
-
}
|
|
6087
|
-
else {
|
|
6088
|
-
_this._status = DrawStatus.FREE;
|
|
6089
|
-
}
|
|
6090
|
-
_this.trigger('drawFrame', undefined);
|
|
6091
|
-
if (_this._loader.isComplete() === true && _this._queue.length === 1 && _this._status === DrawStatus.FREE) {
|
|
6092
|
-
_this.trigger('drawFrameComplete', undefined);
|
|
6093
|
-
_this.freeze();
|
|
6094
|
-
}
|
|
6095
|
-
});
|
|
6096
|
-
};
|
|
6097
|
-
Renderer.prototype._retainQueueOneItem = function () {
|
|
6098
|
-
if (this._queue.length <= 1) {
|
|
6099
|
-
return;
|
|
6100
|
-
}
|
|
6101
|
-
var lastOne = deepClone$3(this._queue[this._queue.length - 1]);
|
|
6102
|
-
this._queue = [lastOne];
|
|
6103
|
-
};
|
|
6104
|
-
return Renderer;
|
|
6105
|
-
})(RendererEvent));
|
|
6106
|
-
|
|
6107
|
-
var Mode;
|
|
6108
|
-
(function (Mode) {
|
|
6109
|
-
Mode["NULL"] = "null";
|
|
6110
|
-
Mode["SELECT_ELEMENT"] = "select-element";
|
|
6111
|
-
Mode["SELECT_ELEMENT_LIST"] = "select-element-list";
|
|
6112
|
-
Mode["SELECT_ELEMENT_WRAPPER_CONTROLLER"] = "select-element-wrapper-controller";
|
|
6113
|
-
Mode["SELECT_AREA"] = "select-area";
|
|
6114
|
-
})(Mode || (Mode = {}));
|
|
6115
|
-
var CursorStatus;
|
|
6116
|
-
(function (CursorStatus) {
|
|
6117
|
-
CursorStatus["DRAGGING"] = "dragging";
|
|
6118
|
-
CursorStatus["NULL"] = "null";
|
|
6119
|
-
})(CursorStatus || (CursorStatus = {}));
|
|
6120
|
-
|
|
6121
|
-
function createData() {
|
|
6122
|
-
return {
|
|
6123
|
-
onlyRender: false,
|
|
6124
|
-
hasInited: false,
|
|
6125
|
-
mode: Mode.NULL,
|
|
6126
|
-
cursorStatus: CursorStatus.NULL,
|
|
6127
|
-
selectedUUID: null,
|
|
6128
|
-
selectedUUIDList: [],
|
|
6129
|
-
hoverUUID: null,
|
|
6130
|
-
selectedControllerDirection: null,
|
|
6131
|
-
hoverControllerDirection: null,
|
|
6132
|
-
prevPoint: null,
|
|
5128
|
+
}
|
|
5129
|
+
function isNumber(num) {
|
|
5130
|
+
return (num >= 0 || num < 0);
|
|
5131
|
+
}
|
|
5132
|
+
|
|
5133
|
+
function createData$1() {
|
|
5134
|
+
return {
|
|
5135
|
+
hasInited: false,
|
|
6133
5136
|
};
|
|
6134
5137
|
}
|
|
6135
|
-
var TempData = (function () {
|
|
5138
|
+
var TempData$1 = (function () {
|
|
6136
5139
|
function TempData() {
|
|
6137
|
-
this._temp = createData();
|
|
5140
|
+
this._temp = createData$1();
|
|
6138
5141
|
}
|
|
6139
5142
|
TempData.prototype.set = function (name, value) {
|
|
6140
5143
|
this._temp[name] = value;
|
|
@@ -6143,7 +5146,7 @@ var TempData = (function () {
|
|
|
6143
5146
|
return this._temp[name];
|
|
6144
5147
|
};
|
|
6145
5148
|
TempData.prototype.clear = function () {
|
|
6146
|
-
this._temp = createData();
|
|
5149
|
+
this._temp = createData$1();
|
|
6147
5150
|
};
|
|
6148
5151
|
return TempData;
|
|
6149
5152
|
}());
|
|
@@ -6154,30 +5157,42 @@ var _opts = Symbol('_opts');
|
|
|
6154
5157
|
var _config = Symbol('_config');
|
|
6155
5158
|
var _renderer = Symbol('_renderer');
|
|
6156
5159
|
var _element = Symbol('_element');
|
|
6157
|
-
var _helper = Symbol('_helper');
|
|
6158
5160
|
var _tempData = Symbol('_tempData');
|
|
6159
5161
|
var _draw = Symbol('_draw');
|
|
6160
5162
|
var _coreEvent = Symbol('_coreEvent');
|
|
6161
|
-
var _mapper = Symbol('_mapper');
|
|
6162
5163
|
var _emitChangeScreen = Symbol('_emitChangeScreen');
|
|
6163
5164
|
var _emitChangeData = Symbol('_emitChangeData');
|
|
6164
|
-
var
|
|
5165
|
+
var _engine = Symbol('_engine');
|
|
5166
|
+
|
|
5167
|
+
var Mode;
|
|
5168
|
+
(function (Mode) {
|
|
5169
|
+
Mode["NULL"] = "null";
|
|
5170
|
+
Mode["SELECT_ELEMENT"] = "select-element";
|
|
5171
|
+
Mode["SELECT_ELEMENT_LIST"] = "select-element-list";
|
|
5172
|
+
Mode["SELECT_ELEMENT_WRAPPER_CONTROLLER"] = "select-element-wrapper-controller";
|
|
5173
|
+
Mode["SELECT_AREA"] = "select-area";
|
|
5174
|
+
})(Mode || (Mode = {}));
|
|
5175
|
+
var CursorStatus;
|
|
5176
|
+
(function (CursorStatus) {
|
|
5177
|
+
CursorStatus["DRAGGING"] = "dragging";
|
|
5178
|
+
CursorStatus["NULL"] = "null";
|
|
5179
|
+
})(CursorStatus || (CursorStatus = {}));
|
|
6165
5180
|
|
|
6166
5181
|
var deepClone$2 = index$1.data.deepClone;
|
|
6167
5182
|
var createUUID = index$1.uuid.createUUID;
|
|
6168
5183
|
function getSelectedElements(core) {
|
|
6169
5184
|
var elems = [];
|
|
6170
5185
|
var list = [];
|
|
6171
|
-
var uuid = core[
|
|
5186
|
+
var uuid = core[_engine].temp.get('selectedUUID');
|
|
6172
5187
|
if (typeof uuid === 'string' && uuid) {
|
|
6173
5188
|
list.push(uuid);
|
|
6174
5189
|
}
|
|
6175
5190
|
else {
|
|
6176
|
-
list = core[
|
|
5191
|
+
list = core[_engine].temp.get('selectedUUIDList');
|
|
6177
5192
|
}
|
|
6178
5193
|
list.forEach(function (uuid) {
|
|
6179
5194
|
var _a;
|
|
6180
|
-
var index = core[
|
|
5195
|
+
var index = core[_engine].helper.getElementIndexByUUID(uuid);
|
|
6181
5196
|
if (index !== null && index >= 0) {
|
|
6182
5197
|
var elem = (_a = core[_data]) === null || _a === void 0 ? void 0 : _a.elements[index];
|
|
6183
5198
|
if (elem)
|
|
@@ -6188,7 +5203,7 @@ function getSelectedElements(core) {
|
|
|
6188
5203
|
}
|
|
6189
5204
|
function getElement(core, uuid) {
|
|
6190
5205
|
var elem = null;
|
|
6191
|
-
var index = core[
|
|
5206
|
+
var index = core[_engine].helper.getElementIndexByUUID(uuid);
|
|
6192
5207
|
if (index !== null && core[_data].elements[index]) {
|
|
6193
5208
|
elem = deepClone$2(core[_data].elements[index]);
|
|
6194
5209
|
}
|
|
@@ -6220,33 +5235,29 @@ function updateElement(core, elem) {
|
|
|
6220
5235
|
core[_draw]({ resourceChangeUUIDs: resourceChangeUUIDs });
|
|
6221
5236
|
}
|
|
6222
5237
|
function selectElementByIndex(core, index, opts) {
|
|
6223
|
-
if (core[_tempData].get('onlyRender') === true)
|
|
6224
|
-
return;
|
|
6225
5238
|
if (core[_data].elements[index]) {
|
|
6226
5239
|
var uuid = core[_data].elements[index].uuid;
|
|
6227
5240
|
if ((opts === null || opts === void 0 ? void 0 : opts.useMode) === true) {
|
|
6228
|
-
core[
|
|
5241
|
+
core[_engine].temp.set('mode', Mode.SELECT_ELEMENT);
|
|
6229
5242
|
}
|
|
6230
5243
|
else {
|
|
6231
|
-
core[
|
|
5244
|
+
core[_engine].temp.set('mode', Mode.NULL);
|
|
6232
5245
|
}
|
|
6233
5246
|
if (typeof uuid === 'string') {
|
|
6234
|
-
core[
|
|
6235
|
-
core[
|
|
5247
|
+
core[_engine].temp.set('selectedUUID', uuid);
|
|
5248
|
+
core[_engine].temp.set('selectedUUIDList', []);
|
|
6236
5249
|
}
|
|
6237
5250
|
core[_draw]();
|
|
6238
5251
|
}
|
|
6239
5252
|
}
|
|
6240
5253
|
function selectElement(core, uuid, opts) {
|
|
6241
|
-
|
|
6242
|
-
return;
|
|
6243
|
-
var index = core[_helper].getElementIndexByUUID(uuid);
|
|
5254
|
+
var index = core[_engine].helper.getElementIndexByUUID(uuid);
|
|
6244
5255
|
if (typeof index === 'number' && index >= 0) {
|
|
6245
5256
|
core.selectElementByIndex(index, opts);
|
|
6246
5257
|
}
|
|
6247
5258
|
}
|
|
6248
5259
|
function moveUpElement(core, uuid) {
|
|
6249
|
-
var index = core[
|
|
5260
|
+
var index = core[_engine].helper.getElementIndexByUUID(uuid);
|
|
6250
5261
|
if (typeof index === 'number' && index >= 0 && index < core[_data].elements.length - 1) {
|
|
6251
5262
|
var temp = core[_data].elements[index];
|
|
6252
5263
|
core[_data].elements[index] = core[_data].elements[index + 1];
|
|
@@ -6256,7 +5267,7 @@ function moveUpElement(core, uuid) {
|
|
|
6256
5267
|
core[_draw]();
|
|
6257
5268
|
}
|
|
6258
5269
|
function moveDownElement(core, uuid) {
|
|
6259
|
-
var index = core[
|
|
5270
|
+
var index = core[_engine].helper.getElementIndexByUUID(uuid);
|
|
6260
5271
|
if (typeof index === 'number' && index > 0 && index < core[_data].elements.length) {
|
|
6261
5272
|
var temp = core[_data].elements[index];
|
|
6262
5273
|
core[_data].elements[index] = core[_data].elements[index - 1];
|
|
@@ -6282,7 +5293,7 @@ function deleteElement(core, uuid) {
|
|
|
6282
5293
|
}
|
|
6283
5294
|
}
|
|
6284
5295
|
function insertElementBefore(core, elem, beforeUUID) {
|
|
6285
|
-
var index = core[
|
|
5296
|
+
var index = core[_engine].helper.getElementIndexByUUID(beforeUUID);
|
|
6286
5297
|
if (index !== null) {
|
|
6287
5298
|
return core.insertElementBeforeIndex(elem, index);
|
|
6288
5299
|
}
|
|
@@ -6300,7 +5311,7 @@ function insertElementBeforeIndex(core, elem, index) {
|
|
|
6300
5311
|
return null;
|
|
6301
5312
|
}
|
|
6302
5313
|
function insertElementAfter(core, elem, beforeUUID) {
|
|
6303
|
-
var index = core[
|
|
5314
|
+
var index = core[_engine].helper.getElementIndexByUUID(beforeUUID);
|
|
6304
5315
|
if (index !== null) {
|
|
6305
5316
|
return core.insertElementAfterIndex(elem, index);
|
|
6306
5317
|
}
|
|
@@ -6318,168 +5329,241 @@ function insertElementAfterIndex(core, elem, index) {
|
|
|
6318
5329
|
return null;
|
|
6319
5330
|
}
|
|
6320
5331
|
|
|
5332
|
+
function createData() {
|
|
5333
|
+
return {
|
|
5334
|
+
hasInited: false,
|
|
5335
|
+
mode: Mode.NULL,
|
|
5336
|
+
cursorStatus: CursorStatus.NULL,
|
|
5337
|
+
selectedUUID: null,
|
|
5338
|
+
selectedUUIDList: [],
|
|
5339
|
+
hoverUUID: null,
|
|
5340
|
+
selectedControllerDirection: null,
|
|
5341
|
+
hoverControllerDirection: null,
|
|
5342
|
+
prevPoint: null,
|
|
5343
|
+
};
|
|
5344
|
+
}
|
|
5345
|
+
var TempData = (function () {
|
|
5346
|
+
function TempData() {
|
|
5347
|
+
this._temp = createData();
|
|
5348
|
+
}
|
|
5349
|
+
TempData.prototype.set = function (name, value) {
|
|
5350
|
+
this._temp[name] = value;
|
|
5351
|
+
};
|
|
5352
|
+
TempData.prototype.get = function (name) {
|
|
5353
|
+
return this._temp[name];
|
|
5354
|
+
};
|
|
5355
|
+
TempData.prototype.clear = function () {
|
|
5356
|
+
this._temp = createData();
|
|
5357
|
+
};
|
|
5358
|
+
return TempData;
|
|
5359
|
+
}());
|
|
5360
|
+
|
|
6321
5361
|
var time = index$1.time;
|
|
6322
5362
|
var deepClone$1 = index$1.data.deepClone;
|
|
6323
|
-
function
|
|
6324
|
-
|
|
6325
|
-
|
|
6326
|
-
|
|
6327
|
-
|
|
6328
|
-
|
|
6329
|
-
|
|
6330
|
-
|
|
6331
|
-
|
|
6332
|
-
return;
|
|
5363
|
+
var Engine = (function () {
|
|
5364
|
+
function Engine(opts) {
|
|
5365
|
+
this._plugins = [];
|
|
5366
|
+
var board = opts.board, config = opts.config, element = opts.element;
|
|
5367
|
+
var helper = new Helper(board, config);
|
|
5368
|
+
this._opts = opts;
|
|
5369
|
+
this.temp = new TempData();
|
|
5370
|
+
this.helper = helper;
|
|
5371
|
+
this._mapper = new Mapper({ board: board, helper: helper, element: element });
|
|
6333
5372
|
}
|
|
6334
|
-
|
|
6335
|
-
|
|
6336
|
-
|
|
6337
|
-
|
|
6338
|
-
|
|
6339
|
-
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
|
|
6347
|
-
|
|
5373
|
+
Engine.prototype.addPlugin = function (plugin) {
|
|
5374
|
+
this._plugins.push(plugin);
|
|
5375
|
+
};
|
|
5376
|
+
Engine.prototype.getHelperConfig = function () {
|
|
5377
|
+
return this.helper.getConfig();
|
|
5378
|
+
};
|
|
5379
|
+
Engine.prototype.updateHelperConfig = function (opts) {
|
|
5380
|
+
var _a;
|
|
5381
|
+
var _b = this._opts, board = _b.board, getDataFeekback = _b.getDataFeekback, config = _b.config;
|
|
5382
|
+
var data = getDataFeekback();
|
|
5383
|
+
var transform = board.getTransform();
|
|
5384
|
+
this.helper.updateConfig(data, {
|
|
5385
|
+
width: opts.width,
|
|
5386
|
+
height: opts.height,
|
|
5387
|
+
devicePixelRatio: opts.devicePixelRatio,
|
|
5388
|
+
canScroll: ((_a = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _a === void 0 ? void 0 : _a.use) === true,
|
|
5389
|
+
selectedUUID: this.temp.get('selectedUUID'),
|
|
5390
|
+
selectedUUIDList: this.temp.get('selectedUUIDList'),
|
|
5391
|
+
scale: transform.scale,
|
|
5392
|
+
scrollX: transform.scrollX,
|
|
5393
|
+
scrollY: transform.scrollY,
|
|
5394
|
+
});
|
|
5395
|
+
};
|
|
5396
|
+
Engine.prototype.init = function () {
|
|
5397
|
+
this._initEvent();
|
|
5398
|
+
};
|
|
5399
|
+
Engine.prototype._initEvent = function () {
|
|
5400
|
+
if (this.temp.get('hasInited') === true) {
|
|
5401
|
+
return;
|
|
5402
|
+
}
|
|
5403
|
+
var board = this._opts.board;
|
|
5404
|
+
board.on('hover', time.throttle(this._handleHover.bind(this), 32));
|
|
5405
|
+
board.on('leave', time.throttle(this._handleLeave.bind(this), 32));
|
|
5406
|
+
board.on('point', time.throttle(this._handleClick.bind(this), 16));
|
|
5407
|
+
board.on('doubleClick', this._handleDoubleClick.bind(this));
|
|
5408
|
+
board.on('point', this._handlePoint.bind(this));
|
|
5409
|
+
board.on('moveStart', this._handleMoveStart.bind(this));
|
|
5410
|
+
board.on('move', time.throttle(this._handleMove.bind(this), 16));
|
|
5411
|
+
board.on('moveEnd', this._handleMoveEnd.bind(this));
|
|
5412
|
+
};
|
|
5413
|
+
Engine.prototype._handleDoubleClick = function (point) {
|
|
6348
5414
|
var _a, _b, _c;
|
|
6349
|
-
var _d =
|
|
5415
|
+
var _d = this._opts, element = _d.element, getDataFeekback = _d.getDataFeekback, drawFeekback = _d.drawFeekback, coreEvent = _d.coreEvent;
|
|
5416
|
+
var data = getDataFeekback();
|
|
5417
|
+
var _e = element.isPointInElement(point, data), index = _e[0], uuid = _e[1];
|
|
6350
5418
|
if (index >= 0 && uuid) {
|
|
6351
|
-
var elem = deepClone$1((_a =
|
|
5419
|
+
var elem = deepClone$1((_a = data.elements) === null || _a === void 0 ? void 0 : _a[index]);
|
|
6352
5420
|
if (((_b = elem === null || elem === void 0 ? void 0 : elem.operation) === null || _b === void 0 ? void 0 : _b.invisible) !== true) {
|
|
6353
|
-
|
|
5421
|
+
coreEvent.trigger('screenDoubleClickElement', { index: index, uuid: uuid, element: deepClone$1((_c = data.elements) === null || _c === void 0 ? void 0 : _c[index]) });
|
|
6354
5422
|
}
|
|
6355
5423
|
}
|
|
6356
|
-
|
|
5424
|
+
drawFeekback();
|
|
6357
5425
|
};
|
|
6358
|
-
|
|
6359
|
-
function handlePoint(core) {
|
|
6360
|
-
return function (point) {
|
|
5426
|
+
Engine.prototype._handlePoint = function (point) {
|
|
6361
5427
|
var _a, _b, _c;
|
|
6362
|
-
if (!
|
|
5428
|
+
if (!this._mapper.isEffectivePoint(point)) {
|
|
6363
5429
|
return;
|
|
6364
5430
|
}
|
|
6365
|
-
|
|
6366
|
-
|
|
5431
|
+
var _d = this._opts, element = _d.element, getDataFeekback = _d.getDataFeekback, selectElementByIndex = _d.selectElementByIndex, coreEvent = _d.coreEvent, emitChangeScreen = _d.emitChangeScreen, drawFeekback = _d.drawFeekback;
|
|
5432
|
+
var helper = this.helper;
|
|
5433
|
+
var data = getDataFeekback();
|
|
5434
|
+
if (helper.isPointInElementList(point, data)) {
|
|
5435
|
+
this.temp.set('mode', Mode.SELECT_ELEMENT_LIST);
|
|
6367
5436
|
}
|
|
6368
5437
|
else {
|
|
6369
|
-
var
|
|
5438
|
+
var _e = helper.isPointInElementWrapperController(point, data), uuid = _e.uuid, selectedControllerDirection = _e.selectedControllerDirection;
|
|
6370
5439
|
if (uuid && selectedControllerDirection) {
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
|
|
5440
|
+
this.temp.set('mode', Mode.SELECT_ELEMENT_WRAPPER_CONTROLLER);
|
|
5441
|
+
this.temp.set('selectedControllerDirection', selectedControllerDirection);
|
|
5442
|
+
this.temp.set('selectedUUID', uuid);
|
|
6374
5443
|
}
|
|
6375
5444
|
else {
|
|
6376
|
-
var
|
|
6377
|
-
if (index >= 0 && ((_b = (_a =
|
|
6378
|
-
|
|
6379
|
-
if (typeof uuid_1 === 'string' &&
|
|
6380
|
-
|
|
6381
|
-
|
|
5445
|
+
var _f = element.isPointInElement(point, data), index = _f[0], uuid_1 = _f[1];
|
|
5446
|
+
if (index >= 0 && ((_b = (_a = data.elements[index]) === null || _a === void 0 ? void 0 : _a.operation) === null || _b === void 0 ? void 0 : _b.invisible) !== true) {
|
|
5447
|
+
selectElementByIndex(index, { useMode: true });
|
|
5448
|
+
if (typeof uuid_1 === 'string' && coreEvent.has('screenSelectElement')) {
|
|
5449
|
+
coreEvent.trigger('screenSelectElement', { index: index, uuid: uuid_1, element: deepClone$1((_c = data.elements) === null || _c === void 0 ? void 0 : _c[index]) });
|
|
5450
|
+
emitChangeScreen();
|
|
6382
5451
|
}
|
|
6383
|
-
|
|
5452
|
+
this.temp.set('mode', Mode.SELECT_ELEMENT);
|
|
6384
5453
|
}
|
|
6385
5454
|
else {
|
|
6386
|
-
|
|
6387
|
-
|
|
6388
|
-
|
|
5455
|
+
this.temp.set('selectedUUIDList', []);
|
|
5456
|
+
this.temp.set('selectedUUID', null);
|
|
5457
|
+
this.temp.set('mode', Mode.SELECT_AREA);
|
|
6389
5458
|
}
|
|
6390
5459
|
}
|
|
6391
5460
|
}
|
|
6392
|
-
|
|
5461
|
+
drawFeekback();
|
|
6393
5462
|
};
|
|
6394
|
-
|
|
6395
|
-
function handleClick(core) {
|
|
6396
|
-
return function (point) {
|
|
5463
|
+
Engine.prototype._handleClick = function (point) {
|
|
6397
5464
|
var _a;
|
|
6398
|
-
var _b =
|
|
5465
|
+
var _b = this._opts, element = _b.element, getDataFeekback = _b.getDataFeekback, coreEvent = _b.coreEvent, drawFeekback = _b.drawFeekback;
|
|
5466
|
+
var data = getDataFeekback();
|
|
5467
|
+
var _c = element.isPointInElement(point, data), index = _c[0], uuid = _c[1];
|
|
6399
5468
|
if (index >= 0 && uuid) {
|
|
6400
|
-
|
|
5469
|
+
coreEvent.trigger('screenClickElement', { index: index, uuid: uuid, element: deepClone$1((_a = data.elements) === null || _a === void 0 ? void 0 : _a[index]) });
|
|
6401
5470
|
}
|
|
6402
|
-
|
|
5471
|
+
drawFeekback();
|
|
6403
5472
|
};
|
|
6404
|
-
|
|
6405
|
-
|
|
6406
|
-
|
|
6407
|
-
|
|
6408
|
-
|
|
6409
|
-
|
|
6410
|
-
|
|
6411
|
-
|
|
6412
|
-
|
|
6413
|
-
|
|
5473
|
+
Engine.prototype._handleMoveStart = function (point) {
|
|
5474
|
+
var _a = this._opts, element = _a.element, getDataFeekback = _a.getDataFeekback, coreEvent = _a.coreEvent;
|
|
5475
|
+
var data = getDataFeekback();
|
|
5476
|
+
var helper = this.helper;
|
|
5477
|
+
this.temp.set('prevPoint', point);
|
|
5478
|
+
var uuid = this.temp.get('selectedUUID');
|
|
5479
|
+
if (this.temp.get('mode') === Mode.SELECT_ELEMENT_LIST) ;
|
|
5480
|
+
else if (this.temp.get('mode') === Mode.SELECT_ELEMENT) {
|
|
5481
|
+
if (typeof uuid === 'string' && coreEvent.has('screenMoveElementStart')) {
|
|
5482
|
+
coreEvent.trigger('screenMoveElementStart', {
|
|
5483
|
+
index: element.getElementIndex(data, uuid),
|
|
6414
5484
|
uuid: uuid,
|
|
6415
5485
|
x: point.x,
|
|
6416
5486
|
y: point.y
|
|
6417
5487
|
});
|
|
6418
5488
|
}
|
|
6419
5489
|
}
|
|
6420
|
-
else if (
|
|
6421
|
-
|
|
5490
|
+
else if (this.temp.get('mode') === Mode.SELECT_AREA) {
|
|
5491
|
+
helper.startSelectArea(point);
|
|
6422
5492
|
}
|
|
6423
5493
|
};
|
|
6424
|
-
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
if (
|
|
6428
|
-
|
|
6429
|
-
|
|
6430
|
-
|
|
5494
|
+
Engine.prototype._handleMove = function (point) {
|
|
5495
|
+
var drawFeekback = this._opts.drawFeekback;
|
|
5496
|
+
var helper = this.helper;
|
|
5497
|
+
if (this.temp.get('mode') === Mode.SELECT_ELEMENT_LIST) {
|
|
5498
|
+
this._dragElements(this.temp.get('selectedUUIDList'), point, this.temp.get('prevPoint'));
|
|
5499
|
+
drawFeekback();
|
|
5500
|
+
this.temp.set('cursorStatus', CursorStatus.DRAGGING);
|
|
6431
5501
|
}
|
|
6432
|
-
else if (typeof
|
|
6433
|
-
if (
|
|
6434
|
-
|
|
6435
|
-
|
|
6436
|
-
|
|
5502
|
+
else if (typeof this.temp.get('selectedUUID') === 'string') {
|
|
5503
|
+
if (this.temp.get('mode') === Mode.SELECT_ELEMENT) {
|
|
5504
|
+
this._dragElements([this.temp.get('selectedUUID')], point, this.temp.get('prevPoint'));
|
|
5505
|
+
drawFeekback();
|
|
5506
|
+
this.temp.set('cursorStatus', CursorStatus.DRAGGING);
|
|
6437
5507
|
}
|
|
6438
|
-
else if (
|
|
6439
|
-
|
|
6440
|
-
|
|
5508
|
+
else if (this.temp.get('mode') === Mode.SELECT_ELEMENT_WRAPPER_CONTROLLER && this.temp.get('selectedControllerDirection')) {
|
|
5509
|
+
this._transfromElement(this.temp.get('selectedUUID'), point, this.temp.get('prevPoint'), this.temp.get('selectedControllerDirection'));
|
|
5510
|
+
this.temp.set('cursorStatus', CursorStatus.DRAGGING);
|
|
6441
5511
|
}
|
|
6442
5512
|
}
|
|
6443
|
-
else if (
|
|
6444
|
-
|
|
6445
|
-
|
|
5513
|
+
else if (this.temp.get('mode') === Mode.SELECT_AREA) {
|
|
5514
|
+
helper.changeSelectArea(point);
|
|
5515
|
+
drawFeekback();
|
|
6446
5516
|
}
|
|
6447
|
-
|
|
5517
|
+
this.temp.set('prevPoint', point);
|
|
6448
5518
|
};
|
|
6449
|
-
|
|
6450
|
-
|
|
6451
|
-
if (!prevPoint) {
|
|
6452
|
-
return;
|
|
6453
|
-
}
|
|
6454
|
-
uuids.forEach(function (uuid) {
|
|
6455
|
-
var _a, _b;
|
|
6456
|
-
var idx = core[_helper].getElementIndexByUUID(uuid);
|
|
6457
|
-
if (idx === null)
|
|
5519
|
+
Engine.prototype._dragElements = function (uuids, point, prevPoint) {
|
|
5520
|
+
if (!prevPoint) {
|
|
6458
5521
|
return;
|
|
6459
|
-
var elem = core[_data].elements[idx];
|
|
6460
|
-
if (((_a = elem === null || elem === void 0 ? void 0 : elem.operation) === null || _a === void 0 ? void 0 : _a.lock) !== true && ((_b = elem === null || elem === void 0 ? void 0 : elem.operation) === null || _b === void 0 ? void 0 : _b.invisible) !== true) {
|
|
6461
|
-
core[_element].dragElement(core[_data], uuid, point, prevPoint, core[_board].getContext().getTransform().scale);
|
|
6462
5522
|
}
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
function
|
|
6467
|
-
|
|
6468
|
-
|
|
5523
|
+
var _a = this._opts, board = _a.board, element = _a.element, getDataFeekback = _a.getDataFeekback, drawFeekback = _a.drawFeekback;
|
|
5524
|
+
var data = getDataFeekback();
|
|
5525
|
+
var helper = this.helper;
|
|
5526
|
+
uuids.forEach(function (uuid) {
|
|
5527
|
+
var _a, _b;
|
|
5528
|
+
var idx = helper.getElementIndexByUUID(uuid);
|
|
5529
|
+
if (idx === null)
|
|
5530
|
+
return;
|
|
5531
|
+
var elem = data.elements[idx];
|
|
5532
|
+
if (((_a = elem === null || elem === void 0 ? void 0 : elem.operation) === null || _a === void 0 ? void 0 : _a.lock) !== true && ((_b = elem === null || elem === void 0 ? void 0 : elem.operation) === null || _b === void 0 ? void 0 : _b.invisible) !== true) {
|
|
5533
|
+
element.dragElement(data, uuid, point, prevPoint, board.getContext().getTransform().scale);
|
|
5534
|
+
}
|
|
5535
|
+
});
|
|
5536
|
+
drawFeekback();
|
|
5537
|
+
};
|
|
5538
|
+
Engine.prototype._transfromElement = function (uuid, point, prevPoint, direction) {
|
|
5539
|
+
if (!prevPoint) {
|
|
5540
|
+
return null;
|
|
5541
|
+
}
|
|
5542
|
+
var _a = this._opts, board = _a.board, element = _a.element, getDataFeekback = _a.getDataFeekback, drawFeekback = _a.drawFeekback;
|
|
5543
|
+
var data = getDataFeekback();
|
|
5544
|
+
var result = element.transformElement(data, uuid, point, prevPoint, board.getContext().getTransform().scale, direction);
|
|
5545
|
+
drawFeekback();
|
|
5546
|
+
return result;
|
|
5547
|
+
};
|
|
5548
|
+
Engine.prototype._handleMoveEnd = function (point) {
|
|
5549
|
+
var _a = this._opts, element = _a.element, getDataFeekback = _a.getDataFeekback, coreEvent = _a.coreEvent, drawFeekback = _a.drawFeekback, emitChangeData = _a.emitChangeData;
|
|
5550
|
+
var data = getDataFeekback();
|
|
5551
|
+
var helper = this.helper;
|
|
5552
|
+
var uuid = this.temp.get('selectedUUID');
|
|
6469
5553
|
if (typeof uuid === 'string') {
|
|
6470
|
-
var index =
|
|
6471
|
-
var elem =
|
|
5554
|
+
var index = element.getElementIndex(data, uuid);
|
|
5555
|
+
var elem = data.elements[index];
|
|
6472
5556
|
if (elem) {
|
|
6473
|
-
if (
|
|
6474
|
-
|
|
5557
|
+
if (coreEvent.has('screenMoveElementEnd')) {
|
|
5558
|
+
coreEvent.trigger('screenMoveElementEnd', {
|
|
6475
5559
|
index: index,
|
|
6476
5560
|
uuid: uuid,
|
|
6477
5561
|
x: point.x,
|
|
6478
5562
|
y: point.y
|
|
6479
5563
|
});
|
|
6480
5564
|
}
|
|
6481
|
-
if (
|
|
6482
|
-
|
|
5565
|
+
if (coreEvent.has('screenChangeElement')) {
|
|
5566
|
+
coreEvent.trigger('screenChangeElement', {
|
|
6483
5567
|
index: index,
|
|
6484
5568
|
uuid: uuid,
|
|
6485
5569
|
width: elem.w,
|
|
@@ -6487,91 +5571,237 @@ function handleMoveEnd(core) {
|
|
|
6487
5571
|
angle: elem.angle || 0
|
|
6488
5572
|
});
|
|
6489
5573
|
}
|
|
6490
|
-
|
|
5574
|
+
emitChangeData();
|
|
6491
5575
|
}
|
|
6492
5576
|
}
|
|
6493
|
-
else if (
|
|
6494
|
-
var uuids =
|
|
5577
|
+
else if (this.temp.get('mode') === Mode.SELECT_AREA) {
|
|
5578
|
+
var uuids = helper.calcSelectedElements(data);
|
|
6495
5579
|
if (uuids.length > 0) {
|
|
6496
|
-
|
|
6497
|
-
|
|
5580
|
+
this.temp.set('selectedUUIDList', uuids);
|
|
5581
|
+
this.temp.set('selectedUUID', null);
|
|
6498
5582
|
}
|
|
6499
5583
|
else {
|
|
6500
|
-
|
|
5584
|
+
this.temp.set('mode', Mode.NULL);
|
|
6501
5585
|
}
|
|
6502
|
-
|
|
6503
|
-
|
|
5586
|
+
helper.clearSelectedArea();
|
|
5587
|
+
drawFeekback();
|
|
6504
5588
|
}
|
|
6505
|
-
if (
|
|
6506
|
-
|
|
5589
|
+
if (this.temp.get('mode') !== Mode.SELECT_ELEMENT) {
|
|
5590
|
+
this.temp.set('selectedUUID', null);
|
|
6507
5591
|
}
|
|
6508
|
-
|
|
6509
|
-
|
|
5592
|
+
this.temp.set('cursorStatus', CursorStatus.NULL);
|
|
5593
|
+
this.temp.set('mode', Mode.NULL);
|
|
6510
5594
|
};
|
|
6511
|
-
|
|
6512
|
-
function handleHover(core) {
|
|
6513
|
-
return function (point) {
|
|
5595
|
+
Engine.prototype._handleHover = function (point) {
|
|
6514
5596
|
var _a, _b;
|
|
6515
5597
|
var isMouseOverElement = false;
|
|
6516
|
-
|
|
6517
|
-
|
|
6518
|
-
|
|
5598
|
+
var _c = this._opts, board = _c.board, getDataFeekback = _c.getDataFeekback, coreEvent = _c.coreEvent;
|
|
5599
|
+
var data = getDataFeekback();
|
|
5600
|
+
var helper = this.helper;
|
|
5601
|
+
var mapper = this._mapper;
|
|
5602
|
+
if (this.temp.get('mode') === Mode.SELECT_AREA) {
|
|
5603
|
+
board.resetCursor();
|
|
6519
5604
|
}
|
|
6520
|
-
else if (
|
|
6521
|
-
var
|
|
6522
|
-
|
|
6523
|
-
core[_board].setCursor(cursor);
|
|
5605
|
+
else if (this.temp.get('cursorStatus') === CursorStatus.NULL) {
|
|
5606
|
+
var _d = mapper.judgePointCursor(point, data), cursor = _d.cursor, elementUUID = _d.elementUUID;
|
|
5607
|
+
board.setCursor(cursor);
|
|
6524
5608
|
if (elementUUID) {
|
|
6525
|
-
var index =
|
|
5609
|
+
var index = helper.getElementIndexByUUID(elementUUID);
|
|
6526
5610
|
if (index !== null && index >= 0) {
|
|
6527
|
-
var elem =
|
|
5611
|
+
var elem = data.elements[index];
|
|
6528
5612
|
if (((_a = elem === null || elem === void 0 ? void 0 : elem.operation) === null || _a === void 0 ? void 0 : _a.lock) === true || ((_b = elem === null || elem === void 0 ? void 0 : elem.operation) === null || _b === void 0 ? void 0 : _b.invisible) === true) {
|
|
6529
|
-
|
|
5613
|
+
board.resetCursor();
|
|
6530
5614
|
return;
|
|
6531
5615
|
}
|
|
6532
|
-
if (
|
|
6533
|
-
var preIndex =
|
|
6534
|
-
if (preIndex !== null &&
|
|
6535
|
-
|
|
6536
|
-
uuid:
|
|
5616
|
+
if (this.temp.get('hoverUUID') !== elem.uuid) {
|
|
5617
|
+
var preIndex = helper.getElementIndexByUUID(this.temp.get('hoverUUID') || '');
|
|
5618
|
+
if (preIndex !== null && data.elements[preIndex]) {
|
|
5619
|
+
coreEvent.trigger('mouseLeaveElement', {
|
|
5620
|
+
uuid: this.temp.get('hoverUUID'),
|
|
6537
5621
|
index: preIndex,
|
|
6538
|
-
element:
|
|
5622
|
+
element: data.elements[preIndex]
|
|
6539
5623
|
});
|
|
6540
5624
|
}
|
|
6541
5625
|
}
|
|
6542
5626
|
if (elem) {
|
|
6543
|
-
|
|
6544
|
-
|
|
5627
|
+
coreEvent.trigger('mouseOverElement', { uuid: elem.uuid, index: index, element: elem, });
|
|
5628
|
+
this.temp.set('hoverUUID', elem.uuid);
|
|
6545
5629
|
isMouseOverElement = true;
|
|
6546
5630
|
}
|
|
6547
5631
|
}
|
|
6548
5632
|
}
|
|
6549
5633
|
}
|
|
6550
|
-
if (isMouseOverElement !== true &&
|
|
6551
|
-
var uuid =
|
|
6552
|
-
var index =
|
|
5634
|
+
if (isMouseOverElement !== true && this.temp.get('hoverUUID') !== null) {
|
|
5635
|
+
var uuid = this.temp.get('hoverUUID');
|
|
5636
|
+
var index = helper.getElementIndexByUUID(uuid || '');
|
|
6553
5637
|
if (index !== null)
|
|
6554
|
-
|
|
6555
|
-
|
|
5638
|
+
coreEvent.trigger('mouseLeaveElement', { uuid: uuid, index: index, element: data.elements[index] });
|
|
5639
|
+
this.temp.set('hoverUUID', null);
|
|
6556
5640
|
}
|
|
6557
|
-
if (
|
|
6558
|
-
|
|
5641
|
+
if (coreEvent.has('mouseOverScreen'))
|
|
5642
|
+
coreEvent.trigger('mouseOverScreen', point);
|
|
6559
5643
|
};
|
|
6560
|
-
|
|
6561
|
-
|
|
6562
|
-
|
|
6563
|
-
|
|
6564
|
-
core[_coreEvent].trigger('mouseLeaveScreen', undefined);
|
|
5644
|
+
Engine.prototype._handleLeave = function () {
|
|
5645
|
+
var coreEvent = this._opts.coreEvent;
|
|
5646
|
+
if (coreEvent.has('mouseLeaveScreen')) {
|
|
5647
|
+
coreEvent.trigger('mouseLeaveScreen', undefined);
|
|
6565
5648
|
}
|
|
6566
5649
|
};
|
|
5650
|
+
return Engine;
|
|
5651
|
+
}());
|
|
5652
|
+
|
|
5653
|
+
function clearContext(ctx) {
|
|
5654
|
+
ctx.setFillStyle('#000000');
|
|
5655
|
+
ctx.setStrokeStyle('#000000');
|
|
5656
|
+
ctx.setLineDash([]);
|
|
5657
|
+
ctx.setGlobalAlpha(1);
|
|
5658
|
+
ctx.setShadowColor('#00000000');
|
|
5659
|
+
ctx.setShadowOffsetX(0);
|
|
5660
|
+
ctx.setShadowOffsetY(0);
|
|
5661
|
+
ctx.setShadowBlur(0);
|
|
5662
|
+
}
|
|
5663
|
+
|
|
5664
|
+
function drawElementWrapper(ctx, config) {
|
|
5665
|
+
if (!(config === null || config === void 0 ? void 0 : config.selectedElementWrapper)) {
|
|
5666
|
+
return;
|
|
5667
|
+
}
|
|
5668
|
+
var wrapper = config.selectedElementWrapper;
|
|
5669
|
+
clearContext(ctx);
|
|
5670
|
+
rotateContext(ctx, wrapper.translate, wrapper.radian || 0, function () {
|
|
5671
|
+
ctx.beginPath();
|
|
5672
|
+
ctx.setLineDash(wrapper.lineDash);
|
|
5673
|
+
ctx.setLineWidth(wrapper.lineWidth);
|
|
5674
|
+
ctx.setStrokeStyle(wrapper.color);
|
|
5675
|
+
ctx.moveTo(wrapper.controllers.topLeft.x, wrapper.controllers.topLeft.y);
|
|
5676
|
+
ctx.lineTo(wrapper.controllers.topRight.x, wrapper.controllers.topRight.y);
|
|
5677
|
+
ctx.lineTo(wrapper.controllers.bottomRight.x, wrapper.controllers.bottomRight.y);
|
|
5678
|
+
ctx.lineTo(wrapper.controllers.bottomLeft.x, wrapper.controllers.bottomLeft.y);
|
|
5679
|
+
ctx.lineTo(wrapper.controllers.topLeft.x, wrapper.controllers.topLeft.y - wrapper.lineWidth / 2);
|
|
5680
|
+
ctx.stroke();
|
|
5681
|
+
ctx.closePath();
|
|
5682
|
+
if (wrapper.lock !== true) {
|
|
5683
|
+
if (wrapper.controllers.rotate.invisible !== true) {
|
|
5684
|
+
ctx.beginPath();
|
|
5685
|
+
ctx.moveTo(wrapper.controllers.top.x, wrapper.controllers.top.y);
|
|
5686
|
+
ctx.lineTo(wrapper.controllers.rotate.x, wrapper.controllers.rotate.y + wrapper.controllerSize);
|
|
5687
|
+
ctx.stroke();
|
|
5688
|
+
ctx.closePath();
|
|
5689
|
+
ctx.beginPath();
|
|
5690
|
+
ctx.setLineDash([]);
|
|
5691
|
+
ctx.setLineWidth(wrapper.controllerSize / 2);
|
|
5692
|
+
ctx.arc(wrapper.controllers.rotate.x, wrapper.controllers.rotate.y, wrapper.controllerSize * 0.8, Math.PI / 6, Math.PI * 2);
|
|
5693
|
+
ctx.stroke();
|
|
5694
|
+
ctx.closePath();
|
|
5695
|
+
}
|
|
5696
|
+
ctx.setFillStyle(wrapper.color);
|
|
5697
|
+
[
|
|
5698
|
+
wrapper.controllers.topLeft,
|
|
5699
|
+
wrapper.controllers.top,
|
|
5700
|
+
wrapper.controllers.topRight,
|
|
5701
|
+
wrapper.controllers.right,
|
|
5702
|
+
wrapper.controllers.bottomRight,
|
|
5703
|
+
wrapper.controllers.bottom,
|
|
5704
|
+
wrapper.controllers.bottomLeft,
|
|
5705
|
+
wrapper.controllers.left,
|
|
5706
|
+
].forEach(function (controller) {
|
|
5707
|
+
if (controller.invisible !== true) {
|
|
5708
|
+
ctx.beginPath();
|
|
5709
|
+
ctx.arc(controller.x, controller.y, wrapper.controllerSize, 0, Math.PI * 2);
|
|
5710
|
+
ctx.fill();
|
|
5711
|
+
ctx.closePath();
|
|
5712
|
+
}
|
|
5713
|
+
});
|
|
5714
|
+
}
|
|
5715
|
+
else {
|
|
5716
|
+
clearContext(ctx);
|
|
5717
|
+
ctx.setStrokeStyle(wrapper.color);
|
|
5718
|
+
[
|
|
5719
|
+
wrapper.controllers.topLeft, wrapper.controllers.top, wrapper.controllers.topRight, wrapper.controllers.right,
|
|
5720
|
+
wrapper.controllers.bottomRight, wrapper.controllers.bottom, wrapper.controllers.bottomLeft, wrapper.controllers.left,
|
|
5721
|
+
].forEach(function (controller) {
|
|
5722
|
+
ctx.beginPath();
|
|
5723
|
+
ctx.moveTo(controller.x - wrapper.controllerSize / 2, controller.y - wrapper.controllerSize / 2);
|
|
5724
|
+
ctx.lineTo(controller.x + wrapper.controllerSize / 2, controller.y + wrapper.controllerSize / 2);
|
|
5725
|
+
ctx.stroke();
|
|
5726
|
+
ctx.closePath();
|
|
5727
|
+
ctx.beginPath();
|
|
5728
|
+
ctx.moveTo(controller.x + wrapper.controllerSize / 2, controller.y - wrapper.controllerSize / 2);
|
|
5729
|
+
ctx.lineTo(controller.x - wrapper.controllerSize / 2, controller.y + wrapper.controllerSize / 2);
|
|
5730
|
+
ctx.stroke();
|
|
5731
|
+
ctx.closePath();
|
|
5732
|
+
});
|
|
5733
|
+
}
|
|
5734
|
+
});
|
|
6567
5735
|
}
|
|
6568
|
-
function
|
|
6569
|
-
if (!
|
|
6570
|
-
return
|
|
5736
|
+
function drawAreaWrapper(ctx, config) {
|
|
5737
|
+
if (!(config === null || config === void 0 ? void 0 : config.selectedAreaWrapper)) {
|
|
5738
|
+
return;
|
|
6571
5739
|
}
|
|
6572
|
-
var
|
|
6573
|
-
|
|
6574
|
-
|
|
5740
|
+
var wrapper = config.selectedAreaWrapper;
|
|
5741
|
+
if (wrapper && wrapper.w > 0 && wrapper.h > 0) {
|
|
5742
|
+
clearContext(ctx);
|
|
5743
|
+
ctx.setGlobalAlpha(0.3);
|
|
5744
|
+
ctx.setFillStyle(wrapper.color);
|
|
5745
|
+
ctx.fillRect(wrapper.x, wrapper.y, wrapper.w, wrapper.h);
|
|
5746
|
+
clearContext(ctx);
|
|
5747
|
+
ctx.beginPath();
|
|
5748
|
+
ctx.setLineDash(wrapper.lineDash);
|
|
5749
|
+
ctx.setLineWidth(wrapper.lineWidth);
|
|
5750
|
+
ctx.setStrokeStyle(wrapper.color);
|
|
5751
|
+
ctx.moveTo(wrapper.x, wrapper.y);
|
|
5752
|
+
ctx.lineTo(wrapper.x + wrapper.w, wrapper.y);
|
|
5753
|
+
ctx.lineTo(wrapper.x + wrapper.w, wrapper.y + wrapper.h);
|
|
5754
|
+
ctx.lineTo(wrapper.x, wrapper.y + wrapper.h);
|
|
5755
|
+
ctx.lineTo(wrapper.x, wrapper.y);
|
|
5756
|
+
ctx.stroke();
|
|
5757
|
+
ctx.closePath();
|
|
5758
|
+
}
|
|
5759
|
+
}
|
|
5760
|
+
function drawElementListWrappers(ctx, config) {
|
|
5761
|
+
if (!Array.isArray(config === null || config === void 0 ? void 0 : config.selectedElementListWrappers)) {
|
|
5762
|
+
return;
|
|
5763
|
+
}
|
|
5764
|
+
var wrapperList = config.selectedElementListWrappers;
|
|
5765
|
+
wrapperList === null || wrapperList === void 0 ? void 0 : wrapperList.forEach(function (wrapper) {
|
|
5766
|
+
clearContext(ctx);
|
|
5767
|
+
rotateContext(ctx, wrapper.translate, wrapper.radian || 0, function () {
|
|
5768
|
+
clearContext(ctx);
|
|
5769
|
+
ctx.setGlobalAlpha(0.05);
|
|
5770
|
+
ctx.setFillStyle(wrapper.color);
|
|
5771
|
+
ctx.fillRect(wrapper.controllers.topLeft.x, wrapper.controllers.topLeft.y, wrapper.controllers.bottomRight.x - wrapper.controllers.topLeft.x, wrapper.controllers.bottomRight.y - wrapper.controllers.topLeft.y);
|
|
5772
|
+
clearContext(ctx);
|
|
5773
|
+
ctx.beginPath();
|
|
5774
|
+
ctx.setLineDash(wrapper.lineDash);
|
|
5775
|
+
ctx.setLineWidth(wrapper.lineWidth);
|
|
5776
|
+
ctx.setStrokeStyle(wrapper.color);
|
|
5777
|
+
ctx.moveTo(wrapper.controllers.topLeft.x, wrapper.controllers.topLeft.y);
|
|
5778
|
+
ctx.lineTo(wrapper.controllers.topRight.x, wrapper.controllers.topRight.y);
|
|
5779
|
+
ctx.lineTo(wrapper.controllers.bottomRight.x, wrapper.controllers.bottomRight.y);
|
|
5780
|
+
ctx.lineTo(wrapper.controllers.bottomLeft.x, wrapper.controllers.bottomLeft.y);
|
|
5781
|
+
ctx.lineTo(wrapper.controllers.topLeft.x, wrapper.controllers.topLeft.y - wrapper.lineWidth / 2);
|
|
5782
|
+
ctx.stroke();
|
|
5783
|
+
ctx.closePath();
|
|
5784
|
+
if (wrapper.lock === true) {
|
|
5785
|
+
clearContext(ctx);
|
|
5786
|
+
ctx.setStrokeStyle(wrapper.color);
|
|
5787
|
+
[
|
|
5788
|
+
wrapper.controllers.topLeft, wrapper.controllers.top, wrapper.controllers.topRight, wrapper.controllers.right,
|
|
5789
|
+
wrapper.controllers.bottomRight, wrapper.controllers.bottom, wrapper.controllers.bottomLeft, wrapper.controllers.left,
|
|
5790
|
+
].forEach(function (controller) {
|
|
5791
|
+
ctx.beginPath();
|
|
5792
|
+
ctx.moveTo(controller.x - wrapper.controllerSize / 2, controller.y - wrapper.controllerSize / 2);
|
|
5793
|
+
ctx.lineTo(controller.x + wrapper.controllerSize / 2, controller.y + wrapper.controllerSize / 2);
|
|
5794
|
+
ctx.stroke();
|
|
5795
|
+
ctx.closePath();
|
|
5796
|
+
ctx.beginPath();
|
|
5797
|
+
ctx.moveTo(controller.x + wrapper.controllerSize / 2, controller.y - wrapper.controllerSize / 2);
|
|
5798
|
+
ctx.lineTo(controller.x - wrapper.controllerSize / 2, controller.y + wrapper.controllerSize / 2);
|
|
5799
|
+
ctx.stroke();
|
|
5800
|
+
ctx.closePath();
|
|
5801
|
+
});
|
|
5802
|
+
}
|
|
5803
|
+
});
|
|
5804
|
+
});
|
|
6575
5805
|
}
|
|
6576
5806
|
|
|
6577
5807
|
var deepClone = index$1.data.deepClone;
|
|
@@ -6580,10 +5810,9 @@ var Core = (function () {
|
|
|
6580
5810
|
var _this = this;
|
|
6581
5811
|
var _c, _d, _e;
|
|
6582
5812
|
this[_a] = new CoreEvent();
|
|
6583
|
-
this[_b] = new TempData();
|
|
5813
|
+
this[_b] = new TempData$1();
|
|
6584
5814
|
this[_data] = { elements: [] };
|
|
6585
5815
|
this[_opts] = opts;
|
|
6586
|
-
this[_tempData].set('onlyRender', opts.onlyRender === true);
|
|
6587
5816
|
this[_config] = mergeConfig(config || {});
|
|
6588
5817
|
this[_board] = new Board(mount, __assign$4(__assign$4({}, this[_opts]), { canScroll: (_c = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _c === void 0 ? void 0 : _c.use, scrollConfig: {
|
|
6589
5818
|
color: ((_d = config === null || config === void 0 ? void 0 : config.scrollWrapper) === null || _d === void 0 ? void 0 : _d.color) || '#a0a0a0',
|
|
@@ -6592,7 +5821,7 @@ var Core = (function () {
|
|
|
6592
5821
|
this[_renderer] = new Renderer();
|
|
6593
5822
|
var drawFrame = function () {
|
|
6594
5823
|
var helperCtx = _this[_board].getHelperContext();
|
|
6595
|
-
var helperConfig = _this[
|
|
5824
|
+
var helperConfig = _this[_engine].getHelperConfig();
|
|
6596
5825
|
_this[_board].clear();
|
|
6597
5826
|
var _c = _this[_opts], contextWidth = _c.contextWidth, contextHeight = _c.contextHeight, devicePixelRatio = _c.devicePixelRatio;
|
|
6598
5827
|
helperCtx.clearRect(0, 0, contextWidth * devicePixelRatio, contextHeight * devicePixelRatio);
|
|
@@ -6608,27 +5837,31 @@ var Core = (function () {
|
|
|
6608
5837
|
drawFrame();
|
|
6609
5838
|
});
|
|
6610
5839
|
this[_element] = new Element(this[_board].getContext());
|
|
6611
|
-
this[
|
|
6612
|
-
|
|
5840
|
+
this[_engine] = new Engine({
|
|
5841
|
+
coreEvent: this[_coreEvent],
|
|
6613
5842
|
board: this[_board],
|
|
6614
|
-
|
|
6615
|
-
|
|
5843
|
+
element: this[_element],
|
|
5844
|
+
config: this[_config],
|
|
5845
|
+
drawFeekback: this[_draw].bind(this),
|
|
5846
|
+
getDataFeekback: function () { return _this[_data]; },
|
|
5847
|
+
selectElementByIndex: this.selectElementByIndex.bind(this),
|
|
5848
|
+
emitChangeScreen: this[_emitChangeScreen].bind(this),
|
|
5849
|
+
emitChangeData: this[_emitChangeData].bind(this),
|
|
5850
|
+
});
|
|
5851
|
+
this[_engine].init();
|
|
5852
|
+
this[_renderer].on('drawFrame', function () {
|
|
5853
|
+
_this[_coreEvent].trigger('drawFrame', undefined);
|
|
6616
5854
|
});
|
|
6617
|
-
|
|
5855
|
+
this[_renderer].on('drawFrameComplete', function () {
|
|
5856
|
+
_this[_coreEvent].trigger('drawFrameComplete', undefined);
|
|
5857
|
+
});
|
|
5858
|
+
this[_tempData].set('hasInited', true);
|
|
6618
5859
|
}
|
|
6619
5860
|
Core.prototype[(_a = _coreEvent, _b = _tempData, _draw)] = function (opts) {
|
|
6620
|
-
|
|
6621
|
-
var transfrom = this[_board].getTransform();
|
|
6622
|
-
this[_helper].updateConfig(this[_data], {
|
|
5861
|
+
this[_engine].updateHelperConfig({
|
|
6623
5862
|
width: this[_opts].width,
|
|
6624
5863
|
height: this[_opts].height,
|
|
6625
|
-
canScroll: ((_d = (_c = this[_config]) === null || _c === void 0 ? void 0 : _c.scrollWrapper) === null || _d === void 0 ? void 0 : _d.use) === true,
|
|
6626
|
-
selectedUUID: this[_tempData].get('selectedUUID'),
|
|
6627
|
-
selectedUUIDList: this[_tempData].get('selectedUUIDList'),
|
|
6628
5864
|
devicePixelRatio: this[_opts].devicePixelRatio,
|
|
6629
|
-
scale: transfrom.scale,
|
|
6630
|
-
scrollX: transfrom.scrollX,
|
|
6631
|
-
scrollY: transfrom.scrollY,
|
|
6632
5865
|
});
|
|
6633
5866
|
this[_renderer].thaw();
|
|
6634
5867
|
this[_renderer].render(this[_board].getContext(), this[_data], {
|
|
@@ -6721,7 +5954,6 @@ var Core = (function () {
|
|
|
6721
5954
|
};
|
|
6722
5955
|
Core.prototype.clearOperation = function () {
|
|
6723
5956
|
this[_tempData].clear();
|
|
6724
|
-
this[_tempData].set('onlyRender', this[_opts].onlyRender === true);
|
|
6725
5957
|
this[_draw]();
|
|
6726
5958
|
};
|
|
6727
5959
|
Core.prototype.on = function (key, callback) {
|
|
@@ -6736,12 +5968,6 @@ var Core = (function () {
|
|
|
6736
5968
|
Core.prototype.pointContextToScreen = function (p) {
|
|
6737
5969
|
return this[_board].pointContextToScreen(p);
|
|
6738
5970
|
};
|
|
6739
|
-
Core.prototype.setOnlyRender = function () {
|
|
6740
|
-
this[_tempData].set('onlyRender', true);
|
|
6741
|
-
};
|
|
6742
|
-
Core.prototype.cancelOnlyRender = function () {
|
|
6743
|
-
this[_tempData].set('onlyRender', false);
|
|
6744
|
-
};
|
|
6745
5971
|
Core.prototype.__getBoardContext = function () {
|
|
6746
5972
|
return this[_board].getContext();
|
|
6747
5973
|
};
|
|
@@ -6761,9 +5987,6 @@ var Core = (function () {
|
|
|
6761
5987
|
this[_coreEvent].trigger('changeData', deepClone(this[_data]));
|
|
6762
5988
|
}
|
|
6763
5989
|
};
|
|
6764
|
-
Core.prototype[_todo] = function () {
|
|
6765
|
-
console.log(this[_mapper]);
|
|
6766
|
-
};
|
|
6767
5990
|
var _a, _b;
|
|
6768
5991
|
Core.is = is;
|
|
6769
5992
|
Core.check = check;
|