@netless/forge-whiteboard 0.1.12 → 0.1.14

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
@@ -36,4 +36,12 @@
36
36
 
37
37
  ### 0.1.11
38
38
 
39
- - 支持低版本浏览器 > 0.25%
39
+ - 支持低版本浏览器 > 0.25%
40
+
41
+ ### 0.1.13
42
+
43
+ - whiteboard terminate 时不清理 ydoc 数据
44
+
45
+ ### 0.1.14
46
+
47
+ - 添加 linkToWhiteboard api, 多窗口场景下使用
@@ -50,12 +50,12 @@ export declare class WhiteboardApplication extends AbstractApplication<Whiteboar
50
50
  private resizeObserver;
51
51
  private option;
52
52
  private permissions;
53
- private linkTarget;
54
53
  private inputType;
55
54
  private isPenEvent;
56
55
  private hasPenInput;
57
56
  private disableViewModelUpdate;
58
57
  private internalResizeObserver;
58
+ private linkTarget;
59
59
  private get undoManager();
60
60
  constructor();
61
61
  private userMap;
@@ -81,8 +81,7 @@ export declare class WhiteboardApplication extends AbstractApplication<Whiteboar
81
81
  disableViewModel(): void;
82
82
  linkToWhiteboard(targetId: string): void;
83
83
  unlink(): void;
84
- private onLinkTargetToolbarChange;
85
- private onLinkTargetPermissionChange;
84
+ private handleLinkedMapChange;
86
85
  adjustByOutFrame: (frameWidth: number, frameHeight: number) => void;
87
86
  setViewSize(width: number, height: number): void;
88
87
  getViewSize(): [number, number];
@@ -1 +1 @@
1
- {"version":3,"file":"WhiteboardApplication.d.ts","sourceRoot":"","sources":["../src/WhiteboardApplication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WhiteboardApplication.d.ts","sourceRoot":"","sources":["../src/WhiteboardApplication.ts"],"names":[],"mappings":"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"}
@@ -30700,12 +30700,12 @@ var WhiteboardApplication = class extends AbstractApplication {
30700
30700
  _defineProperty40(this, "resizeObserver", void 0);
30701
30701
  _defineProperty40(this, "option", void 0);
30702
30702
  _defineProperty40(this, "permissions", void 0);
30703
- _defineProperty40(this, "linkTarget", null);
30704
30703
  _defineProperty40(this, "inputType", "any");
30705
30704
  _defineProperty40(this, "isPenEvent", false);
30706
30705
  _defineProperty40(this, "hasPenInput", null);
30707
30706
  _defineProperty40(this, "disableViewModelUpdate", false);
30708
30707
  _defineProperty40(this, "internalResizeObserver", true);
30708
+ _defineProperty40(this, "linkTarget", null);
30709
30709
  _defineProperty40(this, "enableToolEvent", () => {
30710
30710
  return !(this.inputType === "pen" && !this.isPenEvent);
30711
30711
  });
@@ -30887,20 +30887,21 @@ var WhiteboardApplication = class extends AbstractApplication {
30887
30887
  this.emitter.emit("elementDeselected", userId);
30888
30888
  }
30889
30889
  });
30890
- _defineProperty40(this, "onLinkTargetToolbarChange", (style) => {
30891
- this.toolbarModel.currentTool = style.tool;
30892
- this.toolbarModel.strokeColor = style.strokeColor;
30893
- this.toolbarModel.fillColor = style.fillColor;
30894
- this.toolbarModel.fontSize = style.fontSize;
30895
- this.toolbarModel.fontFamily = style.fontFamily;
30896
- this.toolbarModel.strokeWidth = style.strokeWidth;
30897
- this.toolbarModel.dashArray = style.dashArray;
30898
- });
30899
- _defineProperty40(this, "onLinkTargetPermissionChange", (userId, flags) => {
30900
- if (userId == this.userId) {
30901
- flags.forEach((flag) => {
30902
- this.permissions.addPermission(flag, this.userId);
30903
- });
30890
+ _defineProperty40(this, "handleLinkedMapChange", (evt) => {
30891
+ for (const [key, value] of evt.changes.keys.entries()) {
30892
+ if (Object.keys(TOOLBAR_KEYS).indexOf(key) >= 0 && (value.action === "add" || value.action === "update")) {
30893
+ this.toolbarModel.currentTool = evt.target.get(TOOLBAR_KEYS.tool);
30894
+ this.toolbarModel.strokeColor = evt.target.get(TOOLBAR_KEYS.strokeColor);
30895
+ this.toolbarModel.fillColor = evt.target.get(TOOLBAR_KEYS.fillColor);
30896
+ this.toolbarModel.fontSize = evt.target.get(TOOLBAR_KEYS.fontSize);
30897
+ this.toolbarModel.fontFamily = evt.target.get(TOOLBAR_KEYS.fontFamily);
30898
+ this.toolbarModel.strokeWidth = evt.target.get(TOOLBAR_KEYS.strokeWidth);
30899
+ this.toolbarModel.dashArray = evt.target.get(TOOLBAR_KEYS.dashArray);
30900
+ }
30901
+ if (key === "permission" && (value.action === "add" || value.action === "update")) {
30902
+ this.permissions.removePermission(WhiteboardPermissionFlag.all);
30903
+ this.permissions.addPermission(evt.target.get("permission"), this.userId);
30904
+ }
30904
30905
  }
30905
30906
  });
30906
30907
  _defineProperty40(this, "adjustByOutFrame", (frameWidth, frameHeight) => {
@@ -31490,22 +31491,27 @@ var WhiteboardApplication = class extends AbstractApplication {
31490
31491
  this.disableViewModelUpdate = true;
31491
31492
  }
31492
31493
  linkToWhiteboard(targetId) {
31493
- console.log("linkToWhiteboard, linkToWhiteboard, linkToWhiteboard");
31494
31494
  if (this.linkTarget) {
31495
31495
  this.unlink();
31496
31496
  }
31497
- this.linkTarget = this.applicationManager.getInstances(targetId);
31497
+ this.userMap(this.userId);
31498
+ this.linkTarget = this.roomDoc.getMap(`@app/${this.name}/${targetId}/user/${this.userId}`);
31498
31499
  if (this.linkTarget) {
31499
- this.linkTarget.toolbarModel.on("update", this.onLinkTargetToolbarChange);
31500
- this.linkTarget.permissions.on("change", this.onLinkTargetPermissionChange);
31501
- } else {
31502
- throw new Error(`[@netless/forge-whiteboard] link target ${targetId} not found`);
31500
+ this.toolbarModel.currentTool = this.linkTarget.get(TOOLBAR_KEYS.tool);
31501
+ this.toolbarModel.strokeColor = this.linkTarget.get(TOOLBAR_KEYS.strokeColor);
31502
+ this.toolbarModel.fillColor = this.linkTarget.get(TOOLBAR_KEYS.fillColor);
31503
+ this.toolbarModel.fontSize = this.linkTarget.get(TOOLBAR_KEYS.fontSize);
31504
+ this.toolbarModel.fontFamily = this.linkTarget.get(TOOLBAR_KEYS.fontFamily);
31505
+ this.toolbarModel.strokeWidth = this.linkTarget.get(TOOLBAR_KEYS.strokeWidth);
31506
+ this.toolbarModel.dashArray = this.linkTarget.get(TOOLBAR_KEYS.dashArray);
31507
+ this.permissions.removePermission(WhiteboardPermissionFlag.all);
31508
+ this.permissions.addPermission(this.linkTarget.get("permission"), this.userId);
31509
+ this.linkTarget.observe(this.handleLinkedMapChange);
31503
31510
  }
31504
31511
  }
31505
31512
  unlink() {
31506
31513
  if (this.linkTarget) {
31507
- this.linkTarget.toolbarModel.off("update", this.onLinkTargetToolbarChange);
31508
- this.linkTarget.permissions.off("change", this.onLinkTargetPermissionChange);
31514
+ this.linkTarget.unobserve(this.handleLinkedMapChange);
31509
31515
  }
31510
31516
  }
31511
31517
  setViewSize(width, height) {
@@ -31527,9 +31533,6 @@ var WhiteboardApplication = class extends AbstractApplication {
31527
31533
  async dispose() {
31528
31534
  this.selectElementsModel.dispose();
31529
31535
  this.trashedElementsModel.dispose();
31530
- for (const key of this.layers.keys()) {
31531
- this.layers.get(key)?.dispose();
31532
- }
31533
31536
  this.paperScope.view.remove();
31534
31537
  this.shadowScope.view.remove();
31535
31538
  this.rootElement.removeChild(this.canvasElement);