@netless/forge-whiteboard 1.0.0-alpha.1 → 1.0.1
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/Whiteboard.d.ts +2 -1
- package/dist/Whiteboard.d.ts.map +1 -1
- package/dist/WhiteboardApplication.d.ts +1 -1
- package/dist/WhiteboardApplication.d.ts.map +1 -1
- package/dist/model/renderable/ElementModel.d.ts.map +1 -1
- package/dist/tool/CurveTool.d.ts +1 -1
- package/dist/tool/CurveTool.d.ts.map +1 -1
- package/dist/tool/EllipseTool.d.ts +1 -1
- package/dist/tool/EllipseTool.d.ts.map +1 -1
- package/dist/tool/EraserTool.d.ts +1 -1
- package/dist/tool/EraserTool.d.ts.map +1 -1
- package/dist/tool/GrabTool.d.ts +1 -1
- package/dist/tool/GrabTool.d.ts.map +1 -1
- package/dist/tool/LaserPointerTool.d.ts +1 -1
- package/dist/tool/LaserPointerTool.d.ts.map +1 -1
- package/dist/tool/LineTool.d.ts +1 -1
- package/dist/tool/LineTool.d.ts.map +1 -1
- package/dist/tool/PointerTool.d.ts +1 -1
- package/dist/tool/PointerTool.d.ts.map +1 -1
- package/dist/tool/RectangleTool.d.ts +1 -1
- package/dist/tool/RectangleTool.d.ts.map +1 -1
- package/dist/tool/SelectorTool.d.ts +1 -1
- package/dist/tool/SelectorTool.d.ts.map +1 -1
- package/dist/tool/StraightLineTool.d.ts +1 -1
- package/dist/tool/StraightLineTool.d.ts.map +1 -1
- package/dist/tool/TextTool.d.ts +1 -1
- package/dist/tool/TextTool.d.ts.map +1 -1
- package/dist/tool/TriangleTool.d.ts +1 -1
- package/dist/tool/TriangleTool.d.ts.map +1 -1
- package/dist/tool/WhiteboardTool.d.ts +2 -2
- package/dist/tool/WhiteboardTool.d.ts.map +1 -1
- package/dist/whiteboard.esm.js +199 -99
- package/dist/whiteboard.esm.js.map +2 -2
- package/dist/whiteboard.js +199 -99
- package/dist/whiteboard.js.map +2 -2
- package/package.json +2 -2
package/dist/whiteboard.esm.js
CHANGED
|
@@ -25853,7 +25853,11 @@ var ElementModel = class _ElementModel {
|
|
|
25853
25853
|
return this.root.get(_ElementModel.KEYS.pointsMatrix) || [1, 0, 0, 1, 0, 0];
|
|
25854
25854
|
}
|
|
25855
25855
|
get points() {
|
|
25856
|
-
|
|
25856
|
+
const list = this.root.get(_ElementModel.KEYS.points);
|
|
25857
|
+
if (list) {
|
|
25858
|
+
return list.toArray();
|
|
25859
|
+
}
|
|
25860
|
+
return [];
|
|
25857
25861
|
}
|
|
25858
25862
|
set ownerId(value) {
|
|
25859
25863
|
this.root.set(_ElementModel.KEYS.ownerId, value);
|
|
@@ -26517,7 +26521,12 @@ var LineTool = class extends WhiteboardTool {
|
|
|
26517
26521
|
if (this.elementModel) {
|
|
26518
26522
|
this.elementModel.dispose();
|
|
26519
26523
|
}
|
|
26520
|
-
this.elementModel =
|
|
26524
|
+
this.elementModel = null;
|
|
26525
|
+
this.modelGetter().then((model) => {
|
|
26526
|
+
if (model) {
|
|
26527
|
+
this.elementModel = model.createLinePath(true);
|
|
26528
|
+
}
|
|
26529
|
+
});
|
|
26521
26530
|
this.from = event.point.clone();
|
|
26522
26531
|
this.to = event.point.clone();
|
|
26523
26532
|
}
|
|
@@ -28447,7 +28456,12 @@ var CurveTool = class extends WhiteboardTool {
|
|
|
28447
28456
|
if (this.elementModel) {
|
|
28448
28457
|
this.elementModel.dispose();
|
|
28449
28458
|
}
|
|
28450
|
-
this.elementModel =
|
|
28459
|
+
this.elementModel = null;
|
|
28460
|
+
this.modelGetter().then((model) => {
|
|
28461
|
+
if (model) {
|
|
28462
|
+
this.elementModel = model.createCurve(true);
|
|
28463
|
+
}
|
|
28464
|
+
});
|
|
28451
28465
|
}
|
|
28452
28466
|
onMouseDrag(event) {
|
|
28453
28467
|
if (this.pointCount > 1024) {
|
|
@@ -28474,34 +28488,41 @@ var CurveTool = class extends WhiteboardTool {
|
|
|
28474
28488
|
}
|
|
28475
28489
|
}
|
|
28476
28490
|
onMouseUp(event) {
|
|
28477
|
-
|
|
28478
|
-
|
|
28479
|
-
|
|
28480
|
-
|
|
28481
|
-
this.elementModel
|
|
28482
|
-
|
|
28483
|
-
|
|
28484
|
-
const result = this.recognizer.recognize(this.elementModel.points);
|
|
28485
|
-
if (result) {
|
|
28486
|
-
this.modelGetter().removeElementItem(this.elementModel.uuid);
|
|
28487
|
-
if (/^rectangle/.test(result.shape)) {
|
|
28488
|
-
const model = this.modelGetter().createRectangle(false);
|
|
28489
|
-
model?.setPoints([result.minX, result.minY, result.maxX, result.maxY]);
|
|
28490
|
-
} else if (/^circle/.test(result.shape)) {
|
|
28491
|
-
const model = this.modelGetter().createSegmentedPath("ellipse", false);
|
|
28492
|
-
const rect = new this.scope.Rectangle(new this.scope.Point(result.minX, result.minY), new this.scope.Point(result.maxX, result.maxY));
|
|
28493
|
-
const pathRect = new this.scope.Path.Ellipse(rect);
|
|
28494
|
-
const points = serializePath(pathRect);
|
|
28495
|
-
model?.setPoints(points);
|
|
28496
|
-
} else if (/^triangle/.test(result.shape)) {
|
|
28497
|
-
const model = this.modelGetter().createTriangle(false);
|
|
28498
|
-
model?.setPoints([result.minX + (result.maxX - result.minX) / 2, result.minY, result.minX, result.maxY, result.maxX, result.maxY]);
|
|
28499
|
-
} else if (/^arrow/.test(result.shape)) {
|
|
28500
|
-
const model = this.modelGetter().createLinePath(false);
|
|
28501
|
-
model?.setPoints([result.minX, (result.maxY + result.minY) / 2, result.maxX, (result.maxY + result.minY) / 2]);
|
|
28491
|
+
this.modelGetter().then((model) => {
|
|
28492
|
+
if (!model) {
|
|
28493
|
+
return;
|
|
28494
|
+
}
|
|
28495
|
+
if (this.pointCount < 3 && this.elementModel) {
|
|
28496
|
+
if (this.elementModel) {
|
|
28497
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
28502
28498
|
}
|
|
28503
28499
|
}
|
|
28504
|
-
|
|
28500
|
+
if (this.elementModel) {
|
|
28501
|
+
this.elementModel.shadow = "";
|
|
28502
|
+
}
|
|
28503
|
+
if (this.elementModel && event.event.metaKey) {
|
|
28504
|
+
const result = this.recognizer.recognize(this.elementModel.points);
|
|
28505
|
+
if (result) {
|
|
28506
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
28507
|
+
if (/^rectangle/.test(result.shape)) {
|
|
28508
|
+
const rect = model.createRectangle(false);
|
|
28509
|
+
rect?.setPoints([result.minX, result.minY, result.maxX, result.maxY]);
|
|
28510
|
+
} else if (/^circle/.test(result.shape)) {
|
|
28511
|
+
const circle = model.createSegmentedPath("ellipse", false);
|
|
28512
|
+
const rect = new this.scope.Rectangle(new this.scope.Point(result.minX, result.minY), new this.scope.Point(result.maxX, result.maxY));
|
|
28513
|
+
const pathRect = new this.scope.Path.Ellipse(rect);
|
|
28514
|
+
const points = serializePath(pathRect);
|
|
28515
|
+
circle?.setPoints(points);
|
|
28516
|
+
} else if (/^triangle/.test(result.shape)) {
|
|
28517
|
+
const triangle = model.createTriangle(false);
|
|
28518
|
+
triangle?.setPoints([result.minX + (result.maxX - result.minX) / 2, result.minY, result.minX, result.maxY, result.maxX, result.maxY]);
|
|
28519
|
+
} else if (/^arrow/.test(result.shape)) {
|
|
28520
|
+
const arrow = model.createLinePath(false);
|
|
28521
|
+
arrow?.setPoints([result.minX, (result.maxY + result.minY) / 2, result.maxX, (result.maxY + result.minY) / 2]);
|
|
28522
|
+
}
|
|
28523
|
+
}
|
|
28524
|
+
}
|
|
28525
|
+
});
|
|
28505
28526
|
}
|
|
28506
28527
|
};
|
|
28507
28528
|
|
|
@@ -28536,7 +28557,12 @@ var RectangleTool = class extends WhiteboardTool {
|
|
|
28536
28557
|
if (this.elementModel) {
|
|
28537
28558
|
this.elementModel.dispose();
|
|
28538
28559
|
}
|
|
28539
|
-
this.elementModel =
|
|
28560
|
+
this.elementModel = null;
|
|
28561
|
+
this.modelGetter().then((model) => {
|
|
28562
|
+
if (model) {
|
|
28563
|
+
this.elementModel = model.createRectangle(true);
|
|
28564
|
+
}
|
|
28565
|
+
});
|
|
28540
28566
|
this.from = event.point.clone();
|
|
28541
28567
|
this.to = event.point.clone();
|
|
28542
28568
|
}
|
|
@@ -28551,7 +28577,11 @@ var RectangleTool = class extends WhiteboardTool {
|
|
|
28551
28577
|
this.elementModel.shadow = "";
|
|
28552
28578
|
}
|
|
28553
28579
|
if (this.elementModel && this.from && this.from.getDistance(event.point) < 3) {
|
|
28554
|
-
this.modelGetter().
|
|
28580
|
+
this.modelGetter().then((model) => {
|
|
28581
|
+
if (model && this.elementModel) {
|
|
28582
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
28583
|
+
}
|
|
28584
|
+
});
|
|
28555
28585
|
}
|
|
28556
28586
|
}
|
|
28557
28587
|
};
|
|
@@ -28695,11 +28725,16 @@ var SelectorTool = class extends WhiteboardTool {
|
|
|
28695
28725
|
if (this.elementModel) {
|
|
28696
28726
|
this.elementModel.dispose();
|
|
28697
28727
|
}
|
|
28698
|
-
this.elementModel =
|
|
28699
|
-
this.
|
|
28700
|
-
|
|
28701
|
-
|
|
28702
|
-
|
|
28728
|
+
this.elementModel = null;
|
|
28729
|
+
this.modelGetter().then((model) => {
|
|
28730
|
+
if (model) {
|
|
28731
|
+
this.elementModel = model.createSelector();
|
|
28732
|
+
this.from = event.point.clone();
|
|
28733
|
+
this.to = event.point.clone();
|
|
28734
|
+
const rect = new this.scope.Rectangle(this.from, this.to);
|
|
28735
|
+
this.elementModel?.setPoints([rect.topLeft.x, rect.topLeft.y, rect.size.width, rect.size.height]);
|
|
28736
|
+
}
|
|
28737
|
+
});
|
|
28703
28738
|
this.selectElements.clear();
|
|
28704
28739
|
}
|
|
28705
28740
|
onMouseDrag(event) {
|
|
@@ -28721,7 +28756,11 @@ var SelectorTool = class extends WhiteboardTool {
|
|
|
28721
28756
|
}
|
|
28722
28757
|
onMouseUp(event) {
|
|
28723
28758
|
if (this.elementModel) {
|
|
28724
|
-
this.modelGetter().
|
|
28759
|
+
this.modelGetter().then((model) => {
|
|
28760
|
+
if (model && this.elementModel) {
|
|
28761
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
28762
|
+
}
|
|
28763
|
+
});
|
|
28725
28764
|
}
|
|
28726
28765
|
const elements = Array.from(this.selectElements.keys()).reduce((result, next) => {
|
|
28727
28766
|
result.push({
|
|
@@ -29666,41 +29705,46 @@ var TextTool = class extends WhiteboardTool {
|
|
|
29666
29705
|
if (this.elementModel) {
|
|
29667
29706
|
this.elementModel.dispose();
|
|
29668
29707
|
}
|
|
29669
|
-
this.elementModel =
|
|
29670
|
-
|
|
29671
|
-
|
|
29672
|
-
|
|
29673
|
-
|
|
29674
|
-
|
|
29675
|
-
editorContainer.style.cssText = `position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;width:${canvasBounds.width}px;height:${canvasBounds.height}px;`;
|
|
29676
|
-
const editor = new TextEditor(this.camera);
|
|
29677
|
-
editor.setOrigin(x, y);
|
|
29678
|
-
editorContainer.appendChild(editor.rootView);
|
|
29679
|
-
this.rootView.appendChild(editorContainer);
|
|
29680
|
-
editor.setFontSize(this.toolbarModel.fontSize);
|
|
29681
|
-
editor.setFontFamily(this.toolbarModel.fontFamily);
|
|
29682
|
-
this.camera.triggerZoom();
|
|
29683
|
-
editor.on("caretOutRight", () => {
|
|
29684
|
-
});
|
|
29685
|
-
editor.on("change", (content) => {
|
|
29686
|
-
if (this.elementModel) {
|
|
29687
|
-
this.elementModel.content = content;
|
|
29688
|
-
}
|
|
29689
|
-
});
|
|
29690
|
-
editor.on("done", () => {
|
|
29691
|
-
if (this.elementModel) {
|
|
29692
|
-
if (!this.elementModel.content || this.elementModel.content.length === 0) {
|
|
29693
|
-
this.modelGetter().removeElementItem(this.elementModel.uuid);
|
|
29694
|
-
} else {
|
|
29695
|
-
this.elementModel.shadow = "";
|
|
29708
|
+
this.elementModel = null;
|
|
29709
|
+
this.modelGetter().then((model) => {
|
|
29710
|
+
if (model) {
|
|
29711
|
+
this.elementModel = model.createPointText(x, y, true);
|
|
29712
|
+
if (this.elementModel === null) {
|
|
29713
|
+
return;
|
|
29696
29714
|
}
|
|
29715
|
+
const editorContainer = window.document.createElement("div");
|
|
29716
|
+
const canvasBounds = this.canvasElement.getBoundingClientRect();
|
|
29717
|
+
editorContainer.style.cssText = `position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;width:${canvasBounds.width}px;height:${canvasBounds.height}px;`;
|
|
29718
|
+
const editor = new TextEditor(this.camera);
|
|
29719
|
+
editor.setOrigin(x, y);
|
|
29720
|
+
editorContainer.appendChild(editor.rootView);
|
|
29721
|
+
this.rootView.appendChild(editorContainer);
|
|
29722
|
+
editor.setFontSize(this.toolbarModel.fontSize);
|
|
29723
|
+
editor.setFontFamily(this.toolbarModel.fontFamily);
|
|
29724
|
+
this.camera.triggerZoom();
|
|
29725
|
+
editor.on("caretOutRight", () => {
|
|
29726
|
+
});
|
|
29727
|
+
editor.on("change", (content) => {
|
|
29728
|
+
if (this.elementModel) {
|
|
29729
|
+
this.elementModel.content = content;
|
|
29730
|
+
}
|
|
29731
|
+
});
|
|
29732
|
+
editor.on("done", () => {
|
|
29733
|
+
if (this.elementModel) {
|
|
29734
|
+
if (!this.elementModel.content || this.elementModel.content.length === 0) {
|
|
29735
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
29736
|
+
} else {
|
|
29737
|
+
this.elementModel.shadow = "";
|
|
29738
|
+
}
|
|
29739
|
+
}
|
|
29740
|
+
editor.dispose();
|
|
29741
|
+
this.rootView.removeChild(editorContainer);
|
|
29742
|
+
});
|
|
29743
|
+
setTimeout(() => {
|
|
29744
|
+
editor.focus();
|
|
29745
|
+
}, 30);
|
|
29697
29746
|
}
|
|
29698
|
-
editor.dispose();
|
|
29699
|
-
this.rootView.removeChild(editorContainer);
|
|
29700
29747
|
});
|
|
29701
|
-
setTimeout(() => {
|
|
29702
|
-
editor.focus();
|
|
29703
|
-
}, 30);
|
|
29704
29748
|
}
|
|
29705
29749
|
};
|
|
29706
29750
|
|
|
@@ -30218,7 +30262,12 @@ var EllipseTool = class extends WhiteboardTool {
|
|
|
30218
30262
|
if (this.elementModel) {
|
|
30219
30263
|
this.elementModel.dispose();
|
|
30220
30264
|
}
|
|
30221
|
-
this.elementModel =
|
|
30265
|
+
this.elementModel = null;
|
|
30266
|
+
this.modelGetter().then((model) => {
|
|
30267
|
+
if (model) {
|
|
30268
|
+
this.elementModel = model.createSegmentedPath("ellipse", true);
|
|
30269
|
+
}
|
|
30270
|
+
});
|
|
30222
30271
|
this.from = event.point.clone();
|
|
30223
30272
|
this.to = event.point.clone();
|
|
30224
30273
|
}
|
|
@@ -30233,7 +30282,11 @@ var EllipseTool = class extends WhiteboardTool {
|
|
|
30233
30282
|
}
|
|
30234
30283
|
onMouseUp(event) {
|
|
30235
30284
|
if (this.elementModel && this.from && this.from.getDistance(event.point) < 3) {
|
|
30236
|
-
this.modelGetter().
|
|
30285
|
+
this.modelGetter().then((model) => {
|
|
30286
|
+
if (model && this.elementModel) {
|
|
30287
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
30288
|
+
}
|
|
30289
|
+
});
|
|
30237
30290
|
} else {
|
|
30238
30291
|
if (this.elementModel) {
|
|
30239
30292
|
this.elementModel.shadow = "";
|
|
@@ -30273,7 +30326,12 @@ var TriangleTool = class extends WhiteboardTool {
|
|
|
30273
30326
|
if (this.elementModel) {
|
|
30274
30327
|
this.elementModel.dispose();
|
|
30275
30328
|
}
|
|
30276
|
-
this.elementModel =
|
|
30329
|
+
this.elementModel = null;
|
|
30330
|
+
this.modelGetter().then((model) => {
|
|
30331
|
+
if (model) {
|
|
30332
|
+
this.elementModel = model.createTriangle(true);
|
|
30333
|
+
}
|
|
30334
|
+
});
|
|
30277
30335
|
this.from = event.point.clone();
|
|
30278
30336
|
this.to = event.point.clone();
|
|
30279
30337
|
}
|
|
@@ -30285,7 +30343,11 @@ var TriangleTool = class extends WhiteboardTool {
|
|
|
30285
30343
|
}
|
|
30286
30344
|
onMouseUp(event) {
|
|
30287
30345
|
if (this.elementModel && this.from && this.from.getDistance(event.point) < 3) {
|
|
30288
|
-
this.modelGetter().
|
|
30346
|
+
this.modelGetter().then((model) => {
|
|
30347
|
+
if (model && this.elementModel) {
|
|
30348
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
30349
|
+
}
|
|
30350
|
+
});
|
|
30289
30351
|
}
|
|
30290
30352
|
if (this.elementModel) {
|
|
30291
30353
|
this.elementModel.shadow = "";
|
|
@@ -30317,6 +30379,7 @@ var Whiteboard = class extends EventEmitter8 {
|
|
|
30317
30379
|
super();
|
|
30318
30380
|
_defineProperty31(this, "view", void 0);
|
|
30319
30381
|
_defineProperty31(this, "selfUserId", void 0);
|
|
30382
|
+
_defineProperty31(this, "window", void 0);
|
|
30320
30383
|
_defineProperty31(this, "permissions", void 0);
|
|
30321
30384
|
_defineProperty31(this, "tool", void 0);
|
|
30322
30385
|
_defineProperty31(this, "fontSize", void 0);
|
|
@@ -30400,7 +30463,12 @@ var EraserTool = class extends WhiteboardTool {
|
|
|
30400
30463
|
if (this.elementModel) {
|
|
30401
30464
|
this.elementModel.dispose();
|
|
30402
30465
|
}
|
|
30403
|
-
this.elementModel =
|
|
30466
|
+
this.elementModel = null;
|
|
30467
|
+
this.modelGetter().then((model) => {
|
|
30468
|
+
if (model) {
|
|
30469
|
+
this.elementModel = model.createEraser();
|
|
30470
|
+
}
|
|
30471
|
+
});
|
|
30404
30472
|
}
|
|
30405
30473
|
onMouseDrag(event) {
|
|
30406
30474
|
if (this.pointCount > 1024) {
|
|
@@ -30433,7 +30501,11 @@ var EraserTool = class extends WhiteboardTool {
|
|
|
30433
30501
|
}
|
|
30434
30502
|
onMouseUp(_event) {
|
|
30435
30503
|
if (this.elementModel) {
|
|
30436
|
-
this.modelGetter().
|
|
30504
|
+
this.modelGetter().then((model) => {
|
|
30505
|
+
if (model && this.elementModel) {
|
|
30506
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
30507
|
+
}
|
|
30508
|
+
});
|
|
30437
30509
|
}
|
|
30438
30510
|
this.trashedElementsModel.removeAllTrashedElementsForSelf();
|
|
30439
30511
|
}
|
|
@@ -30592,7 +30664,12 @@ var LaserPointerTool = class extends WhiteboardTool {
|
|
|
30592
30664
|
if (this.elementModel) {
|
|
30593
30665
|
this.elementModel.dispose();
|
|
30594
30666
|
}
|
|
30595
|
-
this.elementModel =
|
|
30667
|
+
this.elementModel = null;
|
|
30668
|
+
this.modelGetter().then((model) => {
|
|
30669
|
+
if (model) {
|
|
30670
|
+
this.elementModel = model.createLaserPointer();
|
|
30671
|
+
}
|
|
30672
|
+
});
|
|
30596
30673
|
}
|
|
30597
30674
|
onMouseDrag(event) {
|
|
30598
30675
|
if (this.pointCount > 1024) {
|
|
@@ -31218,7 +31295,12 @@ var StraightLineTool = class extends WhiteboardTool {
|
|
|
31218
31295
|
if (this.elementModel) {
|
|
31219
31296
|
this.elementModel.dispose();
|
|
31220
31297
|
}
|
|
31221
|
-
this.elementModel =
|
|
31298
|
+
this.elementModel = null;
|
|
31299
|
+
this.modelGetter().then((model) => {
|
|
31300
|
+
if (model) {
|
|
31301
|
+
this.elementModel = model.createStraightLine(true);
|
|
31302
|
+
}
|
|
31303
|
+
});
|
|
31222
31304
|
this.from = event.point.clone();
|
|
31223
31305
|
this.to = event.point.clone();
|
|
31224
31306
|
}
|
|
@@ -31233,7 +31315,11 @@ var StraightLineTool = class extends WhiteboardTool {
|
|
|
31233
31315
|
this.elementModel.shadow = "";
|
|
31234
31316
|
}
|
|
31235
31317
|
if (this.elementModel && this.from && this.from.getDistance(event.point) < 3) {
|
|
31236
|
-
this.modelGetter().
|
|
31318
|
+
this.modelGetter().then((model) => {
|
|
31319
|
+
if (model && this.elementModel) {
|
|
31320
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
31321
|
+
}
|
|
31322
|
+
});
|
|
31237
31323
|
}
|
|
31238
31324
|
}
|
|
31239
31325
|
};
|
|
@@ -31720,12 +31806,20 @@ var WhiteboardApplication = class extends AbstractApplication {
|
|
|
31720
31806
|
}
|
|
31721
31807
|
}
|
|
31722
31808
|
});
|
|
31723
|
-
_defineProperty43(this, "
|
|
31809
|
+
_defineProperty43(this, "getCurrentRendererModel", () => {
|
|
31724
31810
|
const layerId = this.userMap(this.userId).get(WhiteboardKeys.currentPage);
|
|
31725
|
-
if (
|
|
31726
|
-
this.
|
|
31811
|
+
if (this.layers.has(layerId)) {
|
|
31812
|
+
return Promise.resolve(this.layers.get(layerId));
|
|
31813
|
+
} else {
|
|
31814
|
+
return waitUntil(() => this.layers.has(layerId), 1e3).then(() => {
|
|
31815
|
+
if (this.layers.has(layerId)) {
|
|
31816
|
+
return this.layers.get(layerId);
|
|
31817
|
+
} else {
|
|
31818
|
+
this.emitter.emit("error", 300002, `target page: ${layerId} not found`);
|
|
31819
|
+
return null;
|
|
31820
|
+
}
|
|
31821
|
+
});
|
|
31727
31822
|
}
|
|
31728
|
-
return this.layers.get(layerId);
|
|
31729
31823
|
});
|
|
31730
31824
|
_defineProperty43(this, "handleElementClear", () => {
|
|
31731
31825
|
this.shadowScope.project.activeLayer.removeChildren();
|
|
@@ -32021,11 +32115,17 @@ var WhiteboardApplication = class extends AbstractApplication {
|
|
|
32021
32115
|
}
|
|
32022
32116
|
};
|
|
32023
32117
|
this.emitter.clearPage = () => {
|
|
32024
|
-
|
|
32025
|
-
|
|
32026
|
-
|
|
32027
|
-
|
|
32028
|
-
|
|
32118
|
+
this.getCurrentRendererModel().then((model) => {
|
|
32119
|
+
if (model) {
|
|
32120
|
+
if (model.elements.doc) {
|
|
32121
|
+
model.elements.doc.transact(() => {
|
|
32122
|
+
model.elements.clear();
|
|
32123
|
+
}, elementsUndoOrigin);
|
|
32124
|
+
} else {
|
|
32125
|
+
model.elementModels.clear();
|
|
32126
|
+
}
|
|
32127
|
+
}
|
|
32128
|
+
});
|
|
32029
32129
|
};
|
|
32030
32130
|
this.emitter.undo = () => {
|
|
32031
32131
|
this.undoManager?.undo();
|
|
@@ -32247,18 +32347,18 @@ var WhiteboardApplication = class extends AbstractApplication {
|
|
|
32247
32347
|
return this.userMap(userId);
|
|
32248
32348
|
});
|
|
32249
32349
|
this.tools = {
|
|
32250
|
-
pointer: new PointerTool(this.enableToolEvent, this.
|
|
32251
|
-
curve: new CurveTool(this.enableToolEvent, this.
|
|
32252
|
-
rectangle: new RectangleTool(this.enableToolEvent, this.
|
|
32253
|
-
selector: new SelectorTool(this.enableToolEvent, this.
|
|
32254
|
-
arrow: new LineTool(this.enableToolEvent, this.
|
|
32255
|
-
line: new StraightLineTool(this.enableToolEvent, this.
|
|
32256
|
-
text: new TextTool(this.enableToolEvent, this.
|
|
32257
|
-
ellipse: new EllipseTool(this.enableToolEvent, this.
|
|
32258
|
-
triangle: new TriangleTool(this.enableToolEvent, this.
|
|
32259
|
-
eraser: new EraserTool(this.enableToolEvent, this.
|
|
32260
|
-
laser: new LaserPointerTool(this.enableToolEvent, this.
|
|
32261
|
-
grab: new GrabTool(this.enableToolEvent, this.
|
|
32350
|
+
pointer: new PointerTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32351
|
+
curve: new CurveTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32352
|
+
rectangle: new RectangleTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32353
|
+
selector: new SelectorTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope, this.selectElementsModel),
|
|
32354
|
+
arrow: new LineTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32355
|
+
line: new StraightLineTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32356
|
+
text: new TextTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope, this.rootElement, this.canvasElement, this.toolbarModel, this.camera),
|
|
32357
|
+
ellipse: new EllipseTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32358
|
+
triangle: new TriangleTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32359
|
+
eraser: new EraserTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope, this.trashedElementsModel, this.shadowScope),
|
|
32360
|
+
laser: new LaserPointerTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32361
|
+
grab: new GrabTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope, this.camera)
|
|
32262
32362
|
};
|
|
32263
32363
|
this.toolbarModel.on("update", (style) => {
|
|
32264
32364
|
if (this.tools[style.tool]) {
|