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