@netless/forge-whiteboard 0.1.19 → 0.1.20

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/changelog.md CHANGED
@@ -63,4 +63,8 @@
63
63
 
64
64
  ### 0.1.19
65
65
 
66
- - 新增 whiteboard.updateViewport
66
+ - 新增 whiteboard.updateViewport
67
+
68
+ ### 0.1.20
69
+
70
+ - 修复 whiteboard.updateViewport 后笔画粗细不一致的问题
@@ -48,7 +48,6 @@ export declare class RenderableModel extends EventEmitter<WhiteboardModelEvents>
48
48
  convertToModel(yMap: Y.Map<any>): ElementModel | null;
49
49
  private initElement;
50
50
  removeElementItem(uuid: string): void;
51
- private addElementToDoc;
52
51
  private confirmPermission;
53
52
  createImage(src: string): void;
54
53
  createCurve(shadow?: boolean): CurveModel | null;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderableModel.d.ts","sourceRoot":"","sources":["../../src/model/RenderableModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderableModel.d.ts","sourceRoot":"","sources":["../../src/model/RenderableModel.ts"],"names":[],"mappings":"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"}
@@ -27587,28 +27587,11 @@ var RenderableModel = class extends EventEmitter {
27587
27587
  return model;
27588
27588
  }
27589
27589
  initElement(element) {
27590
- let shadow = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
27591
- if (shadow) {
27592
- element.shadow = "layer";
27593
- }
27594
- element.strokeWidth = this.toolbarModel.strokeWidth;
27595
- element.strokeColor = this.toolbarModel.strokeColor;
27596
- element.fillColor = this.toolbarModel.fillColor;
27597
- element.ownerId = this.userManager.selfId;
27598
27590
  element.shadowEmitter = this.shadowEmitter;
27599
27591
  }
27600
27592
  removeElementItem(uuid) {
27601
27593
  this.elements.delete(uuid);
27602
27594
  }
27603
- addElementToDoc(map, type) {
27604
- this.elements.doc?.transact(() => {
27605
- const uuid = this.uuid;
27606
- map.set(ElementModel.KEYS.index, ++this.maxIndex);
27607
- map.set(ElementModel.KEYS.uuid, uuid);
27608
- map.set("type", type);
27609
- this.elements.set(uuid, map);
27610
- }, elementsUndoOrigin);
27611
- }
27612
27595
  confirmPermission() {
27613
27596
  const hasPermission = this.hasPermission(WhiteboardPermissionFlag.draw);
27614
27597
  if (!hasPermission) {
@@ -27621,7 +27604,14 @@ var RenderableModel = class extends EventEmitter {
27621
27604
  return;
27622
27605
  }
27623
27606
  const yMap = new Y12.Map();
27624
- this.addElementToDoc(yMap, "image");
27607
+ this.elements.doc?.transact(() => {
27608
+ const uuid = this.uuid;
27609
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27610
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27611
+ yMap.set("type", "image");
27612
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27613
+ this.elements.set(uuid, yMap);
27614
+ }, elementsUndoOrigin);
27625
27615
  const model = new ImageModel(yMap, this.scope, this.imageSets, this.liveCursor);
27626
27616
  model.root.set("src", src);
27627
27617
  const initMatrix = new this.scope.Matrix();
@@ -27639,9 +27629,22 @@ var RenderableModel = class extends EventEmitter {
27639
27629
  return null;
27640
27630
  }
27641
27631
  const yMap = new Y12.Map();
27642
- this.addElementToDoc(yMap, "curve");
27632
+ this.elements.doc?.transact(() => {
27633
+ const uuid = this.uuid;
27634
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27635
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27636
+ yMap.set("type", "curve");
27637
+ if (shadow) {
27638
+ yMap.set(ElementModel.KEYS.shadow, "layer");
27639
+ }
27640
+ yMap.set(ElementModel.KEYS.strokeWidth, this.toolbarModel.strokeWidth);
27641
+ yMap.set(ElementModel.KEYS.strokeColor, this.toolbarModel.strokeColor);
27642
+ yMap.set(ElementModel.KEYS.fillColor, this.toolbarModel.fillColor);
27643
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27644
+ this.elements.set(uuid, yMap);
27645
+ }, elementsUndoOrigin);
27643
27646
  const curveModel = new CurveModel(yMap, this.scope, this.liveCursor);
27644
- this.initElement(curveModel, shadow);
27647
+ this.initElement(curveModel);
27645
27648
  return curveModel;
27646
27649
  }
27647
27650
  createLaserPointer() {
@@ -27649,15 +27652,21 @@ var RenderableModel = class extends EventEmitter {
27649
27652
  return null;
27650
27653
  }
27651
27654
  const yMap = new Y12.Map();
27652
- this.addElementToDoc(yMap, "laser");
27655
+ this.elements.doc?.transact(() => {
27656
+ const uuid = this.uuid;
27657
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27658
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27659
+ yMap.set("type", "laser");
27660
+ yMap.set(ElementModel.KEYS.shadow, "layer");
27661
+ yMap.set(ElementModel.KEYS.strokeWidth, 8);
27662
+ yMap.set(ElementModel.KEYS.strokeColor, "#F44336");
27663
+ yMap.set(ElementModel.KEYS.fillColor, "#F44336");
27664
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27665
+ this.elements.set(uuid, yMap);
27666
+ }, elementsUndoOrigin);
27653
27667
  const model = new LaserPointerModel(this.userManager.selfId, yMap, this.scope, this.liveCursor, (uuid) => {
27654
27668
  this.removeElementItem(uuid);
27655
27669
  });
27656
- model.strokeWidth = 8;
27657
- model.strokeColor = "#F44336";
27658
- model.fillColor = "#F44336";
27659
- model.ownerId = this.userManager.selfId;
27660
- model.shadow = "layer";
27661
27670
  return model;
27662
27671
  }
27663
27672
  createEraser() {
@@ -27665,13 +27674,19 @@ var RenderableModel = class extends EventEmitter {
27665
27674
  return null;
27666
27675
  }
27667
27676
  const yMap = new Y12.Map();
27668
- this.addElementToDoc(yMap, "eraser");
27677
+ this.elements.doc?.transact(() => {
27678
+ const uuid = this.uuid;
27679
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27680
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27681
+ yMap.set("type", "eraser");
27682
+ yMap.set(ElementModel.KEYS.shadow, "layer");
27683
+ yMap.set(ElementModel.KEYS.strokeWidth, 4);
27684
+ yMap.set(ElementModel.KEYS.strokeColor, "#9E9E9E");
27685
+ yMap.set(ElementModel.KEYS.fillColor, "#9E9E9E");
27686
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27687
+ this.elements.set(uuid, yMap);
27688
+ }, elementsUndoOrigin);
27669
27689
  const model = new EraserModel(yMap, this.scope, this.liveCursor);
27670
- model.strokeWidth = 4;
27671
- model.strokeColor = "#9E9E9E";
27672
- model.fillColor = "#9E9E9E";
27673
- model.ownerId = this.userManager.selfId;
27674
- model.shadow = "layer";
27675
27690
  return model;
27676
27691
  }
27677
27692
  createTriangle(shadow) {
@@ -27679,9 +27694,22 @@ var RenderableModel = class extends EventEmitter {
27679
27694
  return null;
27680
27695
  }
27681
27696
  const yMap = new Y12.Map();
27682
- this.addElementToDoc(yMap, "triangle");
27697
+ this.elements.doc?.transact(() => {
27698
+ const uuid = this.uuid;
27699
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27700
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27701
+ yMap.set("type", "triangle");
27702
+ if (shadow) {
27703
+ yMap.set(ElementModel.KEYS.shadow, "layer");
27704
+ }
27705
+ yMap.set(ElementModel.KEYS.strokeWidth, this.toolbarModel.strokeWidth);
27706
+ yMap.set(ElementModel.KEYS.strokeColor, this.toolbarModel.strokeColor);
27707
+ yMap.set(ElementModel.KEYS.fillColor, this.toolbarModel.fillColor);
27708
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27709
+ this.elements.set(uuid, yMap);
27710
+ }, elementsUndoOrigin);
27683
27711
  const triangle = new TriangleModel(yMap, this.scope, this.liveCursor);
27684
- this.initElement(triangle, shadow);
27712
+ this.initElement(triangle);
27685
27713
  triangle.dashArray = this.toolbarModel.dashArray;
27686
27714
  return triangle;
27687
27715
  }
@@ -27690,9 +27718,22 @@ var RenderableModel = class extends EventEmitter {
27690
27718
  return null;
27691
27719
  }
27692
27720
  const yMap = new Y12.Map();
27693
- this.addElementToDoc(yMap, "rectangle");
27721
+ this.elements.doc?.transact(() => {
27722
+ const uuid = this.uuid;
27723
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27724
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27725
+ yMap.set("type", "rectangle");
27726
+ if (shadow) {
27727
+ yMap.set(ElementModel.KEYS.shadow, "layer");
27728
+ }
27729
+ yMap.set(ElementModel.KEYS.strokeWidth, this.toolbarModel.strokeWidth);
27730
+ yMap.set(ElementModel.KEYS.strokeColor, this.toolbarModel.strokeColor);
27731
+ yMap.set(ElementModel.KEYS.fillColor, this.toolbarModel.fillColor);
27732
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27733
+ this.elements.set(uuid, yMap);
27734
+ }, elementsUndoOrigin);
27694
27735
  const rect = new RectangleModel(yMap, this.scope, this.liveCursor);
27695
- this.initElement(rect, shadow);
27736
+ this.initElement(rect);
27696
27737
  rect.dashArray = this.toolbarModel.dashArray;
27697
27738
  return rect;
27698
27739
  }
@@ -27701,9 +27742,22 @@ var RenderableModel = class extends EventEmitter {
27701
27742
  return null;
27702
27743
  }
27703
27744
  const yMap = new Y12.Map();
27704
- this.addElementToDoc(yMap, type);
27745
+ this.elements.doc?.transact(() => {
27746
+ const uuid = this.uuid;
27747
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27748
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27749
+ yMap.set("type", type);
27750
+ if (shadow) {
27751
+ yMap.set(ElementModel.KEYS.shadow, "layer");
27752
+ }
27753
+ yMap.set(ElementModel.KEYS.strokeWidth, this.toolbarModel.strokeWidth);
27754
+ yMap.set(ElementModel.KEYS.strokeColor, this.toolbarModel.strokeColor);
27755
+ yMap.set(ElementModel.KEYS.fillColor, this.toolbarModel.fillColor);
27756
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27757
+ this.elements.set(uuid, yMap);
27758
+ }, elementsUndoOrigin);
27705
27759
  const segmentsModel = new SegmentsModel(yMap, this.scope, type, this.liveCursor);
27706
- this.initElement(segmentsModel, shadow);
27760
+ this.initElement(segmentsModel);
27707
27761
  segmentsModel.dashArray = this.toolbarModel.dashArray;
27708
27762
  return segmentsModel;
27709
27763
  }
@@ -27713,7 +27767,15 @@ var RenderableModel = class extends EventEmitter {
27713
27767
  return null;
27714
27768
  }
27715
27769
  const yMap = new Y12.Map();
27716
- this.addElementToDoc(yMap, "selector");
27770
+ this.elements.doc?.transact(() => {
27771
+ const uuid = this.uuid;
27772
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27773
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27774
+ yMap.set("type", "selector");
27775
+ yMap.set(ElementModel.KEYS.shadow, "layer");
27776
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27777
+ this.elements.set(uuid, yMap);
27778
+ }, elementsUndoOrigin);
27717
27779
  const selectorModel = new SelectorModel(yMap, this.scope, this.liveCursor);
27718
27780
  selectorModel.shadow = "layer";
27719
27781
  return selectorModel;
@@ -27723,9 +27785,22 @@ var RenderableModel = class extends EventEmitter {
27723
27785
  return null;
27724
27786
  }
27725
27787
  const yMap = new Y12.Map();
27726
- this.addElementToDoc(yMap, "line");
27788
+ this.elements.doc?.transact(() => {
27789
+ const uuid = this.uuid;
27790
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27791
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27792
+ yMap.set("type", "line");
27793
+ if (shadow) {
27794
+ yMap.set(ElementModel.KEYS.shadow, "layer");
27795
+ }
27796
+ yMap.set(ElementModel.KEYS.strokeWidth, this.toolbarModel.strokeWidth);
27797
+ yMap.set(ElementModel.KEYS.strokeColor, this.toolbarModel.strokeColor);
27798
+ yMap.set(ElementModel.KEYS.fillColor, this.toolbarModel.fillColor);
27799
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27800
+ this.elements.set(uuid, yMap);
27801
+ }, elementsUndoOrigin);
27727
27802
  const straightLineModel = new StraightLineModel(yMap, this.scope, this.liveCursor);
27728
- this.initElement(straightLineModel, shadow);
27803
+ this.initElement(straightLineModel);
27729
27804
  straightLineModel.dashArray = this.toolbarModel.dashArray;
27730
27805
  return straightLineModel;
27731
27806
  }
@@ -27734,9 +27809,22 @@ var RenderableModel = class extends EventEmitter {
27734
27809
  return null;
27735
27810
  }
27736
27811
  const yMap = new Y12.Map();
27737
- this.addElementToDoc(yMap, "arrow");
27812
+ this.elements.doc?.transact(() => {
27813
+ const uuid = this.uuid;
27814
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27815
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27816
+ yMap.set("type", "arrow");
27817
+ if (shadow) {
27818
+ yMap.set(ElementModel.KEYS.shadow, "layer");
27819
+ }
27820
+ yMap.set(ElementModel.KEYS.strokeWidth, this.toolbarModel.strokeWidth);
27821
+ yMap.set(ElementModel.KEYS.strokeColor, this.toolbarModel.strokeColor);
27822
+ yMap.set(ElementModel.KEYS.fillColor, this.toolbarModel.fillColor);
27823
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27824
+ this.elements.set(uuid, yMap);
27825
+ }, elementsUndoOrigin);
27738
27826
  const lineModel = new LineModel(yMap, this.scope, this.liveCursor);
27739
- this.initElement(lineModel, shadow);
27827
+ this.initElement(lineModel);
27740
27828
  lineModel.dashArray = this.toolbarModel.dashArray;
27741
27829
  return lineModel;
27742
27830
  }
@@ -27745,12 +27833,25 @@ var RenderableModel = class extends EventEmitter {
27745
27833
  return null;
27746
27834
  }
27747
27835
  const yMap = new Y12.Map();
27748
- this.addElementToDoc(yMap, "point-text");
27836
+ this.elements.doc?.transact(() => {
27837
+ const uuid = this.uuid;
27838
+ yMap.set(ElementModel.KEYS.index, ++this.maxIndex);
27839
+ yMap.set(ElementModel.KEYS.uuid, uuid);
27840
+ yMap.set("type", "point-text");
27841
+ if (shadow) {
27842
+ yMap.set(ElementModel.KEYS.shadow, "layer");
27843
+ }
27844
+ yMap.set(ElementModel.KEYS.strokeWidth, this.toolbarModel.strokeWidth);
27845
+ yMap.set(ElementModel.KEYS.strokeColor, this.toolbarModel.strokeColor);
27846
+ yMap.set(ElementModel.KEYS.fillColor, this.toolbarModel.fillColor);
27847
+ yMap.set(ElementModel.KEYS.ownerId, this.userManager.selfId);
27848
+ this.elements.set(uuid, yMap);
27849
+ }, elementsUndoOrigin);
27749
27850
  const pointTextModel = new PointTextModel(yMap, this.scope, this.liveCursor);
27750
27851
  pointTextModel.setPoints([x, y]);
27751
27852
  pointTextModel.fontSize = this.toolbarModel.fontSize;
27752
27853
  pointTextModel.fontFamily = this.toolbarModel.fontFamily;
27753
- this.initElement(pointTextModel, shadow);
27854
+ this.initElement(pointTextModel);
27754
27855
  return pointTextModel;
27755
27856
  }
27756
27857
  clearElement() {
@@ -31444,7 +31545,7 @@ var WhiteboardApplication = class extends AbstractApplication {
31444
31545
  height = minHeight;
31445
31546
  width = height * viewportWidth / viewportHeight;
31446
31547
  }
31447
- this.camera.updateInherentScale(width / viewportHeight);
31548
+ this.camera.updateInherentScale(width / viewportWidth);
31448
31549
  this.paperScope.project.view.viewSize = new this.paperScope.Size(width, height);
31449
31550
  this.shadowScope.project.view.viewSize = new this.paperScope.Size(width, height);
31450
31551
  this.camera.triggerZoom();