@netless/window-manager 0.4.24 → 0.4.27-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/CHANGELOG.md +9 -0
- package/__mocks__/white-web-sdk.ts +41 -0
- package/dist/App/AppContext.d.ts +2 -1
- package/dist/App/AppProxy.d.ts +7 -3
- package/dist/AppListener.d.ts +1 -0
- package/dist/AppManager.d.ts +2 -0
- package/dist/ContainerResizeObserver.d.ts +2 -1
- package/dist/InternalEmitter.d.ts +8 -2
- package/dist/Page/PageController.d.ts +5 -0
- package/dist/Page/index.d.ts +2 -0
- package/dist/Utils/Common.d.ts +2 -1
- package/dist/Utils/error.d.ts +3 -0
- package/dist/View/MainView.d.ts +4 -1
- package/dist/constants.d.ts +1 -0
- package/dist/index.cjs.js +12 -12
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.es.js +263 -61
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +12 -12
- package/dist/index.umd.js.map +1 -1
- package/dist/typings.d.ts +1 -0
- package/docs/advanced.md +29 -4
- package/docs/api.md +17 -0
- package/docs/app-context.md +149 -100
- package/package.json +5 -9
- package/pnpm-lock.yaml +793 -2690
- package/src/App/AppContext.ts +20 -11
- package/src/App/AppProxy.ts +61 -5
- package/src/App/Storage/index.ts +14 -8
- package/src/AppListener.ts +22 -0
- package/src/AppManager.ts +57 -24
- package/src/ContainerResizeObserver.ts +12 -1
- package/src/InternalEmitter.ts +7 -2
- package/src/Page/PageController.ts +6 -0
- package/src/Page/index.ts +18 -0
- package/src/PageState.ts +2 -1
- package/src/ReconnectRefresher.ts +4 -1
- package/src/Utils/Common.ts +14 -2
- package/src/Utils/RoomHacker.ts +2 -2
- package/src/Utils/error.ts +4 -0
- package/src/View/MainView.ts +37 -8
- package/src/constants.ts +1 -0
- package/src/index.ts +26 -1
- package/src/typings.ts +1 -0
- package/vite.config.js +9 -1
package/CHANGELOG.md
CHANGED
@@ -0,0 +1,41 @@
|
|
1
|
+
import { vi } from "vitest";
|
2
|
+
|
3
|
+
class InvisiblePlugin {
|
4
|
+
attributes: any = {};
|
5
|
+
setAttributes (attrs: any) {
|
6
|
+
this.attributes = { ...this.attributes, ...attrs };
|
7
|
+
}
|
8
|
+
}
|
9
|
+
|
10
|
+
const UpdateEventKind = {
|
11
|
+
Inserted: 0,
|
12
|
+
Updated: 1,
|
13
|
+
Removed: 2,
|
14
|
+
}
|
15
|
+
|
16
|
+
enum ApplianceNames {
|
17
|
+
selector = "selector",
|
18
|
+
clicker = "clicker",
|
19
|
+
laserPointer = "laserPointer",
|
20
|
+
pencil = "pencil",
|
21
|
+
rectangle = "rectangle",
|
22
|
+
ellipse = "ellipse",
|
23
|
+
shape = "shape",
|
24
|
+
eraser = "eraser",
|
25
|
+
text = "text",
|
26
|
+
straight = "straight",
|
27
|
+
arrow = "arrow",
|
28
|
+
hand = "hand",
|
29
|
+
}
|
30
|
+
|
31
|
+
enum ViewMode {
|
32
|
+
Freedom = "freedom",
|
33
|
+
Follower = "follower",
|
34
|
+
Broadcaster = "broadcaster",
|
35
|
+
}
|
36
|
+
|
37
|
+
const isPlayer = vi.fn(() => false);
|
38
|
+
|
39
|
+
export {
|
40
|
+
InvisiblePlugin, UpdateEventKind, ApplianceNames, ViewMode, isPlayer
|
41
|
+
}
|
package/dist/App/AppContext.d.ts
CHANGED
@@ -36,6 +36,7 @@ export declare class AppContext<TAttributes = any, TMagixEventPayloads = any, TA
|
|
36
36
|
getAttributes: () => TAttributes | undefined;
|
37
37
|
getScenes: () => SceneDefinition[] | undefined;
|
38
38
|
getView: () => View | undefined;
|
39
|
+
mountView: (dom: HTMLElement) => void;
|
39
40
|
getInitScenePath: () => string | undefined;
|
40
41
|
/** Get App writable status. */
|
41
42
|
getIsWritable: () => boolean;
|
@@ -47,7 +48,6 @@ export declare class AppContext<TAttributes = any, TMagixEventPayloads = any, TA
|
|
47
48
|
/** @deprecated Use context.storage.setState instead. */
|
48
49
|
updateAttributes: (keys: string[], value: any) => void;
|
49
50
|
setScenePath: (scenePath: string) => Promise<void>;
|
50
|
-
mountView: (dom: HTMLElement) => void;
|
51
51
|
/** Get the local App options. */
|
52
52
|
getAppOptions: () => TAppOptions | undefined;
|
53
53
|
private _storage?;
|
@@ -70,5 +70,6 @@ export declare class AppContext<TAttributes = any, TMagixEventPayloads = any, TA
|
|
70
70
|
nextPage: () => Promise<boolean>;
|
71
71
|
prevPage: () => Promise<boolean>;
|
72
72
|
addPage: (params?: AddPageParams | undefined) => Promise<void>;
|
73
|
+
removePage: (index: number) => Promise<boolean>;
|
73
74
|
get pageState(): PageState;
|
74
75
|
}
|
package/dist/App/AppProxy.d.ts
CHANGED
@@ -5,9 +5,9 @@ import type { SceneState, View, SceneDefinition } from "white-web-sdk";
|
|
5
5
|
import type { AppManager } from "../AppManager";
|
6
6
|
import type { NetlessApp } from "../typings";
|
7
7
|
import type { ReadonlyTeleBox } from "@netless/telebox-insider";
|
8
|
-
import
|
8
|
+
import { PageRemoveService, PageState } from "../Page";
|
9
9
|
export declare type AppEmitter = Emittery<AppEmitterEvent>;
|
10
|
-
export declare class AppProxy {
|
10
|
+
export declare class AppProxy implements PageRemoveService {
|
11
11
|
private params;
|
12
12
|
private manager;
|
13
13
|
kind: string;
|
@@ -24,6 +24,7 @@ export declare class AppProxy {
|
|
24
24
|
private status;
|
25
25
|
private stateKey;
|
26
26
|
private _pageState;
|
27
|
+
private _prevFullPath;
|
27
28
|
appResult?: NetlessApp<any>;
|
28
29
|
appContext?: AppContext<any, any>;
|
29
30
|
constructor(params: BaseInsertParams, manager: AppManager, appId: string, isAddApp: boolean);
|
@@ -46,6 +47,7 @@ export declare class AppProxy {
|
|
46
47
|
private afterSetupApp;
|
47
48
|
onSeek(time: number): Promise<void>;
|
48
49
|
onReconnected(): Promise<void>;
|
50
|
+
onRemoveScene(scenePath: string): Promise<void>;
|
49
51
|
getAppInitState: (id: string) => AppInitState | undefined;
|
50
52
|
emitAppSceneStateChange(sceneState: SceneState): void;
|
51
53
|
emitAppIsWritableChange(): void;
|
@@ -55,8 +57,10 @@ export declare class AppProxy {
|
|
55
57
|
setScenePath(): void;
|
56
58
|
setViewFocusScenePath(): string | undefined;
|
57
59
|
private createView;
|
58
|
-
notifyPageStateChange: () => void
|
60
|
+
notifyPageStateChange: import("lodash").DebouncedFunc<() => void>;
|
59
61
|
get pageState(): PageState;
|
62
|
+
removeSceneByIndex(index: number): Promise<boolean>;
|
63
|
+
setSceneIndexWithoutSync(index: number): void;
|
60
64
|
setSceneIndex(index: number): void;
|
61
65
|
destroy(needCloseBox: boolean, cleanAttrs: boolean, skipUpdate: boolean, error?: Error): Promise<void>;
|
62
66
|
close(): Promise<void>;
|
package/dist/AppListener.d.ts
CHANGED
package/dist/AppManager.d.ts
CHANGED
@@ -38,6 +38,8 @@ export declare class AppManager {
|
|
38
38
|
private onPlayerSeekStart;
|
39
39
|
private onPlayerSeekDone;
|
40
40
|
createRootDirScenesCallback: () => void;
|
41
|
+
removeSceneByIndex: (index: number) => Promise<boolean>;
|
42
|
+
setSceneIndexWithoutSync: (index: number) => void;
|
41
43
|
private onSceneChange;
|
42
44
|
private emitMainViewScenesChange;
|
43
45
|
private updateSceneState;
|
@@ -2,9 +2,10 @@ import type { EmitterType } from "./InternalEmitter";
|
|
2
2
|
export declare class ContainerResizeObserver {
|
3
3
|
private emitter;
|
4
4
|
private containerResizeObserver?;
|
5
|
+
private disposer?;
|
5
6
|
constructor(emitter: EmitterType);
|
6
7
|
static create(container: HTMLElement, sizer: HTMLElement, wrapper: HTMLDivElement, emitter: EmitterType): ContainerResizeObserver;
|
7
8
|
observePlaygroundSize(container: HTMLElement, sizer: HTMLElement, wrapper: HTMLDivElement): void;
|
8
|
-
|
9
|
+
updateSizer({ width, height }: DOMRectReadOnly, sizer: HTMLElement, wrapper: HTMLDivElement): void;
|
9
10
|
disconnect(): void;
|
10
11
|
}
|
@@ -1,5 +1,9 @@
|
|
1
1
|
import Emittery from "emittery";
|
2
2
|
import type { AppInitState, CursorMovePayload } from "./index";
|
3
|
+
export declare type RemoveSceneParams = {
|
4
|
+
scenePath: string;
|
5
|
+
index?: number;
|
6
|
+
};
|
3
7
|
export declare type EmitterEvent = {
|
4
8
|
onCreated: undefined;
|
5
9
|
InitReplay: AppInitState;
|
@@ -28,8 +32,9 @@ export declare type EmitterEvent = {
|
|
28
32
|
observerIdChange: number;
|
29
33
|
boxStateChange: string;
|
30
34
|
playgroundSizeChange: DOMRect;
|
31
|
-
|
32
|
-
|
35
|
+
startReconnect: undefined;
|
36
|
+
onReconnected: undefined;
|
37
|
+
removeScenes: RemoveSceneParams;
|
33
38
|
cursorMove: CursorMovePayload;
|
34
39
|
updateManagerRect: undefined;
|
35
40
|
focusedChange: {
|
@@ -40,6 +45,7 @@ export declare type EmitterEvent = {
|
|
40
45
|
setReadonly: boolean;
|
41
46
|
changePageState: undefined;
|
42
47
|
writableChange: boolean;
|
48
|
+
containerSizeRatioUpdate: number;
|
43
49
|
};
|
44
50
|
export declare type EmitterType = Emittery<EmitterEvent>;
|
45
51
|
export declare const emitter: EmitterType;
|
@@ -11,5 +11,10 @@ export interface PageController {
|
|
11
11
|
nextPage: () => Promise<boolean>;
|
12
12
|
prevPage: () => Promise<boolean>;
|
13
13
|
addPage: (params?: AddPageParams) => Promise<void>;
|
14
|
+
removePage: (index: number) => Promise<boolean>;
|
14
15
|
pageState: PageState;
|
15
16
|
}
|
17
|
+
export interface PageRemoveService {
|
18
|
+
removeSceneByIndex: (index: number) => Promise<boolean>;
|
19
|
+
setSceneIndexWithoutSync: (index: number) => void;
|
20
|
+
}
|
package/dist/Page/index.d.ts
CHANGED
package/dist/Utils/Common.d.ts
CHANGED
@@ -6,7 +6,7 @@ export declare const setViewFocusScenePath: (view: View, focusScenePath: string)
|
|
6
6
|
export declare const setViewSceneIndex: (view: View, index: number) => View | undefined;
|
7
7
|
export declare const setScenePath: (room: Room | undefined, scenePath: string) => void;
|
8
8
|
export declare const getScenePath: (room: Room | undefined, dir: string | undefined, index: number) => string | undefined;
|
9
|
-
export declare const removeScenes: (room: Room | undefined, scenePath: string) => void;
|
9
|
+
export declare const removeScenes: (room: Room | undefined, scenePath: string, index?: number | undefined) => void;
|
10
10
|
export declare const setViewMode: (view: View, mode: ViewVisionMode) => void;
|
11
11
|
export declare const emitError: (error: Error) => void;
|
12
12
|
export declare const addEmitterOnceListener: (event: any, listener: any) => void;
|
@@ -19,3 +19,4 @@ export declare const parseSceneDir: (scenePath: string) => string;
|
|
19
19
|
export declare const ensureValidScenePath: (scenePath: string) => string;
|
20
20
|
export declare const getVersionNumber: (version: string) => number;
|
21
21
|
export declare const wait: (time: number) => Promise<unknown>;
|
22
|
+
export declare const isRootDirPage: (scenePath: string) => boolean;
|
package/dist/Utils/error.d.ts
CHANGED
package/dist/View/MainView.d.ts
CHANGED
@@ -13,12 +13,14 @@ export declare class MainViewProxy {
|
|
13
13
|
ensureCameraAndSize(): void;
|
14
14
|
private get mainViewCamera();
|
15
15
|
private get mainViewSize();
|
16
|
+
private get didRelease();
|
16
17
|
private moveCameraSizeByAttributes;
|
17
18
|
start(): void;
|
18
19
|
addCameraReaction: () => void;
|
19
20
|
setCameraAndSize(): void;
|
20
21
|
private cameraReaction;
|
21
|
-
|
22
|
+
sizeChangeHandler: import("lodash").DebouncedFunc<(size: Size) => void>;
|
23
|
+
onUpdateContainerSizeRatio: () => void;
|
22
24
|
get view(): View;
|
23
25
|
get cameraState(): {
|
24
26
|
width: number;
|
@@ -29,6 +31,7 @@ export declare class MainViewProxy {
|
|
29
31
|
};
|
30
32
|
createMainView(): View;
|
31
33
|
onReconnect(): void;
|
34
|
+
setFocusScenePath(path: string | undefined): View | undefined;
|
32
35
|
rebind(): void;
|
33
36
|
private onCameraUpdatedByDevice;
|
34
37
|
addMainViewListener(): void;
|
package/dist/constants.d.ts
CHANGED
@@ -9,6 +9,7 @@ export declare enum Events {
|
|
9
9
|
WindowCreated = "WindowCreated",
|
10
10
|
SetMainViewScenePath = "SetMainViewScenePath",
|
11
11
|
SetMainViewSceneIndex = "SetMainViewSceneIndex",
|
12
|
+
SetAppFocusIndex = "SetAppFocusIndex",
|
12
13
|
SwitchViewsToFreedom = "SwitchViewsToFreedom",
|
13
14
|
MoveCamera = "MoveCamera",
|
14
15
|
MoveCameraToContain = "MoveCameraToContain",
|