@netless/forge-whiteboard 1.0.7 → 1.1.0-beta.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../src/Camera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../src/Camera.ts"],"names":[],"mappings":"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"}
@@ -89,9 +89,11 @@ export declare class WhiteboardApplication extends AbstractApplication<Whiteboar
89
89
  private get viewportHeight();
90
90
  constructor();
91
91
  private addWhiteboardStatus;
92
+ addPage(id: string, focus?: boolean): boolean;
92
93
  private userMap;
93
94
  private enableToolEvent;
94
95
  initialize(option: WhiteboardOption): Promise<void>;
96
+ private handleWritableChanged;
95
97
  private handleViewportUpdate;
96
98
  private handleElementTranslateOut;
97
99
  private handlePageSwitch;
@@ -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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"}
@@ -31,7 +31,7 @@ export declare class PageModel extends EventEmitter<PageEvents> {
31
31
  getCurrentPage(userId: string): string | null;
32
32
  pageList(): string[];
33
33
  private modifyDetect;
34
- addPage(id: string): boolean;
34
+ addPage(id: string, focus?: boolean): boolean;
35
35
  deletePage(id: string, replace?: string): void;
36
36
  setUserPage(id: string, userId: string): void;
37
37
  gotoPage(id: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"PageModel.d.ts","sourceRoot":"","sources":["../../src/model/PageModel.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAsB,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAEtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,WAAW,UAAU;IACvB;;;OAGG;IACH,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC;;;OAGG;IACH,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,qBAAa,SAAU,SAAQ,YAAY,CAAC,UAAU,CAAC;IAErD,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,aAAa,CAA8C;gBAGjE,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9C,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EACtB,aAAa,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO;IAmB5D,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,oBAAoB,CAiB1B;IAEF,OAAO,CAAC,2BAA2B,CAgBjC;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEK,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAW7C,QAAQ,IAAI,MAAM,EAAE;IAI3B,OAAO,CAAC,YAAY;IAgBb,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAW5B,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAc9C,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAW7C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAkB1B,OAAO;CAUf"}
1
+ {"version":3,"file":"PageModel.d.ts","sourceRoot":"","sources":["../../src/model/PageModel.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAsB,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAEtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,WAAW,UAAU;IACvB;;;OAGG;IACH,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC;;;OAGG;IACH,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,qBAAa,SAAU,SAAQ,YAAY,CAAC,UAAU,CAAC;IAErD,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,aAAa,CAA8C;gBAGjE,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9C,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EACtB,aAAa,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO;IAkB5D,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,eAAe,CAQrB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,oBAAoB,CAiB1B;IAEF,OAAO,CAAC,2BAA2B,CAgBjC;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEK,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAW7C,QAAQ,IAAI,MAAM,EAAE;IAI3B,OAAO,CAAC,YAAY;IAgBb,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO;IAWpD,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAc9C,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAW7C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAkB1B,OAAO;CAUf"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectElementsModel.d.ts","sourceRoot":"","sources":["../../src/model/SelectElementsModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAgC,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,WAAW,yBAAyB;IACtC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAClE;AAED,qBAAa,mBAAoB,SAAQ,YAAY,CAAC,yBAAyB,CAAC;IAE9E,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAA8C;IAEnE,OAAO,CAAC,SAAS,CAA+B;IAEhD,OAAO,KAAK,qBAAqB,GAEhC;IAED,OAAO,KAAK,uBAAuB,GAElC;gBAGC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9C,aAAa,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO;IAuB5D,OAAO,CAAC,eAAe,CAMrB;IAEF,OAAO,CAAC,cAAc,CASpB;IAEF,OAAO,CAAC,8BAA8B,CAQpC;IAEF,OAAO,CAAC,WAAW;IASZ,uBAAuB,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;IA6C1E,yBAAyB;IAQzB,OAAO;CAQf"}
1
+ {"version":3,"file":"SelectElementsModel.d.ts","sourceRoot":"","sources":["../../src/model/SelectElementsModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAgC,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,WAAW,yBAAyB;IACtC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAClE;AAED,qBAAa,mBAAoB,SAAQ,YAAY,CAAC,yBAAyB,CAAC;IAE9E,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAA8C;IAEnE,OAAO,CAAC,SAAS,CAA+B;IAEhD,OAAO,KAAK,qBAAqB,GAEhC;IAED,OAAO,KAAK,uBAAuB,GAElC;gBAGC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9C,aAAa,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO;IAuB5D,OAAO,CAAC,eAAe,CASrB;IAEF,OAAO,CAAC,cAAc,CAUpB;IAEF,OAAO,CAAC,8BAA8B,CAQpC;IAEF,OAAO,CAAC,WAAW;IASZ,uBAAuB,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;IA6C1E,yBAAyB;IAQzB,OAAO;CAQf"}
@@ -1 +1 @@
1
- {"version":3,"file":"TrashedElementsModel.d.ts","sourceRoot":"","sources":["../../src/model/TrashedElementsModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,WAAW,0BAA0B;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/D,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACxE;AAED,qBAAa,oBAAqB,SAAQ,YAAY,CAAC,0BAA0B,CAAC;IAEhF,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAA8C;IAEnE,OAAO,CAAC,SAAS,CAA+B;IAEhD,OAAO,KAAK,uBAAuB,GAElC;IAED,OAAO,KAAK,yBAAyB,GAEpC;gBAGC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9C,aAAa,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO;IAwB5D,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,cAAc,CASpB;IAEF,OAAO,CAAC,6BAA6B;IAUrC,OAAO,CAAC,WAAW;IASZ,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAmC3D,+BAA+B;IAS/B,OAAO;CASf"}
1
+ {"version":3,"file":"TrashedElementsModel.d.ts","sourceRoot":"","sources":["../../src/model/TrashedElementsModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,WAAW,0BAA0B;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/D,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACxE;AAED,qBAAa,oBAAqB,SAAQ,YAAY,CAAC,0BAA0B,CAAC;IAEhF,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAA8C;IAEnE,OAAO,CAAC,SAAS,CAA+B;IAEhD,OAAO,KAAK,uBAAuB,GAElC;IAED,OAAO,KAAK,yBAAyB,GAEpC;gBAGC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9C,aAAa,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO;IAwB5D,OAAO,CAAC,eAAe,CAQrB;IAEF,OAAO,CAAC,cAAc,CAgBpB;IAEF,OAAO,CAAC,6BAA6B;IAUrC,OAAO,CAAC,WAAW;IASZ,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAmC3D,+BAA+B;IAS/B,OAAO;CASf"}
@@ -15,7 +15,7 @@ export declare class ImageModel extends ElementModel {
15
15
  include: string[];
16
16
  exclude: string[];
17
17
  };
18
- protected onStyleKeyUpdate(_key: string): void;
18
+ protected onStyleKeyUpdate(key: string): void;
19
19
  editorConfig(): EditorConfig;
20
20
  protected liveCursorPoint(): null;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ImageModel.d.ts","sourceRoot":"","sources":["../../../src/model/renderable/ImageModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,UAAW,SAAQ,YAAY;IAEnC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAQ;IAExC,OAAO,CAAC,SAAS,CAAiB;IAElC,OAAO,KAAK,GAAG,GAEd;gBAEkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU;IAS/G,SAAS,CAAC,UAAU;IAOpB,SAAS,CAAC,eAAe,IAAI,IAAI;IAejC,SAAS,CAAC,cAAc,IAAI,IAAI;IAOzB,UAAU,IAAI,MAAM,EAAE;IAI7B,SAAS,CAAC,SAAS,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAO/D,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAGhC,YAAY,IAAI,YAAY;IAOnC,SAAS,CAAC,eAAe,IAAI,IAAI;CAGlC"}
1
+ {"version":3,"file":"ImageModel.d.ts","sourceRoot":"","sources":["../../../src/model/renderable/ImageModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,UAAW,SAAQ,YAAY;IAEnC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAQ;IAExC,OAAO,CAAC,SAAS,CAAiB;IAElC,OAAO,KAAK,GAAG,GAEd;gBAEkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU;IAS/G,SAAS,CAAC,UAAU;IAOpB,SAAS,CAAC,eAAe,IAAI,IAAI;IAejC,SAAS,CAAC,cAAc,IAAI,IAAI;IAOzB,UAAU,IAAI,MAAM,EAAE;IAI7B,SAAS,CAAC,SAAS,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAO/D,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAS/B,YAAY,IAAI,YAAY;IAOnC,SAAS,CAAC,eAAe,IAAI,IAAI;CAGlC"}
@@ -27723,11 +27723,17 @@ var ImageModel = class extends ElementModel {
27723
27723
  }
27724
27724
  styleKeys() {
27725
27725
  return {
27726
- include: [],
27726
+ include: ["src"],
27727
27727
  exclude: ["dashArray", "strokeColor", "fillColor", "strokeWidth"]
27728
27728
  };
27729
27729
  }
27730
- onStyleKeyUpdate(_key) {
27730
+ onStyleKeyUpdate(key) {
27731
+ if (key === "src") {
27732
+ const imgElement = this.imageSets.querySelector(`[id='${this.uuid}']`);
27733
+ if (imgElement) {
27734
+ imgElement.src = this.src;
27735
+ }
27736
+ }
27731
27737
  }
27732
27738
  editorConfig() {
27733
27739
  const cfg = new EditorConfig();
@@ -28829,6 +28835,9 @@ var SelectElementsModel = class extends EventEmitter3 {
28829
28835
  _defineProperty23(this, "hasPermission", void 0);
28830
28836
  _defineProperty23(this, "observers", /* @__PURE__ */ new Map());
28831
28837
  _defineProperty23(this, "handleUserLeave", (user) => {
28838
+ if (user.id === this.userManager.selfId) {
28839
+ return;
28840
+ }
28832
28841
  const cb = this.observers.get(user.id);
28833
28842
  if (cb) {
28834
28843
  removeDeepObserver2(this.requestUserMap(user.id), cb);
@@ -28841,6 +28850,7 @@ var SelectElementsModel = class extends EventEmitter3 {
28841
28850
  };
28842
28851
  if (this.observers.has(user.id)) {
28843
28852
  removeDeepObserver2(this.requestUserMap(user.id), this.observers.get(user.id));
28853
+ this.observers.delete(user.id);
28844
28854
  }
28845
28855
  this.requestUserMap(user.id).observeDeep(observer);
28846
28856
  this.observers.set(user.id, observer);
@@ -29913,18 +29923,25 @@ var Camera = class extends EventEmitter7 {
29913
29923
  }
29914
29924
  });
29915
29925
  _defineProperty28(this, "handleUserLeave", (user) => {
29926
+ if (user.id === this.userManager.selfId) {
29927
+ return;
29928
+ }
29916
29929
  const cb = this.observers.get(user.id);
29917
29930
  if (cb) {
29918
29931
  removeObserver4(this.requestUserMap(user.id), cb);
29919
29932
  }
29920
29933
  });
29921
29934
  _defineProperty28(this, "handleUserJoin", (user) => {
29935
+ if (this.observers.has(user.id)) {
29936
+ const cb = this.observers.get(user.id);
29937
+ if (cb) {
29938
+ removeObserver4(this.requestUserMap(user.id), cb);
29939
+ this.observers.delete(user.id);
29940
+ }
29941
+ }
29922
29942
  const observer = (evt) => {
29923
29943
  this.handleViewMatrixUpdate(user.id, evt);
29924
29944
  };
29925
- if (this.observers.has(user.id)) {
29926
- removeObserver4(this.requestUserMap(user.id), observer);
29927
- }
29928
29945
  this.requestUserMap(user.id).observe(observer);
29929
29946
  this.observers.set(user.id, observer);
29930
29947
  });
@@ -30553,12 +30570,22 @@ var TrashedElementsModel = class extends EventEmitter9 {
30553
30570
  _defineProperty33(this, "hasPermission", void 0);
30554
30571
  _defineProperty33(this, "observers", /* @__PURE__ */ new Map());
30555
30572
  _defineProperty33(this, "handleUserLeave", (user) => {
30573
+ if (user.id === this.userManager.selfId) {
30574
+ return;
30575
+ }
30556
30576
  const cb = this.observers.get(user.id);
30557
30577
  if (cb) {
30558
30578
  removeDeepObserver3(this.requestUserMap(user.id), cb);
30559
30579
  }
30560
30580
  });
30561
30581
  _defineProperty33(this, "handleUserJoin", (user) => {
30582
+ if (this.observers.has(user.id)) {
30583
+ const cb = this.observers.get(user.id);
30584
+ if (cb) {
30585
+ removeDeepObserver3(this.requestUserMap(user.id), cb);
30586
+ this.observers.delete(user.id);
30587
+ }
30588
+ }
30562
30589
  const observer = (evts) => {
30563
30590
  this.handleUserTrashElementsChange(user.id, evts);
30564
30591
  };
@@ -30731,6 +30758,9 @@ var PageModel = class extends EventEmitter10 {
30731
30758
  _defineProperty35(this, "observers", /* @__PURE__ */ new Map());
30732
30759
  _defineProperty35(this, "hasPermission", void 0);
30733
30760
  _defineProperty35(this, "handleUserLeave", (user) => {
30761
+ if (this.userManager.selfId === user.id) {
30762
+ return;
30763
+ }
30734
30764
  const cb = this.observers.get(user.id);
30735
30765
  if (cb) {
30736
30766
  removeObserver5(this.requestUserMap(user.id), cb);
@@ -30782,7 +30812,7 @@ var PageModel = class extends EventEmitter10 {
30782
30812
  this.userManager = userManager;
30783
30813
  this.requestUserMap = requestUserMap;
30784
30814
  this.whiteboardAttrsMap = whiteboardAttrsMap;
30785
- this.userManager.userIdList().forEach((userId) => {
30815
+ new Set(this.userManager.userIdList().concat(this.userManager.selfId)).forEach((userId) => {
30786
30816
  this.createCurrentPageObserver(userId);
30787
30817
  });
30788
30818
  this.userManager.on("join", this.handleUserJoin);
@@ -30791,6 +30821,13 @@ var PageModel = class extends EventEmitter10 {
30791
30821
  this.pageMap.observe(this.handlePageMapChange);
30792
30822
  }
30793
30823
  createCurrentPageObserver(userId) {
30824
+ if (this.observers.has(userId)) {
30825
+ const cb = this.observers.get(userId);
30826
+ if (cb) {
30827
+ removeObserver5(this.requestUserMap(userId), cb);
30828
+ this.observers.delete(userId);
30829
+ }
30830
+ }
30794
30831
  const observer = (evt) => {
30795
30832
  this.handleUserCurrentPageChange(userId, evt);
30796
30833
  };
@@ -30826,7 +30863,8 @@ var PageModel = class extends EventEmitter10 {
30826
30863
  return true;
30827
30864
  }
30828
30865
  addPage(id) {
30829
- if (!this.modifyDetect(id)) {
30866
+ let focus = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
30867
+ if (!focus && !this.modifyDetect(id)) {
30830
30868
  return false;
30831
30869
  }
30832
30870
  if (this.pageMap.has(id)) {
@@ -31693,6 +31731,11 @@ var WhiteboardApplication = class _WhiteboardApplication extends AbstractApplica
31693
31731
  _defineProperty43(this, "enableToolEvent", () => {
31694
31732
  return !(this.inputType === "pen" && !this.isPenEvent);
31695
31733
  });
31734
+ _defineProperty43(this, "handleWritableChanged", (userId, writable) => {
31735
+ if (userId === this.userId && writable && this.linkWhiteboardId) {
31736
+ this.linkToWhiteboard(this.linkWhiteboardId);
31737
+ }
31738
+ });
31696
31739
  _defineProperty43(this, "handleViewportUpdate", (evt) => {
31697
31740
  if (evt.keysChanged.has("viewportWidth") || evt.keysChanged.has("viewportHeight")) {
31698
31741
  const rect = this.rootElement.getBoundingClientRect();
@@ -32129,6 +32172,9 @@ var WhiteboardApplication = class _WhiteboardApplication extends AbstractApplica
32129
32172
  }
32130
32173
  };
32131
32174
  this.emitter.clearPage = () => {
32175
+ if (!this.writableManager().isWritable()) {
32176
+ return;
32177
+ }
32132
32178
  this.getCurrentRendererModel().then((model) => {
32133
32179
  if (model) {
32134
32180
  if (model.elements.doc) {
@@ -32142,9 +32188,15 @@ var WhiteboardApplication = class _WhiteboardApplication extends AbstractApplica
32142
32188
  });
32143
32189
  };
32144
32190
  this.emitter.undo = () => {
32191
+ if (!this.writableManager().isWritable()) {
32192
+ return;
32193
+ }
32145
32194
  this.undoManager?.undo();
32146
32195
  };
32147
32196
  this.emitter.redo = () => {
32197
+ if (!this.writableManager().isWritable()) {
32198
+ return;
32199
+ }
32148
32200
  this.undoManager?.redo();
32149
32201
  };
32150
32202
  this.emitter.rasterizeViewport = (scale, page) => {
@@ -32286,6 +32338,10 @@ var WhiteboardApplication = class _WhiteboardApplication extends AbstractApplica
32286
32338
  });
32287
32339
  window.addEventListener("forge-whiteboard-synced-status", this.addWhiteboardStatus);
32288
32340
  }
32341
+ addPage(id) {
32342
+ let focus = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
32343
+ return this.pageModel.addPage(id, focus);
32344
+ }
32289
32345
  userMap(userId) {
32290
32346
  return this.getMap(`user/${userId}`);
32291
32347
  }
@@ -32293,7 +32349,7 @@ var WhiteboardApplication = class _WhiteboardApplication extends AbstractApplica
32293
32349
  _WhiteboardApplication.instanceCount.set(this.appId, (_WhiteboardApplication.instanceCount.get(this.appId) ?? 0) + 1);
32294
32350
  log4(`whiteboard ${this.appId} initialize. instance count: ${_WhiteboardApplication.instanceCount.get(this.appId) ?? 0}`, {}, "info");
32295
32351
  this.appDoc.transact(() => {
32296
- this.permissions = new WhiteboardPermissions(this.userManager, (userId) => {
32352
+ this.permissions = new WhiteboardPermissions(this.writableManager, this.userManager, (userId) => {
32297
32353
  return this.userMap(userId);
32298
32354
  });
32299
32355
  this.permissions.setPermission(WhiteboardPermissionFlag.all);
@@ -32489,6 +32545,7 @@ var WhiteboardApplication = class _WhiteboardApplication extends AbstractApplica
32489
32545
  }
32490
32546
  this.rootElement.appendChild(this.liveCursor.container);
32491
32547
  this.getMap("attrs").observe(this.handleViewportUpdate);
32548
+ this.writableManager().on("writableChanged", this.handleWritableChanged);
32492
32549
  }, "whiteboard-initialize");
32493
32550
  }
32494
32551
  clearElements() {