@netless/window-manager 1.0.0-canary.46 → 1.0.0-canary.47

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/README.md CHANGED
@@ -1,6 +1,18 @@
1
1
  # WindowManager
2
2
 
3
- - 目录
3
+ `WindowManager` 是一个基于 `white-web-sdk` `InvisiblePlugin` 实现的窗口管理系统.
4
+
5
+ 本应用提供了以下内容:
6
+
7
+ 1. 提供 `NetlessApp` 插件 `API` 系统
8
+ 2. 支持 `APP` 以窗口的形式打开
9
+ 3. 支持应用在各个端的同步
10
+ 4. 光标同步
11
+ 5. 视角跟随
12
+
13
+ ## 内容列表
14
+ - [安装](#安装)
15
+ - [快速开始](#快速开始)
4
16
  - [概念](docs/concept.md)
5
17
  - [references](docs/api.md)
6
18
  - [从白板迁移](docs/migrate.md)
@@ -8,11 +20,17 @@
8
20
  - [进阶使用](docs/advanced.md)
9
21
  - [视角跟随](docs/advanced.md#view-mode)
10
22
  - [开发自定义 APP](docs/develop-app.md)
11
- ## MainView
12
23
 
13
- `MainView` 也就是主白板, 是垫在所有窗口下面的主白板
24
+ ## 安装
14
25
 
15
- 因为多窗口的原因,所以抽象出来一个主白板, 并且把以前部分对 `room` 的操作, 迁移到对 `mainView` 操作
26
+ pnpm
27
+ ```sh
28
+ $ pnpm install @netless/window-manager
29
+ ```
30
+ yarn
31
+ ```sh
32
+ $ yarn install @netless/window-manager
33
+ ```
16
34
 
17
35
  ### 快速开始
18
36
 
@@ -43,10 +61,16 @@ sdk.joinRoom({
43
61
 
44
62
  [mount 完整参数](docs/api.md#mount)
45
63
 
46
-
47
64
  > `containerSizeRatio` 为了保证窗口在不同分辨率下显示效果, 白板在相同的比例区域才能进行同步
48
65
 
49
- > `chessboard` 当挂载的区域不完全符合比例时, 白板会在挂载的 dom 中划分一个符合比例的区域出来, 此时多出来的部分会默认显示为棋盘透明背景
66
+
67
+ ## MainView
68
+
69
+ `MainView` 也就是主白板, 是垫在所有窗口下面的主白板
70
+
71
+ 因为多窗口的原因,所以抽象出来一个主白板, 并且把以前部分对 `room` 的操作, 迁移到对 `mainView` 操作
72
+
73
+
50
74
 
51
75
  ### `collector`
52
76
 
package/dist/index.cjs.js CHANGED
@@ -1284,7 +1284,7 @@ class AppContext {
1284
1284
  get currentMember() {
1285
1285
  const self = findMemberByUid(this.room, this.manager.uid);
1286
1286
  if (!self) {
1287
- throw new Error(`Member ${this.manager.uid} not found.`);
1287
+ return void 0;
1288
1288
  }
1289
1289
  return __spreadValues({
1290
1290
  uid: this.manager.uid
@@ -12121,7 +12121,7 @@ const reconnectRefresher = new ReconnectRefresher({ emitter });
12121
12121
  const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
12122
12122
  constructor(context) {
12123
12123
  super(context);
12124
- this.version = "1.0.0-canary.46";
12124
+ this.version = "1.0.0-canary.47";
12125
12125
  this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.36", "emittery": "^0.11.0", "lodash": "^4.17.21", "p-retry": "^4.6.2", "side-effect-manager": "^1.1.1", "uuid": "^7.0.3", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.3.2", "@netless/app-plyr": "0.2.0", "@playwright/test": "^1.23.2", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.49", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.6", "@types/node": "^18.0.3", "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.2", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.3", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vite-plugin-dts": "^1.2.1", "vitest": "^0.18.0", "white-web-sdk": "2.16.26" } };
12126
12126
  this.emitter = callbacks;
12127
12127
  this.viewMode = whiteWebSdk.ViewMode.Broadcaster;
@@ -12477,12 +12477,13 @@ const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
12477
12477
  async addPage(params) {
12478
12478
  if (this.appManager) {
12479
12479
  const after = params == null ? void 0 : params.after;
12480
- const scene = params == null ? void 0 : params.scene;
12480
+ const scene = (params == null ? void 0 : params.scene) || {};
12481
+ const scenes = Array.isArray(scene) ? scene : [scene];
12481
12482
  if (after) {
12482
12483
  const nextIndex = this.mainViewSceneIndex + 1;
12483
- this.room.putScenes(ROOT_DIR, [scene || {}], nextIndex);
12484
+ this.room.putScenes(ROOT_DIR, scenes, nextIndex);
12484
12485
  } else {
12485
- this.room.putScenes(ROOT_DIR, [scene || {}]);
12486
+ this.room.putScenes(ROOT_DIR, scenes);
12486
12487
  }
12487
12488
  }
12488
12489
  }
package/dist/index.es.js CHANGED
@@ -1277,7 +1277,7 @@ class AppContext {
1277
1277
  get currentMember() {
1278
1278
  const self = findMemberByUid(this.room, this.manager.uid);
1279
1279
  if (!self) {
1280
- throw new Error(`Member ${this.manager.uid} not found.`);
1280
+ return void 0;
1281
1281
  }
1282
1282
  return __spreadValues({
1283
1283
  uid: this.manager.uid
@@ -12114,7 +12114,7 @@ const reconnectRefresher = new ReconnectRefresher({ emitter });
12114
12114
  const _WindowManager = class extends InvisiblePlugin {
12115
12115
  constructor(context) {
12116
12116
  super(context);
12117
- this.version = "1.0.0-canary.46";
12117
+ this.version = "1.0.0-canary.47";
12118
12118
  this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.36", "emittery": "^0.11.0", "lodash": "^4.17.21", "p-retry": "^4.6.2", "side-effect-manager": "^1.1.1", "uuid": "^7.0.3", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.3.2", "@netless/app-plyr": "0.2.0", "@playwright/test": "^1.23.2", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.49", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.6", "@types/node": "^18.0.3", "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.2", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.3", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vite-plugin-dts": "^1.2.1", "vitest": "^0.18.0", "white-web-sdk": "2.16.26" } };
12119
12119
  this.emitter = callbacks;
12120
12120
  this.viewMode = ViewMode.Broadcaster;
@@ -12470,12 +12470,13 @@ const _WindowManager = class extends InvisiblePlugin {
12470
12470
  async addPage(params) {
12471
12471
  if (this.appManager) {
12472
12472
  const after = params == null ? void 0 : params.after;
12473
- const scene = params == null ? void 0 : params.scene;
12473
+ const scene = (params == null ? void 0 : params.scene) || {};
12474
+ const scenes = Array.isArray(scene) ? scene : [scene];
12474
12475
  if (after) {
12475
12476
  const nextIndex = this.mainViewSceneIndex + 1;
12476
- this.room.putScenes(ROOT_DIR, [scene || {}], nextIndex);
12477
+ this.room.putScenes(ROOT_DIR, scenes, nextIndex);
12477
12478
  } else {
12478
- this.room.putScenes(ROOT_DIR, [scene || {}]);
12479
+ this.room.putScenes(ROOT_DIR, scenes);
12479
12480
  }
12480
12481
  }
12481
12482
  }
package/dist/index.umd.js CHANGED
@@ -1278,7 +1278,7 @@ var __objRest = (source, exclude) => {
1278
1278
  get currentMember() {
1279
1279
  const self2 = findMemberByUid(this.room, this.manager.uid);
1280
1280
  if (!self2) {
1281
- throw new Error(`Member ${this.manager.uid} not found.`);
1281
+ return void 0;
1282
1282
  }
1283
1283
  return __spreadValues({
1284
1284
  uid: this.manager.uid
@@ -12115,7 +12115,7 @@ var __objRest = (source, exclude) => {
12115
12115
  const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
12116
12116
  constructor(context) {
12117
12117
  super(context);
12118
- this.version = "1.0.0-canary.46";
12118
+ this.version = "1.0.0-canary.47";
12119
12119
  this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.36", "emittery": "^0.11.0", "lodash": "^4.17.21", "p-retry": "^4.6.2", "side-effect-manager": "^1.1.1", "uuid": "^7.0.3", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.3.2", "@netless/app-plyr": "0.2.0", "@playwright/test": "^1.23.2", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.49", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.6", "@types/node": "^18.0.3", "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.2", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.3", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vite-plugin-dts": "^1.2.1", "vitest": "^0.18.0", "white-web-sdk": "2.16.26" } };
12120
12120
  this.emitter = callbacks;
12121
12121
  this.viewMode = whiteWebSdk.ViewMode.Broadcaster;
@@ -12471,12 +12471,13 @@ var __objRest = (source, exclude) => {
12471
12471
  async addPage(params) {
12472
12472
  if (this.appManager) {
12473
12473
  const after = params == null ? void 0 : params.after;
12474
- const scene = params == null ? void 0 : params.scene;
12474
+ const scene = (params == null ? void 0 : params.scene) || {};
12475
+ const scenes = Array.isArray(scene) ? scene : [scene];
12475
12476
  if (after) {
12476
12477
  const nextIndex = this.mainViewSceneIndex + 1;
12477
- this.room.putScenes(ROOT_DIR, [scene || {}], nextIndex);
12478
+ this.room.putScenes(ROOT_DIR, scenes, nextIndex);
12478
12479
  } else {
12479
- this.room.putScenes(ROOT_DIR, [scene || {}]);
12480
+ this.room.putScenes(ROOT_DIR, scenes);
12480
12481
  }
12481
12482
  }
12482
12483
  }
@@ -51,7 +51,7 @@ export declare class AppContext<TAttributes = any, TMagixEventPayloads = any, TA
51
51
  get box(): ReadonlyTeleBox;
52
52
  get room(): Room | undefined;
53
53
  get members(): Member[];
54
- get currentMember(): Member;
54
+ get currentMember(): Member | undefined;
55
55
  /** @deprecated Use context.storage.setState instead. */
56
56
  setAttributes: (attributes: TAttributes) => void;
57
57
  /** @deprecated Use context.storage.setState instead. */
@@ -1,7 +1,7 @@
1
1
  import type { SceneDefinition } from "white-web-sdk";
2
2
  export declare type AddPageParams = {
3
3
  after?: boolean;
4
- scene?: SceneDefinition;
4
+ scene?: SceneDefinition | SceneDefinition[];
5
5
  };
6
6
  export declare type PageState = {
7
7
  index: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netless/window-manager",
3
- "version": "1.0.0-canary.46",
3
+ "version": "1.0.0-canary.47",
4
4
  "description": "",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",
@@ -180,10 +180,11 @@ export class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOption
180
180
  return this.manager.members$.value;
181
181
  }
182
182
 
183
- public get currentMember(): Member {
183
+ //** currentMember is undefined in read-only and replay mode. */
184
+ public get currentMember(): Member | undefined {
184
185
  const self = findMemberByUid(this.room, this.manager.uid);
185
186
  if (!self) {
186
- throw new Error(`Member ${this.manager.uid} not found.`);
187
+ return undefined;
187
188
  }
188
189
  return {
189
190
  uid: this.manager.uid,
@@ -2,7 +2,7 @@ import type { SceneDefinition } from "white-web-sdk";
2
2
 
3
3
  export type AddPageParams = {
4
4
  after?: boolean;
5
- scene?: SceneDefinition;
5
+ scene?: SceneDefinition | SceneDefinition[];
6
6
  };
7
7
 
8
8
  export type PageState = {
package/src/index.ts CHANGED
@@ -539,12 +539,13 @@ export class WindowManager extends InvisiblePlugin<WindowMangerAttributes> imple
539
539
  public async addPage(params?: AddPageParams): Promise<void> {
540
540
  if (this.appManager) {
541
541
  const after = params?.after;
542
- const scene = params?.scene;
542
+ const scene = params?.scene || {};
543
+ const scenes = Array.isArray(scene) ? scene : [scene];
543
544
  if (after) {
544
545
  const nextIndex = this.mainViewSceneIndex + 1;
545
- this.room.putScenes(ROOT_DIR, [scene || {}], nextIndex);
546
+ this.room.putScenes(ROOT_DIR, scenes, nextIndex);
546
547
  } else {
547
- this.room.putScenes(ROOT_DIR, [scene || {}]);
548
+ this.room.putScenes(ROOT_DIR, scenes);
548
549
  }
549
550
  }
550
551
  }