@netless/window-manager 0.4.0-canary.31 → 0.4.0-canary.32

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.
@@ -0,0 +1,39 @@
1
+ ## 进阶使用
2
+
3
+ - 目录
4
+ - [撤销重做]
5
+
6
+
7
+
8
+ <h3>撤销重做</h3>
9
+
10
+ > 以下事件和属性都会根据 `focus` 的窗口来进行自动切换应用对象
11
+
12
+
13
+ #### 获取可以撤销/重做的步数
14
+
15
+ ```ts
16
+ manager.canUndoSteps
17
+ manager.canRedoSteps
18
+ ```
19
+
20
+ #### 监听可以撤销/重做的步数的变化
21
+
22
+ `canRedoStepsChange` 和 `canUndoStepsChange` 会在切换窗口时重新触发
23
+
24
+ ```ts
25
+ manager.emitter.on("canUndoStepsChange", (steps: number) => {
26
+ // 可以撤销的步数更新
27
+ })
28
+ manager.emitter.on("canRedoStepsChange", (steps: number) => {
29
+ // 可以重做的步数更新
30
+ })
31
+ ```
32
+
33
+ #### 撤销/重做
34
+
35
+ ```ts
36
+ manager.undo() //撤销
37
+ manager.redo() // 重做
38
+ ```
39
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netless/window-manager",
3
- "version": "0.4.0-canary.31",
3
+ "version": "0.4.0-canary.32",
4
4
  "description": "",
5
5
  "main": "dist/index.es.js",
6
6
  "module": "dist/index.es.js",
@@ -58,6 +58,6 @@
58
58
  "typescript": "^4.3.5",
59
59
  "video.js": "^7.14.3",
60
60
  "vite": "^2.5.3",
61
- "white-web-sdk": "^2.16.4"
61
+ "white-web-sdk": "^2.16.5"
62
62
  }
63
63
  }
@@ -41,8 +41,8 @@ export const replaceRoomFunction = (room: Room | Player, manager: WindowManager)
41
41
  room.fillSceneSnapshot = (...args) => manager.mainView.fillSceneSnapshot(...args);
42
42
  room.generateScreenshot = (...args) => manager.mainView.generateScreenshot(...args);
43
43
  room.setMemberState = (...args) => manager.mainView.setMemberState(...args);
44
- room.redo = () => manager.mainView.redo();
45
- room.undo = () => manager.mainView.undo();
44
+ room.redo = () => manager.redo();
45
+ room.undo = () => manager.undo();
46
46
  room.cleanCurrentScene = () => manager.cleanCurrentScene();
47
47
  delegateRemoveScenes(room);
48
48
  }
package/src/index.ts CHANGED
@@ -369,6 +369,7 @@ export class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {
369
369
  this.appManager?.refresh();
370
370
  this.appManager?.resetMaximized();
371
371
  this.appManager?.resetMinimized();
372
+ this.appManager?.displayerWritableListener(!this.room.isWritable);
372
373
  WindowManager.container = container;
373
374
  }
374
375
 
@@ -766,21 +767,21 @@ export class WindowManager extends InvisiblePlugin<WindowMangerAttributes> {
766
767
  }
767
768
  }
768
769
 
769
- public redo(): void {
770
+ public redo(): number {
770
771
  const focused = this.focused;
771
772
  if (focused) {
772
- this.appManager?.focusApp?.view?.redo();
773
+ return this.appManager?.focusApp?.view?.redo() || 0;
773
774
  } else {
774
- this.mainView.redo();
775
+ return this.mainView.redo();
775
776
  }
776
777
  }
777
778
 
778
- public undo(): void {
779
+ public undo(): number {
779
780
  const focused = this.focused;
780
781
  if (focused) {
781
- this.appManager?.focusApp?.view?.undo();
782
+ return this.appManager?.focusApp?.view?.undo() || 0;
782
783
  } else {
783
- this.mainView.undo();
784
+ return this.mainView.undo();
784
785
  }
785
786
  }
786
787