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