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