@netless/window-manager 0.4.24 → 0.4.25

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/dist/index.d.ts CHANGED
@@ -232,6 +232,7 @@ export declare class WindowManager extends InvisiblePlugin<WindowMangerAttribute
232
232
  refresh(): void;
233
233
  /** @inner */
234
234
  _refresh(): void;
235
+ setContainerSizeRatio(ratio: number): void;
235
236
  private isDynamicPPT;
236
237
  private ensureAttributes;
237
238
  }
package/dist/index.es.js CHANGED
@@ -19,7 +19,7 @@ var __spreadValues = (a2, b2) => {
19
19
  var __spreadProps = (a2, b2) => __defProps(a2, __getOwnPropDescs(b2));
20
20
  import pRetry from "p-retry";
21
21
  import Emittery from "emittery";
22
- import { debounce, isEqual, omit, isObject, has, get, size as size$1, mapValues, noop as noop$1, pick, isEmpty, isInteger, orderBy, throttle, isFunction, isNull } from "lodash";
22
+ import { debounce, isEqual, omit, isObject, has, get, size as size$1, mapValues, noop as noop$1, pick, isEmpty, isInteger, orderBy, isFunction, throttle, isNumber, isNull } from "lodash";
23
23
  import { ScenePathType, UpdateEventKind, listenUpdated, unlistenUpdated, reaction, autorun, toJS, listenDisposed, unlistenDisposed, AnimationMode, isPlayer, isRoom, WhiteVersion, ApplianceNames, RoomPhase, InvisiblePlugin, ViewMode } from "white-web-sdk";
24
24
  import { v4 } from "uuid";
25
25
  import { genUID, SideEffectManager } from "side-effect-manager";
@@ -1644,6 +1644,13 @@ class MainViewProxy {
1644
1644
  this.moveCamera(this.mainViewCamera);
1645
1645
  }
1646
1646
  }, 30);
1647
+ this.onUpdateContainerSizeRatio = () => {
1648
+ const size2 = this.store.getMainViewSize();
1649
+ this.sizeChangeHandler(size2);
1650
+ if (size2.id === this.manager.uid) {
1651
+ this.setCameraAndSize();
1652
+ }
1653
+ };
1647
1654
  this.onCameraUpdatedByDevice = (camera) => {
1648
1655
  this.store.setMainViewCamera(__spreadProps(__spreadValues({}, camera), { id: this.manager.uid }));
1649
1656
  if (!isEqual(this.mainViewSize, __spreadProps(__spreadValues({}, this.mainView.size), { id: this.manager.uid }))) {
@@ -1671,8 +1678,10 @@ class MainViewProxy {
1671
1678
  this.sizeChangeHandler(this.mainViewSize);
1672
1679
  };
1673
1680
  this.sideEffectManager.add(() => {
1674
- emitter.on("playgroundSizeChange", playgroundSizeChangeListener);
1675
- return () => emitter.off("playgroundSizeChange", playgroundSizeChangeListener);
1681
+ return emitter.on("playgroundSizeChange", playgroundSizeChangeListener);
1682
+ });
1683
+ this.sideEffectManager.add(() => {
1684
+ return emitter.on("containerSizeRatioUpdate", this.onUpdateContainerSizeRatio);
1676
1685
  });
1677
1686
  }
1678
1687
  ensureCameraAndSize() {
@@ -2555,6 +2564,9 @@ class ContainerResizeObserver {
2555
2564
  this.emitter.emit("playgroundSizeChange", containerRect);
2556
2565
  }
2557
2566
  });
2567
+ this.disposer = this.emitter.on("containerSizeRatioUpdate", () => {
2568
+ this.updateSizer(container.getBoundingClientRect(), sizer, wrapper);
2569
+ });
2558
2570
  this.containerResizeObserver.observe(container);
2559
2571
  }
2560
2572
  updateSizer({ width, height }, sizer, wrapper) {
@@ -2573,6 +2585,10 @@ class ContainerResizeObserver {
2573
2585
  disconnect() {
2574
2586
  var _a;
2575
2587
  (_a = this.containerResizeObserver) == null ? void 0 : _a.disconnect();
2588
+ if (isFunction(this.disposer)) {
2589
+ this.disposer();
2590
+ this.disposer = void 0;
2591
+ }
2576
2592
  }
2577
2593
  }
2578
2594
  var react = { exports: {} };
@@ -14868,14 +14884,14 @@ const reconnectRefresher = new ReconnectRefresher({ emitter });
14868
14884
  const _WindowManager = class extends InvisiblePlugin {
14869
14885
  constructor(context) {
14870
14886
  super(context);
14871
- this.version = "0.4.24";
14872
- this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "0.2.26", "emittery": "^0.9.2", "lodash": "^4.17.21", "p-retry": "^4.6.1", "side-effect-manager": "^0.1.5", "uuid": "^7.0.3", "video.js": ">=7" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.2.9", "@netless/app-media-player": "0.1.0-beta.5", "@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.22", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/jest": "^27.4.1", "@types/lodash-es": "^4.17.4", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jest": "^27.5.1", "jest-canvas-mock": "^2.3.1", "jest-fetch-mock": "^3.0.3", "jest-transform-stub": "^2.0.0", "less": "^4.1.1", "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", "svelte-jester": "^2.3.2", "ts-jest": "^27.1.4", "typescript": "^4.5.5", "vite": "^2.5.3", "white-web-sdk": "2.16.10" } };
14887
+ this.version = "0.4.25";
14888
+ this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "0.2.26", "emittery": "^0.9.2", "lodash": "^4.17.21", "p-retry": "^4.6.1", "side-effect-manager": "^0.1.5", "uuid": "^7.0.3", "video.js": ">=7" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.2.9", "@netless/app-media-player": "0.1.0-beta.5", "@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.22", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.4", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "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.1", "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", "vitest": "^0.12.4", "white-web-sdk": "2.16.10" } };
14873
14889
  this.emitter = callbacks$1;
14874
14890
  this.viewMode = ViewMode.Broadcaster;
14875
14891
  this.isReplay = isPlayer(this.displayer);
14876
14892
  this.containerSizeRatio = _WindowManager.containerSizeRatio;
14877
14893
  _WindowManager.displayer = context.displayer;
14878
- window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "0.2.26", "emittery": "^0.9.2", "lodash": "^4.17.21", "p-retry": "^4.6.1", "side-effect-manager": "^0.1.5", "uuid": "^7.0.3", "video.js": ">=7" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.2.9", "@netless/app-media-player": "0.1.0-beta.5", "@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.22", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/jest": "^27.4.1", "@types/lodash-es": "^4.17.4", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jest": "^27.5.1", "jest-canvas-mock": "^2.3.1", "jest-fetch-mock": "^3.0.3", "jest-transform-stub": "^2.0.0", "less": "^4.1.1", "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", "svelte-jester": "^2.3.2", "ts-jest": "^27.1.4", "typescript": "^4.5.5", "vite": "^2.5.3", "white-web-sdk": "2.16.10" } };
14894
+ window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "0.2.26", "emittery": "^0.9.2", "lodash": "^4.17.21", "p-retry": "^4.6.1", "side-effect-manager": "^0.1.5", "uuid": "^7.0.3", "video.js": ">=7" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.2.9", "@netless/app-media-player": "0.1.0-beta.5", "@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.22", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.4", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "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.1", "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", "vitest": "^0.12.4", "white-web-sdk": "2.16.10" } };
14879
14895
  }
14880
14896
  static async mount(params) {
14881
14897
  const room = params.room;
@@ -15474,6 +15490,14 @@ const _WindowManager = class extends InvisiblePlugin {
15474
15490
  }
15475
15491
  (_c = (_b = this.appManager) == null ? void 0 : _b.refresher) == null ? void 0 : _c.refresh();
15476
15492
  }
15493
+ setContainerSizeRatio(ratio) {
15494
+ if (!isNumber(ratio)) {
15495
+ throw new Error(`[WindowManager]: updateContainerSizeRatio error, ratio must be a number. but got ${ratio}`);
15496
+ }
15497
+ _WindowManager.containerSizeRatio = ratio;
15498
+ this.containerSizeRatio = ratio;
15499
+ emitter.emit("containerSizeRatioUpdate", ratio);
15500
+ }
15477
15501
  isDynamicPPT(scenes) {
15478
15502
  var _a, _b;
15479
15503
  const sceneSrc = (_b = (_a = scenes[0]) == null ? void 0 : _a.ppt) == null ? void 0 : _b.src;