@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.js
CHANGED
|
@@ -25863,7 +25863,11 @@ var ElementModel = class _ElementModel {
|
|
|
25863
25863
|
return this.root.get(_ElementModel.KEYS.pointsMatrix) || [1, 0, 0, 1, 0, 0];
|
|
25864
25864
|
}
|
|
25865
25865
|
get points() {
|
|
25866
|
-
|
|
25866
|
+
const list = this.root.get(_ElementModel.KEYS.points);
|
|
25867
|
+
if (list) {
|
|
25868
|
+
return list.toArray();
|
|
25869
|
+
}
|
|
25870
|
+
return [];
|
|
25867
25871
|
}
|
|
25868
25872
|
set ownerId(value) {
|
|
25869
25873
|
this.root.set(_ElementModel.KEYS.ownerId, value);
|
|
@@ -26527,7 +26531,12 @@ var LineTool = class extends WhiteboardTool {
|
|
|
26527
26531
|
if (this.elementModel) {
|
|
26528
26532
|
this.elementModel.dispose();
|
|
26529
26533
|
}
|
|
26530
|
-
this.elementModel =
|
|
26534
|
+
this.elementModel = null;
|
|
26535
|
+
this.modelGetter().then((model) => {
|
|
26536
|
+
if (model) {
|
|
26537
|
+
this.elementModel = model.createLinePath(true);
|
|
26538
|
+
}
|
|
26539
|
+
});
|
|
26531
26540
|
this.from = event.point.clone();
|
|
26532
26541
|
this.to = event.point.clone();
|
|
26533
26542
|
}
|
|
@@ -28457,7 +28466,12 @@ var CurveTool = class extends WhiteboardTool {
|
|
|
28457
28466
|
if (this.elementModel) {
|
|
28458
28467
|
this.elementModel.dispose();
|
|
28459
28468
|
}
|
|
28460
|
-
this.elementModel =
|
|
28469
|
+
this.elementModel = null;
|
|
28470
|
+
this.modelGetter().then((model) => {
|
|
28471
|
+
if (model) {
|
|
28472
|
+
this.elementModel = model.createCurve(true);
|
|
28473
|
+
}
|
|
28474
|
+
});
|
|
28461
28475
|
}
|
|
28462
28476
|
onMouseDrag(event) {
|
|
28463
28477
|
if (this.pointCount > 1024) {
|
|
@@ -28484,34 +28498,41 @@ var CurveTool = class extends WhiteboardTool {
|
|
|
28484
28498
|
}
|
|
28485
28499
|
}
|
|
28486
28500
|
onMouseUp(event) {
|
|
28487
|
-
|
|
28488
|
-
|
|
28489
|
-
|
|
28490
|
-
|
|
28491
|
-
this.elementModel
|
|
28492
|
-
|
|
28493
|
-
|
|
28494
|
-
const result = this.recognizer.recognize(this.elementModel.points);
|
|
28495
|
-
if (result) {
|
|
28496
|
-
this.modelGetter().removeElementItem(this.elementModel.uuid);
|
|
28497
|
-
if (/^rectangle/.test(result.shape)) {
|
|
28498
|
-
const model = this.modelGetter().createRectangle(false);
|
|
28499
|
-
model?.setPoints([result.minX, result.minY, result.maxX, result.maxY]);
|
|
28500
|
-
} else if (/^circle/.test(result.shape)) {
|
|
28501
|
-
const model = this.modelGetter().createSegmentedPath("ellipse", false);
|
|
28502
|
-
const rect = new this.scope.Rectangle(new this.scope.Point(result.minX, result.minY), new this.scope.Point(result.maxX, result.maxY));
|
|
28503
|
-
const pathRect = new this.scope.Path.Ellipse(rect);
|
|
28504
|
-
const points = serializePath(pathRect);
|
|
28505
|
-
model?.setPoints(points);
|
|
28506
|
-
} else if (/^triangle/.test(result.shape)) {
|
|
28507
|
-
const model = this.modelGetter().createTriangle(false);
|
|
28508
|
-
model?.setPoints([result.minX + (result.maxX - result.minX) / 2, result.minY, result.minX, result.maxY, result.maxX, result.maxY]);
|
|
28509
|
-
} else if (/^arrow/.test(result.shape)) {
|
|
28510
|
-
const model = this.modelGetter().createLinePath(false);
|
|
28511
|
-
model?.setPoints([result.minX, (result.maxY + result.minY) / 2, result.maxX, (result.maxY + result.minY) / 2]);
|
|
28501
|
+
this.modelGetter().then((model) => {
|
|
28502
|
+
if (!model) {
|
|
28503
|
+
return;
|
|
28504
|
+
}
|
|
28505
|
+
if (this.pointCount < 3 && this.elementModel) {
|
|
28506
|
+
if (this.elementModel) {
|
|
28507
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
28512
28508
|
}
|
|
28513
28509
|
}
|
|
28514
|
-
|
|
28510
|
+
if (this.elementModel) {
|
|
28511
|
+
this.elementModel.shadow = "";
|
|
28512
|
+
}
|
|
28513
|
+
if (this.elementModel && event.event.metaKey) {
|
|
28514
|
+
const result = this.recognizer.recognize(this.elementModel.points);
|
|
28515
|
+
if (result) {
|
|
28516
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
28517
|
+
if (/^rectangle/.test(result.shape)) {
|
|
28518
|
+
const rect = model.createRectangle(false);
|
|
28519
|
+
rect?.setPoints([result.minX, result.minY, result.maxX, result.maxY]);
|
|
28520
|
+
} else if (/^circle/.test(result.shape)) {
|
|
28521
|
+
const circle = model.createSegmentedPath("ellipse", false);
|
|
28522
|
+
const rect = new this.scope.Rectangle(new this.scope.Point(result.minX, result.minY), new this.scope.Point(result.maxX, result.maxY));
|
|
28523
|
+
const pathRect = new this.scope.Path.Ellipse(rect);
|
|
28524
|
+
const points = serializePath(pathRect);
|
|
28525
|
+
circle?.setPoints(points);
|
|
28526
|
+
} else if (/^triangle/.test(result.shape)) {
|
|
28527
|
+
const triangle = model.createTriangle(false);
|
|
28528
|
+
triangle?.setPoints([result.minX + (result.maxX - result.minX) / 2, result.minY, result.minX, result.maxY, result.maxX, result.maxY]);
|
|
28529
|
+
} else if (/^arrow/.test(result.shape)) {
|
|
28530
|
+
const arrow = model.createLinePath(false);
|
|
28531
|
+
arrow?.setPoints([result.minX, (result.maxY + result.minY) / 2, result.maxX, (result.maxY + result.minY) / 2]);
|
|
28532
|
+
}
|
|
28533
|
+
}
|
|
28534
|
+
}
|
|
28535
|
+
});
|
|
28515
28536
|
}
|
|
28516
28537
|
};
|
|
28517
28538
|
|
|
@@ -28546,7 +28567,12 @@ var RectangleTool = class extends WhiteboardTool {
|
|
|
28546
28567
|
if (this.elementModel) {
|
|
28547
28568
|
this.elementModel.dispose();
|
|
28548
28569
|
}
|
|
28549
|
-
this.elementModel =
|
|
28570
|
+
this.elementModel = null;
|
|
28571
|
+
this.modelGetter().then((model) => {
|
|
28572
|
+
if (model) {
|
|
28573
|
+
this.elementModel = model.createRectangle(true);
|
|
28574
|
+
}
|
|
28575
|
+
});
|
|
28550
28576
|
this.from = event.point.clone();
|
|
28551
28577
|
this.to = event.point.clone();
|
|
28552
28578
|
}
|
|
@@ -28561,7 +28587,11 @@ var RectangleTool = class extends WhiteboardTool {
|
|
|
28561
28587
|
this.elementModel.shadow = "";
|
|
28562
28588
|
}
|
|
28563
28589
|
if (this.elementModel && this.from && this.from.getDistance(event.point) < 3) {
|
|
28564
|
-
this.modelGetter().
|
|
28590
|
+
this.modelGetter().then((model) => {
|
|
28591
|
+
if (model && this.elementModel) {
|
|
28592
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
28593
|
+
}
|
|
28594
|
+
});
|
|
28565
28595
|
}
|
|
28566
28596
|
}
|
|
28567
28597
|
};
|
|
@@ -28705,11 +28735,16 @@ var SelectorTool = class extends WhiteboardTool {
|
|
|
28705
28735
|
if (this.elementModel) {
|
|
28706
28736
|
this.elementModel.dispose();
|
|
28707
28737
|
}
|
|
28708
|
-
this.elementModel =
|
|
28709
|
-
this.
|
|
28710
|
-
|
|
28711
|
-
|
|
28712
|
-
|
|
28738
|
+
this.elementModel = null;
|
|
28739
|
+
this.modelGetter().then((model) => {
|
|
28740
|
+
if (model) {
|
|
28741
|
+
this.elementModel = model.createSelector();
|
|
28742
|
+
this.from = event.point.clone();
|
|
28743
|
+
this.to = event.point.clone();
|
|
28744
|
+
const rect = new this.scope.Rectangle(this.from, this.to);
|
|
28745
|
+
this.elementModel?.setPoints([rect.topLeft.x, rect.topLeft.y, rect.size.width, rect.size.height]);
|
|
28746
|
+
}
|
|
28747
|
+
});
|
|
28713
28748
|
this.selectElements.clear();
|
|
28714
28749
|
}
|
|
28715
28750
|
onMouseDrag(event) {
|
|
@@ -28731,7 +28766,11 @@ var SelectorTool = class extends WhiteboardTool {
|
|
|
28731
28766
|
}
|
|
28732
28767
|
onMouseUp(event) {
|
|
28733
28768
|
if (this.elementModel) {
|
|
28734
|
-
this.modelGetter().
|
|
28769
|
+
this.modelGetter().then((model) => {
|
|
28770
|
+
if (model && this.elementModel) {
|
|
28771
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
28772
|
+
}
|
|
28773
|
+
});
|
|
28735
28774
|
}
|
|
28736
28775
|
const elements = Array.from(this.selectElements.keys()).reduce((result, next) => {
|
|
28737
28776
|
result.push({
|
|
@@ -29676,41 +29715,46 @@ var TextTool = class extends WhiteboardTool {
|
|
|
29676
29715
|
if (this.elementModel) {
|
|
29677
29716
|
this.elementModel.dispose();
|
|
29678
29717
|
}
|
|
29679
|
-
this.elementModel =
|
|
29680
|
-
|
|
29681
|
-
|
|
29682
|
-
|
|
29683
|
-
|
|
29684
|
-
|
|
29685
|
-
editorContainer.style.cssText = `position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;width:${canvasBounds.width}px;height:${canvasBounds.height}px;`;
|
|
29686
|
-
const editor = new TextEditor(this.camera);
|
|
29687
|
-
editor.setOrigin(x, y);
|
|
29688
|
-
editorContainer.appendChild(editor.rootView);
|
|
29689
|
-
this.rootView.appendChild(editorContainer);
|
|
29690
|
-
editor.setFontSize(this.toolbarModel.fontSize);
|
|
29691
|
-
editor.setFontFamily(this.toolbarModel.fontFamily);
|
|
29692
|
-
this.camera.triggerZoom();
|
|
29693
|
-
editor.on("caretOutRight", () => {
|
|
29694
|
-
});
|
|
29695
|
-
editor.on("change", (content) => {
|
|
29696
|
-
if (this.elementModel) {
|
|
29697
|
-
this.elementModel.content = content;
|
|
29698
|
-
}
|
|
29699
|
-
});
|
|
29700
|
-
editor.on("done", () => {
|
|
29701
|
-
if (this.elementModel) {
|
|
29702
|
-
if (!this.elementModel.content || this.elementModel.content.length === 0) {
|
|
29703
|
-
this.modelGetter().removeElementItem(this.elementModel.uuid);
|
|
29704
|
-
} else {
|
|
29705
|
-
this.elementModel.shadow = "";
|
|
29718
|
+
this.elementModel = null;
|
|
29719
|
+
this.modelGetter().then((model) => {
|
|
29720
|
+
if (model) {
|
|
29721
|
+
this.elementModel = model.createPointText(x, y, true);
|
|
29722
|
+
if (this.elementModel === null) {
|
|
29723
|
+
return;
|
|
29706
29724
|
}
|
|
29725
|
+
const editorContainer = window.document.createElement("div");
|
|
29726
|
+
const canvasBounds = this.canvasElement.getBoundingClientRect();
|
|
29727
|
+
editorContainer.style.cssText = `position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;width:${canvasBounds.width}px;height:${canvasBounds.height}px;`;
|
|
29728
|
+
const editor = new TextEditor(this.camera);
|
|
29729
|
+
editor.setOrigin(x, y);
|
|
29730
|
+
editorContainer.appendChild(editor.rootView);
|
|
29731
|
+
this.rootView.appendChild(editorContainer);
|
|
29732
|
+
editor.setFontSize(this.toolbarModel.fontSize);
|
|
29733
|
+
editor.setFontFamily(this.toolbarModel.fontFamily);
|
|
29734
|
+
this.camera.triggerZoom();
|
|
29735
|
+
editor.on("caretOutRight", () => {
|
|
29736
|
+
});
|
|
29737
|
+
editor.on("change", (content) => {
|
|
29738
|
+
if (this.elementModel) {
|
|
29739
|
+
this.elementModel.content = content;
|
|
29740
|
+
}
|
|
29741
|
+
});
|
|
29742
|
+
editor.on("done", () => {
|
|
29743
|
+
if (this.elementModel) {
|
|
29744
|
+
if (!this.elementModel.content || this.elementModel.content.length === 0) {
|
|
29745
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
29746
|
+
} else {
|
|
29747
|
+
this.elementModel.shadow = "";
|
|
29748
|
+
}
|
|
29749
|
+
}
|
|
29750
|
+
editor.dispose();
|
|
29751
|
+
this.rootView.removeChild(editorContainer);
|
|
29752
|
+
});
|
|
29753
|
+
setTimeout(() => {
|
|
29754
|
+
editor.focus();
|
|
29755
|
+
}, 30);
|
|
29707
29756
|
}
|
|
29708
|
-
editor.dispose();
|
|
29709
|
-
this.rootView.removeChild(editorContainer);
|
|
29710
29757
|
});
|
|
29711
|
-
setTimeout(() => {
|
|
29712
|
-
editor.focus();
|
|
29713
|
-
}, 30);
|
|
29714
29758
|
}
|
|
29715
29759
|
};
|
|
29716
29760
|
|
|
@@ -30228,7 +30272,12 @@ var EllipseTool = class extends WhiteboardTool {
|
|
|
30228
30272
|
if (this.elementModel) {
|
|
30229
30273
|
this.elementModel.dispose();
|
|
30230
30274
|
}
|
|
30231
|
-
this.elementModel =
|
|
30275
|
+
this.elementModel = null;
|
|
30276
|
+
this.modelGetter().then((model) => {
|
|
30277
|
+
if (model) {
|
|
30278
|
+
this.elementModel = model.createSegmentedPath("ellipse", true);
|
|
30279
|
+
}
|
|
30280
|
+
});
|
|
30232
30281
|
this.from = event.point.clone();
|
|
30233
30282
|
this.to = event.point.clone();
|
|
30234
30283
|
}
|
|
@@ -30243,7 +30292,11 @@ var EllipseTool = class extends WhiteboardTool {
|
|
|
30243
30292
|
}
|
|
30244
30293
|
onMouseUp(event) {
|
|
30245
30294
|
if (this.elementModel && this.from && this.from.getDistance(event.point) < 3) {
|
|
30246
|
-
this.modelGetter().
|
|
30295
|
+
this.modelGetter().then((model) => {
|
|
30296
|
+
if (model && this.elementModel) {
|
|
30297
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
30298
|
+
}
|
|
30299
|
+
});
|
|
30247
30300
|
} else {
|
|
30248
30301
|
if (this.elementModel) {
|
|
30249
30302
|
this.elementModel.shadow = "";
|
|
@@ -30283,7 +30336,12 @@ var TriangleTool = class extends WhiteboardTool {
|
|
|
30283
30336
|
if (this.elementModel) {
|
|
30284
30337
|
this.elementModel.dispose();
|
|
30285
30338
|
}
|
|
30286
|
-
this.elementModel =
|
|
30339
|
+
this.elementModel = null;
|
|
30340
|
+
this.modelGetter().then((model) => {
|
|
30341
|
+
if (model) {
|
|
30342
|
+
this.elementModel = model.createTriangle(true);
|
|
30343
|
+
}
|
|
30344
|
+
});
|
|
30287
30345
|
this.from = event.point.clone();
|
|
30288
30346
|
this.to = event.point.clone();
|
|
30289
30347
|
}
|
|
@@ -30295,7 +30353,11 @@ var TriangleTool = class extends WhiteboardTool {
|
|
|
30295
30353
|
}
|
|
30296
30354
|
onMouseUp(event) {
|
|
30297
30355
|
if (this.elementModel && this.from && this.from.getDistance(event.point) < 3) {
|
|
30298
|
-
this.modelGetter().
|
|
30356
|
+
this.modelGetter().then((model) => {
|
|
30357
|
+
if (model && this.elementModel) {
|
|
30358
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
30359
|
+
}
|
|
30360
|
+
});
|
|
30299
30361
|
}
|
|
30300
30362
|
if (this.elementModel) {
|
|
30301
30363
|
this.elementModel.shadow = "";
|
|
@@ -30327,6 +30389,7 @@ var Whiteboard = class extends import_eventemitter38.default {
|
|
|
30327
30389
|
super();
|
|
30328
30390
|
_defineProperty31(this, "view", void 0);
|
|
30329
30391
|
_defineProperty31(this, "selfUserId", void 0);
|
|
30392
|
+
_defineProperty31(this, "window", void 0);
|
|
30330
30393
|
_defineProperty31(this, "permissions", void 0);
|
|
30331
30394
|
_defineProperty31(this, "tool", void 0);
|
|
30332
30395
|
_defineProperty31(this, "fontSize", void 0);
|
|
@@ -30410,7 +30473,12 @@ var EraserTool = class extends WhiteboardTool {
|
|
|
30410
30473
|
if (this.elementModel) {
|
|
30411
30474
|
this.elementModel.dispose();
|
|
30412
30475
|
}
|
|
30413
|
-
this.elementModel =
|
|
30476
|
+
this.elementModel = null;
|
|
30477
|
+
this.modelGetter().then((model) => {
|
|
30478
|
+
if (model) {
|
|
30479
|
+
this.elementModel = model.createEraser();
|
|
30480
|
+
}
|
|
30481
|
+
});
|
|
30414
30482
|
}
|
|
30415
30483
|
onMouseDrag(event) {
|
|
30416
30484
|
if (this.pointCount > 1024) {
|
|
@@ -30443,7 +30511,11 @@ var EraserTool = class extends WhiteboardTool {
|
|
|
30443
30511
|
}
|
|
30444
30512
|
onMouseUp(_event) {
|
|
30445
30513
|
if (this.elementModel) {
|
|
30446
|
-
this.modelGetter().
|
|
30514
|
+
this.modelGetter().then((model) => {
|
|
30515
|
+
if (model && this.elementModel) {
|
|
30516
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
30517
|
+
}
|
|
30518
|
+
});
|
|
30447
30519
|
}
|
|
30448
30520
|
this.trashedElementsModel.removeAllTrashedElementsForSelf();
|
|
30449
30521
|
}
|
|
@@ -30602,7 +30674,12 @@ var LaserPointerTool = class extends WhiteboardTool {
|
|
|
30602
30674
|
if (this.elementModel) {
|
|
30603
30675
|
this.elementModel.dispose();
|
|
30604
30676
|
}
|
|
30605
|
-
this.elementModel =
|
|
30677
|
+
this.elementModel = null;
|
|
30678
|
+
this.modelGetter().then((model) => {
|
|
30679
|
+
if (model) {
|
|
30680
|
+
this.elementModel = model.createLaserPointer();
|
|
30681
|
+
}
|
|
30682
|
+
});
|
|
30606
30683
|
}
|
|
30607
30684
|
onMouseDrag(event) {
|
|
30608
30685
|
if (this.pointCount > 1024) {
|
|
@@ -31228,7 +31305,12 @@ var StraightLineTool = class extends WhiteboardTool {
|
|
|
31228
31305
|
if (this.elementModel) {
|
|
31229
31306
|
this.elementModel.dispose();
|
|
31230
31307
|
}
|
|
31231
|
-
this.elementModel =
|
|
31308
|
+
this.elementModel = null;
|
|
31309
|
+
this.modelGetter().then((model) => {
|
|
31310
|
+
if (model) {
|
|
31311
|
+
this.elementModel = model.createStraightLine(true);
|
|
31312
|
+
}
|
|
31313
|
+
});
|
|
31232
31314
|
this.from = event.point.clone();
|
|
31233
31315
|
this.to = event.point.clone();
|
|
31234
31316
|
}
|
|
@@ -31243,7 +31325,11 @@ var StraightLineTool = class extends WhiteboardTool {
|
|
|
31243
31325
|
this.elementModel.shadow = "";
|
|
31244
31326
|
}
|
|
31245
31327
|
if (this.elementModel && this.from && this.from.getDistance(event.point) < 3) {
|
|
31246
|
-
this.modelGetter().
|
|
31328
|
+
this.modelGetter().then((model) => {
|
|
31329
|
+
if (model && this.elementModel) {
|
|
31330
|
+
model.removeElementItem(this.elementModel.uuid);
|
|
31331
|
+
}
|
|
31332
|
+
});
|
|
31247
31333
|
}
|
|
31248
31334
|
}
|
|
31249
31335
|
};
|
|
@@ -31730,12 +31816,20 @@ var WhiteboardApplication = class extends import_forge_room12.AbstractApplicatio
|
|
|
31730
31816
|
}
|
|
31731
31817
|
}
|
|
31732
31818
|
});
|
|
31733
|
-
_defineProperty43(this, "
|
|
31819
|
+
_defineProperty43(this, "getCurrentRendererModel", () => {
|
|
31734
31820
|
const layerId = this.userMap(this.userId).get(WhiteboardKeys.currentPage);
|
|
31735
|
-
if (
|
|
31736
|
-
this.
|
|
31821
|
+
if (this.layers.has(layerId)) {
|
|
31822
|
+
return Promise.resolve(this.layers.get(layerId));
|
|
31823
|
+
} else {
|
|
31824
|
+
return waitUntil(() => this.layers.has(layerId), 1e3).then(() => {
|
|
31825
|
+
if (this.layers.has(layerId)) {
|
|
31826
|
+
return this.layers.get(layerId);
|
|
31827
|
+
} else {
|
|
31828
|
+
this.emitter.emit("error", 300002, `target page: ${layerId} not found`);
|
|
31829
|
+
return null;
|
|
31830
|
+
}
|
|
31831
|
+
});
|
|
31737
31832
|
}
|
|
31738
|
-
return this.layers.get(layerId);
|
|
31739
31833
|
});
|
|
31740
31834
|
_defineProperty43(this, "handleElementClear", () => {
|
|
31741
31835
|
this.shadowScope.project.activeLayer.removeChildren();
|
|
@@ -32031,11 +32125,17 @@ var WhiteboardApplication = class extends import_forge_room12.AbstractApplicatio
|
|
|
32031
32125
|
}
|
|
32032
32126
|
};
|
|
32033
32127
|
this.emitter.clearPage = () => {
|
|
32034
|
-
|
|
32035
|
-
|
|
32036
|
-
|
|
32037
|
-
|
|
32038
|
-
|
|
32128
|
+
this.getCurrentRendererModel().then((model) => {
|
|
32129
|
+
if (model) {
|
|
32130
|
+
if (model.elements.doc) {
|
|
32131
|
+
model.elements.doc.transact(() => {
|
|
32132
|
+
model.elements.clear();
|
|
32133
|
+
}, elementsUndoOrigin);
|
|
32134
|
+
} else {
|
|
32135
|
+
model.elementModels.clear();
|
|
32136
|
+
}
|
|
32137
|
+
}
|
|
32138
|
+
});
|
|
32039
32139
|
};
|
|
32040
32140
|
this.emitter.undo = () => {
|
|
32041
32141
|
this.undoManager?.undo();
|
|
@@ -32257,18 +32357,18 @@ var WhiteboardApplication = class extends import_forge_room12.AbstractApplicatio
|
|
|
32257
32357
|
return this.userMap(userId);
|
|
32258
32358
|
});
|
|
32259
32359
|
this.tools = {
|
|
32260
|
-
pointer: new PointerTool(this.enableToolEvent, this.
|
|
32261
|
-
curve: new CurveTool(this.enableToolEvent, this.
|
|
32262
|
-
rectangle: new RectangleTool(this.enableToolEvent, this.
|
|
32263
|
-
selector: new SelectorTool(this.enableToolEvent, this.
|
|
32264
|
-
arrow: new LineTool(this.enableToolEvent, this.
|
|
32265
|
-
line: new StraightLineTool(this.enableToolEvent, this.
|
|
32266
|
-
text: new TextTool(this.enableToolEvent, this.
|
|
32267
|
-
ellipse: new EllipseTool(this.enableToolEvent, this.
|
|
32268
|
-
triangle: new TriangleTool(this.enableToolEvent, this.
|
|
32269
|
-
eraser: new EraserTool(this.enableToolEvent, this.
|
|
32270
|
-
laser: new LaserPointerTool(this.enableToolEvent, this.
|
|
32271
|
-
grab: new GrabTool(this.enableToolEvent, this.
|
|
32360
|
+
pointer: new PointerTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32361
|
+
curve: new CurveTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32362
|
+
rectangle: new RectangleTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32363
|
+
selector: new SelectorTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope, this.selectElementsModel),
|
|
32364
|
+
arrow: new LineTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32365
|
+
line: new StraightLineTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32366
|
+
text: new TextTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope, this.rootElement, this.canvasElement, this.toolbarModel, this.camera),
|
|
32367
|
+
ellipse: new EllipseTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32368
|
+
triangle: new TriangleTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32369
|
+
eraser: new EraserTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope, this.trashedElementsModel, this.shadowScope),
|
|
32370
|
+
laser: new LaserPointerTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope),
|
|
32371
|
+
grab: new GrabTool(this.enableToolEvent, this.getCurrentRendererModel, this.shadowEmitter, this.paperScope, this.camera)
|
|
32272
32372
|
};
|
|
32273
32373
|
this.toolbarModel.on("update", (style) => {
|
|
32274
32374
|
if (this.tools[style.tool]) {
|