@idraw/core 0.4.0-alpha.4 → 0.4.0-alpha.5
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/esm/index.d.ts +2 -4
- package/dist/esm/index.js +34 -15
- package/dist/esm/middleware/ruler/index.js +17 -9
- package/dist/esm/middleware/ruler/util.js +10 -2
- package/dist/esm/middleware/scaler/index.js +5 -0
- package/dist/esm/middleware/scroller/util.js +2 -2
- package/dist/esm/middleware/selector/index.js +9 -1
- package/dist/esm/middleware/text-editor/index.d.ts +3 -0
- package/dist/esm/middleware/text-editor/index.js +132 -0
- package/dist/index.global.js +240 -43
- package/dist/index.global.min.js +1 -1
- package/package.json +5 -5
package/dist/index.global.js
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
var iDrawCore = function(exports) {
|
|
2
|
-
"use strict";
|
|
2
|
+
"use strict";var __accessCheck = (obj, member, msg) => {
|
|
3
|
+
if (!member.has(obj))
|
|
4
|
+
throw TypeError("Cannot " + msg);
|
|
5
|
+
};
|
|
6
|
+
var __privateGet = (obj, member, getter) => {
|
|
7
|
+
__accessCheck(obj, member, "read from private field");
|
|
8
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
9
|
+
};
|
|
10
|
+
var __privateAdd = (obj, member, value) => {
|
|
11
|
+
if (member.has(obj))
|
|
12
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
13
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
14
|
+
};
|
|
15
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
16
|
+
__accessCheck(obj, member, "write to private field");
|
|
17
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
18
|
+
return value;
|
|
19
|
+
};
|
|
20
|
+
var __privateMethod = (obj, member, method) => {
|
|
21
|
+
__accessCheck(obj, member, "access private method");
|
|
22
|
+
return method;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var _board, _container, _initContainer, initContainer_fn;
|
|
3
26
|
function throttle(fn, timeout) {
|
|
4
27
|
let timer = -1;
|
|
5
28
|
return function(...args) {
|
|
@@ -1348,7 +1371,7 @@ var iDrawCore = function(exports) {
|
|
|
1348
1371
|
}
|
|
1349
1372
|
function getDefaultElementDetailConfig() {
|
|
1350
1373
|
const config = {
|
|
1351
|
-
boxSizing: "
|
|
1374
|
+
boxSizing: "center-line",
|
|
1352
1375
|
borderWidth: 0,
|
|
1353
1376
|
borderColor: "#000000",
|
|
1354
1377
|
shadowColor: "#000000",
|
|
@@ -2972,9 +2995,9 @@ var iDrawCore = function(exports) {
|
|
|
2972
2995
|
return data;
|
|
2973
2996
|
}
|
|
2974
2997
|
use(middleware) {
|
|
2975
|
-
const { viewContent } = this._opts;
|
|
2998
|
+
const { viewContent, container } = this._opts;
|
|
2976
2999
|
const { _sharer: sharer, _viewer: viewer, _calculator: calculator, _eventHub: eventHub } = this;
|
|
2977
|
-
const obj = middleware({ viewContent, sharer, viewer, calculator, eventHub });
|
|
3000
|
+
const obj = middleware({ viewContent, sharer, viewer, calculator, eventHub, container });
|
|
2978
3001
|
this._middlewares.push(middleware);
|
|
2979
3002
|
this._activeMiddlewareObjs.push(obj);
|
|
2980
3003
|
}
|
|
@@ -3958,6 +3981,140 @@ var iDrawCore = function(exports) {
|
|
|
3958
3981
|
moveY
|
|
3959
3982
|
};
|
|
3960
3983
|
}
|
|
3984
|
+
const middlewareEventTextEdit = "@middleware/text-edit";
|
|
3985
|
+
const defaultElementDetail = getDefaultElementDetailConfig();
|
|
3986
|
+
const MiddlewareTextEditor = (opts) => {
|
|
3987
|
+
const key2 = "SELECT";
|
|
3988
|
+
const { eventHub, viewContent, viewer } = opts;
|
|
3989
|
+
const canvas = viewContent.boardContext.canvas;
|
|
3990
|
+
const textarea = document.createElement("textarea");
|
|
3991
|
+
const canvasWrapper = document.createElement("div");
|
|
3992
|
+
const container = opts.container || document.body;
|
|
3993
|
+
const mask = document.createElement("div");
|
|
3994
|
+
let activeElem = null;
|
|
3995
|
+
canvasWrapper.appendChild(textarea);
|
|
3996
|
+
canvasWrapper.style.position = "absolute";
|
|
3997
|
+
mask.appendChild(canvasWrapper);
|
|
3998
|
+
mask.style.position = "fixed";
|
|
3999
|
+
mask.style.top = "0";
|
|
4000
|
+
mask.style.bottom = "0";
|
|
4001
|
+
mask.style.left = "0";
|
|
4002
|
+
mask.style.right = "0";
|
|
4003
|
+
mask.style.display = "none";
|
|
4004
|
+
container.appendChild(mask);
|
|
4005
|
+
const showTextArea = (e) => {
|
|
4006
|
+
resetCanvasWrapper();
|
|
4007
|
+
resetTextArea(e);
|
|
4008
|
+
mask.style.display = "block";
|
|
4009
|
+
};
|
|
4010
|
+
const hideTextArea = () => {
|
|
4011
|
+
mask.style.display = "none";
|
|
4012
|
+
activeElem = null;
|
|
4013
|
+
};
|
|
4014
|
+
const getCanvasRect = () => {
|
|
4015
|
+
const clientRect = canvas.getBoundingClientRect();
|
|
4016
|
+
const { left, top, width, height } = clientRect;
|
|
4017
|
+
return { left, top, width, height };
|
|
4018
|
+
};
|
|
4019
|
+
const createBox = (opts2) => {
|
|
4020
|
+
const { size, parent } = opts2;
|
|
4021
|
+
const div = document.createElement("div");
|
|
4022
|
+
const { x: x2, y: y2, w: w2, h: h2 } = size;
|
|
4023
|
+
const angle2 = limitAngle(size.angle || 0);
|
|
4024
|
+
div.style.position = "absolute";
|
|
4025
|
+
div.style.left = `${x2}px`;
|
|
4026
|
+
div.style.top = `${y2}px`;
|
|
4027
|
+
div.style.width = `${w2}px`;
|
|
4028
|
+
div.style.height = `${h2}px`;
|
|
4029
|
+
div.style.transform = `rotate(${angle2}deg)`;
|
|
4030
|
+
parent.appendChild(div);
|
|
4031
|
+
return div;
|
|
4032
|
+
};
|
|
4033
|
+
const resetTextArea = (e) => {
|
|
4034
|
+
const { viewScaleInfo, element, groupQueue } = e;
|
|
4035
|
+
const { scale, offsetTop, offsetLeft } = viewScaleInfo;
|
|
4036
|
+
if (canvasWrapper.children) {
|
|
4037
|
+
Array.from(canvasWrapper.children).forEach((child) => {
|
|
4038
|
+
child.remove();
|
|
4039
|
+
});
|
|
4040
|
+
}
|
|
4041
|
+
let parent = canvasWrapper;
|
|
4042
|
+
for (let i = 0; i < groupQueue.length; i++) {
|
|
4043
|
+
const group = groupQueue[i];
|
|
4044
|
+
const { x: x2, y: y2, w: w2, h: h2 } = group;
|
|
4045
|
+
const angle2 = limitAngle(group.angle || 0);
|
|
4046
|
+
const size = {
|
|
4047
|
+
x: x2 * scale,
|
|
4048
|
+
y: y2 * scale,
|
|
4049
|
+
w: w2 * scale,
|
|
4050
|
+
h: h2 * scale,
|
|
4051
|
+
angle: angle2
|
|
4052
|
+
};
|
|
4053
|
+
if (i === 0) {
|
|
4054
|
+
size.x += offsetLeft;
|
|
4055
|
+
size.y += offsetTop;
|
|
4056
|
+
}
|
|
4057
|
+
parent = createBox({ size, parent });
|
|
4058
|
+
}
|
|
4059
|
+
const detail = {
|
|
4060
|
+
...defaultElementDetail,
|
|
4061
|
+
...element.detail
|
|
4062
|
+
};
|
|
4063
|
+
textarea.style.position = "absolute";
|
|
4064
|
+
textarea.style.left = `${element.x * scale}px`;
|
|
4065
|
+
textarea.style.top = `${element.y * scale}px`;
|
|
4066
|
+
textarea.style.width = `${element.w * scale}px`;
|
|
4067
|
+
textarea.style.height = `${element.h * scale}px`;
|
|
4068
|
+
textarea.style.transform = `rotate(${limitAngle(element.angle || 0)}deg)`;
|
|
4069
|
+
textarea.style.border = "none";
|
|
4070
|
+
textarea.style.resize = "none";
|
|
4071
|
+
textarea.style.overflow = "hidden";
|
|
4072
|
+
textarea.style.wordBreak = "break-all";
|
|
4073
|
+
textarea.style.background = "#FFFFFF";
|
|
4074
|
+
textarea.style.color = "#333333";
|
|
4075
|
+
textarea.style.fontSize = `${detail.fontSize * scale}px`;
|
|
4076
|
+
textarea.style.lineHeight = `${detail.lineHeight * scale}px`;
|
|
4077
|
+
textarea.style.fontFamily = detail.fontFamily;
|
|
4078
|
+
textarea.style.fontWeight = `${detail.fontWeight}`;
|
|
4079
|
+
textarea.value = detail.text || "";
|
|
4080
|
+
parent.appendChild(textarea);
|
|
4081
|
+
};
|
|
4082
|
+
const resetCanvasWrapper = () => {
|
|
4083
|
+
const { left, top, width, height } = getCanvasRect();
|
|
4084
|
+
canvasWrapper.style.position = "absolute";
|
|
4085
|
+
canvasWrapper.style.overflow = "hidden";
|
|
4086
|
+
canvasWrapper.style.top = `${top}px`;
|
|
4087
|
+
canvasWrapper.style.left = `${left}px`;
|
|
4088
|
+
canvasWrapper.style.width = `${width}px`;
|
|
4089
|
+
canvasWrapper.style.height = `${height}px`;
|
|
4090
|
+
};
|
|
4091
|
+
mask.addEventListener("click", () => {
|
|
4092
|
+
hideTextArea();
|
|
4093
|
+
});
|
|
4094
|
+
textarea.addEventListener("click", (e) => {
|
|
4095
|
+
e.stopPropagation();
|
|
4096
|
+
});
|
|
4097
|
+
textarea.addEventListener("input", (e) => {
|
|
4098
|
+
if (activeElem) {
|
|
4099
|
+
activeElem.detail.text = e.target.value || "";
|
|
4100
|
+
viewer.drawFrame();
|
|
4101
|
+
}
|
|
4102
|
+
});
|
|
4103
|
+
textarea.addEventListener("blur", () => {
|
|
4104
|
+
hideTextArea();
|
|
4105
|
+
});
|
|
4106
|
+
eventHub.on(middlewareEventTextEdit, (e) => {
|
|
4107
|
+
var _a;
|
|
4108
|
+
if ((e == null ? void 0 : e.element) && ((_a = e == null ? void 0 : e.element) == null ? void 0 : _a.type) === "text") {
|
|
4109
|
+
activeElem = e.element;
|
|
4110
|
+
}
|
|
4111
|
+
showTextArea(e);
|
|
4112
|
+
});
|
|
4113
|
+
return {
|
|
4114
|
+
mode: key2,
|
|
4115
|
+
isDefault: true
|
|
4116
|
+
};
|
|
4117
|
+
};
|
|
3961
4118
|
const middlewareEventSelect = "@middleware/select";
|
|
3962
4119
|
const MiddlewareSelector = (opts) => {
|
|
3963
4120
|
const { viewer, sharer, viewContent, calculator, eventHub } = opts;
|
|
@@ -4331,7 +4488,7 @@ var iDrawCore = function(exports) {
|
|
|
4331
4488
|
viewer.drawFrame();
|
|
4332
4489
|
},
|
|
4333
4490
|
doubleClick(e) {
|
|
4334
|
-
var _a;
|
|
4491
|
+
var _a, _b;
|
|
4335
4492
|
const target = getPointTarget(e.point, pointTargetBaseOptions());
|
|
4336
4493
|
if (target.elements.length === 1 && ((_a = target.elements[0]) == null ? void 0 : _a.type) === "group") {
|
|
4337
4494
|
const pushResult = pushGroupQueue(target.elements[0]);
|
|
@@ -4340,6 +4497,12 @@ var iDrawCore = function(exports) {
|
|
|
4340
4497
|
viewer.drawFrame();
|
|
4341
4498
|
return;
|
|
4342
4499
|
}
|
|
4500
|
+
} else if (target.elements.length === 1 && ((_b = target.elements[0]) == null ? void 0 : _b.type) === "text") {
|
|
4501
|
+
eventHub.trigger(middlewareEventTextEdit, {
|
|
4502
|
+
element: target.elements[0],
|
|
4503
|
+
groupQueue: sharer.getSharedStorage(keyGroupQueue) || [],
|
|
4504
|
+
viewScaleInfo: sharer.getActiveViewScaleInfo()
|
|
4505
|
+
});
|
|
4343
4506
|
}
|
|
4344
4507
|
sharer.setSharedStorage(keyActionType, null);
|
|
4345
4508
|
},
|
|
@@ -4445,19 +4608,19 @@ var iDrawCore = function(exports) {
|
|
|
4445
4608
|
const { width, height } = viewSizeInfo;
|
|
4446
4609
|
const { offsetTop, offsetBottom, offsetLeft, offsetRight } = viewScaleInfo;
|
|
4447
4610
|
const sliderMinSize = scrollerLineWidth * 2.5;
|
|
4448
|
-
const
|
|
4611
|
+
const lineSize2 = scrollerLineWidth;
|
|
4449
4612
|
let xSize = 0;
|
|
4450
4613
|
let ySize = 0;
|
|
4451
|
-
xSize = Math.max(sliderMinSize, width - (Math.abs(offsetLeft) + Math.abs(offsetRight)));
|
|
4614
|
+
xSize = Math.max(sliderMinSize, width - lineSize2 * 2 - (Math.abs(offsetLeft) + Math.abs(offsetRight)));
|
|
4452
4615
|
if (xSize >= width) {
|
|
4453
4616
|
xSize = width;
|
|
4454
4617
|
}
|
|
4455
|
-
ySize = Math.max(sliderMinSize, height - (Math.abs(offsetTop) + Math.abs(offsetBottom)));
|
|
4618
|
+
ySize = Math.max(sliderMinSize, height - lineSize2 * 2 - (Math.abs(offsetTop) + Math.abs(offsetBottom)));
|
|
4456
4619
|
if (ySize >= height) {
|
|
4457
4620
|
ySize = height;
|
|
4458
4621
|
}
|
|
4459
|
-
const xStart =
|
|
4460
|
-
const xEnd = width - xSize -
|
|
4622
|
+
const xStart = lineSize2;
|
|
4623
|
+
const xEnd = width - xSize - lineSize2;
|
|
4461
4624
|
let translateX = xStart;
|
|
4462
4625
|
if (offsetLeft > 0) {
|
|
4463
4626
|
translateX = xStart;
|
|
@@ -4467,8 +4630,8 @@ var iDrawCore = function(exports) {
|
|
|
4467
4630
|
translateX = xStart + (width - xSize) * Math.abs(offsetLeft) / (Math.abs(offsetLeft) + Math.abs(offsetRight));
|
|
4468
4631
|
translateX = Math.min(Math.max(0, translateX - xStart), width - xSize);
|
|
4469
4632
|
}
|
|
4470
|
-
const yStart =
|
|
4471
|
-
const yEnd = height - ySize -
|
|
4633
|
+
const yStart = lineSize2;
|
|
4634
|
+
const yEnd = height - ySize - lineSize2;
|
|
4472
4635
|
let translateY = yStart;
|
|
4473
4636
|
if (offsetTop > 0) {
|
|
4474
4637
|
translateY = yStart;
|
|
@@ -4480,18 +4643,18 @@ var iDrawCore = function(exports) {
|
|
|
4480
4643
|
}
|
|
4481
4644
|
const xThumbRect = {
|
|
4482
4645
|
x: translateX,
|
|
4483
|
-
y: height -
|
|
4646
|
+
y: height - lineSize2,
|
|
4484
4647
|
w: xSize,
|
|
4485
|
-
h:
|
|
4648
|
+
h: lineSize2
|
|
4486
4649
|
};
|
|
4487
4650
|
const yThumbRect = {
|
|
4488
|
-
x: width -
|
|
4651
|
+
x: width - lineSize2,
|
|
4489
4652
|
y: translateY,
|
|
4490
|
-
w:
|
|
4653
|
+
w: lineSize2,
|
|
4491
4654
|
h: ySize
|
|
4492
4655
|
};
|
|
4493
4656
|
const scrollWrapper = {
|
|
4494
|
-
lineSize,
|
|
4657
|
+
lineSize: lineSize2,
|
|
4495
4658
|
xSize,
|
|
4496
4659
|
ySize,
|
|
4497
4660
|
translateY,
|
|
@@ -4696,6 +4859,8 @@ var iDrawCore = function(exports) {
|
|
|
4696
4859
|
const MiddlewareScaler = (opts) => {
|
|
4697
4860
|
const key2 = "SCALE";
|
|
4698
4861
|
const { viewer, sharer, eventHub } = opts;
|
|
4862
|
+
const maxScale = 50;
|
|
4863
|
+
const minScale = 0.05;
|
|
4699
4864
|
return {
|
|
4700
4865
|
mode: key2,
|
|
4701
4866
|
isDefault: true,
|
|
@@ -4708,6 +4873,9 @@ var iDrawCore = function(exports) {
|
|
|
4708
4873
|
} else if (deltaY > 0) {
|
|
4709
4874
|
newScaleNum = scale * 0.9;
|
|
4710
4875
|
}
|
|
4876
|
+
if (newScaleNum < minScale || newScaleNum > maxScale) {
|
|
4877
|
+
return;
|
|
4878
|
+
}
|
|
4711
4879
|
const { moveX, moveY } = viewer.scale({ scale: newScaleNum, point });
|
|
4712
4880
|
viewer.scroll({ moveX, moveY });
|
|
4713
4881
|
viewer.drawFrame();
|
|
@@ -4726,12 +4894,13 @@ var iDrawCore = function(exports) {
|
|
|
4726
4894
|
const fontWeight = 100;
|
|
4727
4895
|
const gridColor = "#AAAAAA30";
|
|
4728
4896
|
const gridKeyColor = "#AAAAAA70";
|
|
4897
|
+
const lineSize = 1;
|
|
4729
4898
|
function calcRulerScaleList(opts) {
|
|
4730
4899
|
const { scale, viewLength, viewOffset } = opts;
|
|
4731
4900
|
const list = [];
|
|
4732
4901
|
let rulerUnit = 10;
|
|
4733
4902
|
rulerUnit = formatNumber(rulerUnit / scale, { decimalPlaces: 0 });
|
|
4734
|
-
rulerUnit = Math.max(
|
|
4903
|
+
rulerUnit = Math.max(10, Math.min(rulerUnit, 1e3));
|
|
4735
4904
|
const rulerKeyUnit = rulerUnit * 10;
|
|
4736
4905
|
const rulerSubKeyUnit = rulerUnit * 5;
|
|
4737
4906
|
let index = 0;
|
|
@@ -4794,6 +4963,8 @@ var iDrawCore = function(exports) {
|
|
|
4794
4963
|
ctx.moveTo(item.position, scaleDrawStart);
|
|
4795
4964
|
ctx.lineTo(item.position, item.isKeyNum ? keyScaleDrawEnd : item.isSubKeyNum ? subKeyScaleDrawEnd : scaleDrawEnd);
|
|
4796
4965
|
ctx.closePath();
|
|
4966
|
+
ctx.lineWidth = lineSize;
|
|
4967
|
+
ctx.setLineDash([]);
|
|
4797
4968
|
ctx.fillStyle = scaleColor;
|
|
4798
4969
|
ctx.stroke();
|
|
4799
4970
|
if (item.isKeyNum) {
|
|
@@ -4825,6 +4996,8 @@ var iDrawCore = function(exports) {
|
|
|
4825
4996
|
ctx.lineTo(item.isKeyNum ? keyScaleDrawEnd : item.isSubKeyNum ? subKeyScaleDrawEnd : scaleDrawEnd, item.position);
|
|
4826
4997
|
ctx.closePath();
|
|
4827
4998
|
ctx.fillStyle = scaleColor;
|
|
4999
|
+
ctx.lineWidth = lineSize;
|
|
5000
|
+
ctx.setLineDash([]);
|
|
4828
5001
|
ctx.stroke();
|
|
4829
5002
|
if (item.showNum === true) {
|
|
4830
5003
|
const textX = fontStart;
|
|
@@ -4857,6 +5030,8 @@ var iDrawCore = function(exports) {
|
|
|
4857
5030
|
ctx.closePath();
|
|
4858
5031
|
ctx.fillStyle = background;
|
|
4859
5032
|
ctx.fill();
|
|
5033
|
+
ctx.lineWidth = lineSize;
|
|
5034
|
+
ctx.setLineDash([]);
|
|
4860
5035
|
ctx.strokeStyle = borderColor;
|
|
4861
5036
|
ctx.stroke();
|
|
4862
5037
|
}
|
|
@@ -4873,8 +5048,9 @@ var iDrawCore = function(exports) {
|
|
|
4873
5048
|
} else {
|
|
4874
5049
|
ctx.strokeStyle = gridColor;
|
|
4875
5050
|
}
|
|
4876
|
-
ctx.lineWidth = 1;
|
|
4877
5051
|
ctx.closePath();
|
|
5052
|
+
ctx.lineWidth = lineSize;
|
|
5053
|
+
ctx.setLineDash([]);
|
|
4878
5054
|
ctx.stroke();
|
|
4879
5055
|
}
|
|
4880
5056
|
for (let i = 0; i < yList.length; i++) {
|
|
@@ -4897,10 +5073,16 @@ var iDrawCore = function(exports) {
|
|
|
4897
5073
|
const key2 = "RULE";
|
|
4898
5074
|
const { viewContent, viewer, eventHub } = opts;
|
|
4899
5075
|
const { helperContext, underContext } = viewContent;
|
|
4900
|
-
let
|
|
5076
|
+
let show = true;
|
|
5077
|
+
let showGrid = true;
|
|
4901
5078
|
eventHub.on(middlewareEventRuler, (e) => {
|
|
4902
5079
|
if (typeof (e == null ? void 0 : e.show) === "boolean") {
|
|
4903
|
-
|
|
5080
|
+
show = e.show;
|
|
5081
|
+
}
|
|
5082
|
+
if (typeof (e == null ? void 0 : e.showGrid) === "boolean") {
|
|
5083
|
+
showGrid = e.showGrid;
|
|
5084
|
+
}
|
|
5085
|
+
if (typeof (e == null ? void 0 : e.show) === "boolean" || typeof (e == null ? void 0 : e.showGrid) === "boolean") {
|
|
4904
5086
|
viewer.drawFrame();
|
|
4905
5087
|
}
|
|
4906
5088
|
});
|
|
@@ -4908,7 +5090,7 @@ var iDrawCore = function(exports) {
|
|
|
4908
5090
|
mode: key2,
|
|
4909
5091
|
isDefault: true,
|
|
4910
5092
|
beforeDrawFrame: ({ snapshot }) => {
|
|
4911
|
-
if (
|
|
5093
|
+
if (show === true) {
|
|
4912
5094
|
const viewScaleInfo = getViewScaleInfoFromSnapshot(snapshot);
|
|
4913
5095
|
const viewSizeInfo = getViewSizeInfoFromSnapshot(snapshot);
|
|
4914
5096
|
drawRulerBackground(helperContext, { viewScaleInfo, viewSizeInfo });
|
|
@@ -4916,27 +5098,33 @@ var iDrawCore = function(exports) {
|
|
|
4916
5098
|
drawXRuler(helperContext, { scaleList: xList });
|
|
4917
5099
|
const yList = calcYRulerScaleList({ viewScaleInfo, viewSizeInfo });
|
|
4918
5100
|
drawYRuler(helperContext, { scaleList: yList });
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
|
|
4922
|
-
|
|
4923
|
-
|
|
4924
|
-
|
|
5101
|
+
if (showGrid === true) {
|
|
5102
|
+
drawUnderGrid(underContext, {
|
|
5103
|
+
xList,
|
|
5104
|
+
yList,
|
|
5105
|
+
viewScaleInfo,
|
|
5106
|
+
viewSizeInfo
|
|
5107
|
+
});
|
|
5108
|
+
}
|
|
4925
5109
|
}
|
|
4926
5110
|
}
|
|
4927
5111
|
};
|
|
4928
5112
|
};
|
|
4929
5113
|
class Core {
|
|
4930
5114
|
constructor(container, opts) {
|
|
5115
|
+
__privateAdd(this, _initContainer);
|
|
5116
|
+
__privateAdd(this, _board, void 0);
|
|
5117
|
+
// #opts: CoreOptions;
|
|
5118
|
+
// #canvas: HTMLCanvasElement;
|
|
5119
|
+
__privateAdd(this, _container, void 0);
|
|
4931
5120
|
const { devicePixelRatio = 1, width, height } = opts;
|
|
4932
|
-
this
|
|
4933
|
-
this._container = container;
|
|
5121
|
+
__privateSet(this, _container, container);
|
|
4934
5122
|
const canvas = document.createElement("canvas");
|
|
4935
|
-
this
|
|
5123
|
+
__privateMethod(this, _initContainer, initContainer_fn).call(this);
|
|
4936
5124
|
container.appendChild(canvas);
|
|
4937
5125
|
const ctx = canvas.getContext("2d");
|
|
4938
5126
|
const viewContent = createBoardContexts(ctx, { devicePixelRatio });
|
|
4939
|
-
const board = new Board({ viewContent });
|
|
5127
|
+
const board = new Board({ viewContent, container });
|
|
4940
5128
|
const sharer = board.getSharer();
|
|
4941
5129
|
sharer.setActiveViewSizeInfo({
|
|
4942
5130
|
width,
|
|
@@ -4945,7 +5133,7 @@ var iDrawCore = function(exports) {
|
|
|
4945
5133
|
contextWidth: width,
|
|
4946
5134
|
contextHeight: height
|
|
4947
5135
|
});
|
|
4948
|
-
this
|
|
5136
|
+
__privateSet(this, _board, board);
|
|
4949
5137
|
this.resize(sharer.getActiveViewSizeInfo());
|
|
4950
5138
|
const eventHub = board.getEventHub();
|
|
4951
5139
|
new Cursor(container, {
|
|
@@ -4953,22 +5141,22 @@ var iDrawCore = function(exports) {
|
|
|
4953
5141
|
});
|
|
4954
5142
|
}
|
|
4955
5143
|
use(middleware) {
|
|
4956
|
-
this
|
|
5144
|
+
__privateGet(this, _board).use(middleware);
|
|
4957
5145
|
}
|
|
4958
5146
|
setData(data) {
|
|
4959
5147
|
validateElements((data == null ? void 0 : data.elements) || []);
|
|
4960
|
-
this
|
|
5148
|
+
__privateGet(this, _board).setData(data);
|
|
4961
5149
|
}
|
|
4962
5150
|
getData() {
|
|
4963
|
-
return this
|
|
5151
|
+
return __privateGet(this, _board).getData();
|
|
4964
5152
|
}
|
|
4965
5153
|
scale(opts) {
|
|
4966
|
-
this
|
|
4967
|
-
const viewer = this
|
|
5154
|
+
__privateGet(this, _board).scale(opts);
|
|
5155
|
+
const viewer = __privateGet(this, _board).getViewer();
|
|
4968
5156
|
viewer.drawFrame();
|
|
4969
5157
|
}
|
|
4970
5158
|
resize(newViewSize) {
|
|
4971
|
-
const
|
|
5159
|
+
const board = __privateGet(this, _board);
|
|
4972
5160
|
const sharer = board.getSharer();
|
|
4973
5161
|
const viewSizeInfo = sharer.getActiveViewSizeInfo();
|
|
4974
5162
|
board.resize({
|
|
@@ -4977,29 +5165,38 @@ var iDrawCore = function(exports) {
|
|
|
4977
5165
|
});
|
|
4978
5166
|
}
|
|
4979
5167
|
clear() {
|
|
4980
|
-
this
|
|
5168
|
+
__privateGet(this, _board).clear();
|
|
4981
5169
|
}
|
|
4982
5170
|
on(name, callback) {
|
|
4983
|
-
const eventHub = this
|
|
5171
|
+
const eventHub = __privateGet(this, _board).getEventHub();
|
|
4984
5172
|
eventHub.on(name, callback);
|
|
4985
5173
|
}
|
|
4986
5174
|
off(name, callback) {
|
|
4987
|
-
const eventHub = this
|
|
5175
|
+
const eventHub = __privateGet(this, _board).getEventHub();
|
|
4988
5176
|
eventHub.off(name, callback);
|
|
4989
5177
|
}
|
|
4990
5178
|
trigger(name, e) {
|
|
4991
|
-
const eventHub = this
|
|
5179
|
+
const eventHub = __privateGet(this, _board).getEventHub();
|
|
4992
5180
|
eventHub.trigger(name, e);
|
|
4993
5181
|
}
|
|
4994
5182
|
}
|
|
5183
|
+
_board = new WeakMap();
|
|
5184
|
+
_container = new WeakMap();
|
|
5185
|
+
_initContainer = new WeakSet();
|
|
5186
|
+
initContainer_fn = function() {
|
|
5187
|
+
const container = __privateGet(this, _container);
|
|
5188
|
+
container.style.position = "relative";
|
|
5189
|
+
};
|
|
4995
5190
|
exports.Core = Core;
|
|
4996
5191
|
exports.MiddlewareRuler = MiddlewareRuler;
|
|
4997
5192
|
exports.MiddlewareScaler = MiddlewareScaler;
|
|
4998
5193
|
exports.MiddlewareScroller = MiddlewareScroller;
|
|
4999
5194
|
exports.MiddlewareSelector = MiddlewareSelector;
|
|
5195
|
+
exports.MiddlewareTextEditor = MiddlewareTextEditor;
|
|
5000
5196
|
exports.middlewareEventRuler = middlewareEventRuler;
|
|
5001
5197
|
exports.middlewareEventScale = middlewareEventScale;
|
|
5002
5198
|
exports.middlewareEventSelect = middlewareEventSelect;
|
|
5199
|
+
exports.middlewareEventTextEdit = middlewareEventTextEdit;
|
|
5003
5200
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
5004
5201
|
return exports;
|
|
5005
5202
|
}({});
|