@netless/window-manager 0.3.22 → 0.3.23-canary.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netless/window-manager",
3
- "version": "0.3.22",
3
+ "version": "0.3.23-canary.0",
4
4
  "description": "",
5
5
  "main": "dist/index.es.js",
6
6
  "module": "dist/index.es.js",
@@ -56,6 +56,6 @@
56
56
  "typescript": "^4.3.5",
57
57
  "video.js": "^7.14.3",
58
58
  "vite": "^2.5.3",
59
- "white-web-sdk": "2.15.15"
59
+ "white-web-sdk": "^2.15.16"
60
60
  }
61
61
  }
package/src/BoxManager.ts CHANGED
@@ -2,7 +2,6 @@ import { callbacks, emitter, WindowManager } from "./index";
2
2
  import { debounce, maxBy } from "lodash";
3
3
  import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from "./constants";
4
4
  import {
5
- TELE_BOX_MANAGER_EVENT,
6
5
  TELE_BOX_STATE,
7
6
  TeleBoxCollector,
8
7
  TeleBoxManager,
@@ -58,12 +57,21 @@ export class BoxManager {
58
57
  createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig
59
58
  ) {
60
59
  this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);
61
- this.teleBoxManager.events.on(TELE_BOX_MANAGER_EVENT.State, state => {
62
- if (state) {
63
- callbacks.emit("boxStateChange", state);
64
- emitter.emit("boxStateChange", state);
65
- }
60
+
61
+ // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调
62
+ this.teleBoxManager._state$.reaction(state => {
63
+ callbacks.emit("boxStateChange", state);
64
+ emitter.emit("boxStateChange", state);
65
+ });
66
+
67
+ this.teleBoxManager._darkMode$.reaction(darkMode => {
68
+ callbacks.emit("darkModeChange", darkMode);
69
+ });
70
+ this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {
71
+ callbacks.emit("prefersColorSchemeChange", colorScheme);
66
72
  });
73
+
74
+ // events.on 的值则会根据 skipUpdate 来决定是否触发回调
67
75
  this.teleBoxManager.events.on("minimized", minimized => {
68
76
  this.manager.safeSetAttributes({ minimized });
69
77
  if (minimized) {
@@ -109,12 +117,6 @@ export class BoxManager {
109
117
  }
110
118
  }
111
119
  });
112
- this.teleBoxManager.events.on("dark_mode", darkMode => {
113
- callbacks.emit("darkModeChange", darkMode);
114
- });
115
- this.teleBoxManager.events.on("prefers_color_scheme", colorScheme => {
116
- callbacks.emit("prefersColorSchemeChange", colorScheme);
117
- });
118
120
  this.teleBoxManager.events.on("z_index", box => {
119
121
  this.manager.store.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);
120
122
  });
@@ -252,7 +254,7 @@ export class BoxManager {
252
254
  );
253
255
  setTimeout(() => {
254
256
  if (state.focus) {
255
- this.teleBoxManager.focusBox(box.id, true)
257
+ this.teleBoxManager.focusBox(box.id, true);
256
258
  }
257
259
  if (state.maximized != null) {
258
260
  this.teleBoxManager.setMaximized(Boolean(state.maximized), true);