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