@netless/window-manager 1.0.0-canary.0 → 1.0.0-canary.3
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/App/AppContext.d.ts +14 -15
- package/dist/App/AppPageStateImpl.d.ts +6 -2
- package/dist/App/AppProxy.d.ts +5 -1
- package/dist/App/WhiteBoardView.d.ts +18 -0
- package/dist/App/index.d.ts +1 -0
- package/dist/AppManager.d.ts +2 -0
- package/dist/BoxManager.d.ts +2 -0
- package/dist/Helper.d.ts +12 -2
- package/dist/InternalEmitter.d.ts +2 -0
- package/dist/constants.d.ts +1 -0
- package/dist/index.cjs.js +12 -12
- package/dist/index.es.js +239 -392
- package/dist/index.umd.js +12 -12
- package/dist/style.css +1 -1
- package/dist/typings.d.ts +4 -0
- package/docs/app-context.md +94 -64
- package/docs/develop-app.md +2 -5
- package/package.json +3 -2
- package/pnpm-lock.yaml +11 -5
- package/src/App/AppContext.ts +65 -72
- package/src/App/AppPageStateImpl.ts +25 -6
- package/src/App/AppProxy.ts +39 -6
- package/src/App/Storage/index.ts +4 -4
- package/src/App/WhiteBoardView.ts +76 -0
- package/src/App/index.ts +1 -0
- package/src/AppManager.ts +9 -1
- package/src/BoxManager.ts +9 -1
- package/src/Helper.ts +10 -1
- package/src/InternalEmitter.ts +2 -0
- package/src/View/MainView.ts +2 -2
- package/src/constants.ts +2 -0
- package/src/index.ts +1 -1
- package/src/style.css +9 -0
- package/src/typings.ts +4 -0
package/dist/App/AppContext.d.ts
CHANGED
@@ -4,12 +4,12 @@ import type { Room, SceneDefinition, View } from "white-web-sdk";
|
|
4
4
|
import type { ReadonlyTeleBox } from "@netless/telebox-insider";
|
5
5
|
import type Emittery from "emittery";
|
6
6
|
import type { BoxManager } from "../BoxManager";
|
7
|
-
import type { AppEmitterEvent } from "../index";
|
7
|
+
import type { AppEmitterEvent, Member } from "../index";
|
8
8
|
import type { AppManager } from "../AppManager";
|
9
9
|
import type { AppProxy } from "./AppProxy";
|
10
10
|
import type { MagixEventAddListener, MagixEventDispatcher, MagixEventRemoveListener } from "./MagixEvent";
|
11
|
-
import
|
12
|
-
export declare class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any>
|
11
|
+
import { WhiteBoardView } from "./WhiteBoardView";
|
12
|
+
export declare class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any> {
|
13
13
|
private manager;
|
14
14
|
private boxManager;
|
15
15
|
appId: string;
|
@@ -30,23 +30,28 @@ export declare class AppContext<TAttributes = any, TMagixEventPayloads = any, TA
|
|
30
30
|
private store;
|
31
31
|
readonly isAddApp: boolean;
|
32
32
|
readonly isReplay: boolean;
|
33
|
+
private whiteBoardView?;
|
33
34
|
constructor(manager: AppManager, boxManager: BoxManager, appId: string, appProxy: AppProxy, appOptions?: TAppOptions | (() => TAppOptions) | undefined);
|
34
|
-
|
35
|
+
get displayer(): import("white-web-sdk").Displayer<import("white-web-sdk").DisplayerCallbacks>;
|
35
36
|
/** @deprecated Use context.storage.state instead. */
|
36
37
|
getAttributes: () => TAttributes | undefined;
|
37
38
|
getScenes: () => SceneDefinition[] | undefined;
|
38
|
-
|
39
|
-
|
39
|
+
get view(): View | undefined;
|
40
|
+
createWhiteBoardView: (size?: number | undefined) => WhiteBoardView;
|
41
|
+
private initPageSize;
|
40
42
|
getInitScenePath: () => string | undefined;
|
41
43
|
/** Get App writable status. */
|
42
|
-
|
44
|
+
get isWritable(): boolean;
|
43
45
|
/** Get the App Window UI box. */
|
44
|
-
|
45
|
-
|
46
|
+
get box(): ReadonlyTeleBox;
|
47
|
+
get room(): Room | undefined;
|
48
|
+
get members(): Member[];
|
49
|
+
get memberState(): Member;
|
46
50
|
/** @deprecated Use context.storage.setState instead. */
|
47
51
|
setAttributes: (attributes: TAttributes) => void;
|
48
52
|
/** @deprecated Use context.storage.setState instead. */
|
49
53
|
updateAttributes: (keys: string[], value: any) => void;
|
54
|
+
/** @deprecated Use Pages api instead. */
|
50
55
|
setScenePath: (scenePath: string) => Promise<void>;
|
51
56
|
/** Get the local App options. */
|
52
57
|
getAppOptions: () => TAppOptions | undefined;
|
@@ -66,10 +71,4 @@ export declare class AppContext<TAttributes = any, TMagixEventPayloads = any, TA
|
|
66
71
|
addMagixEventListener: MagixEventAddListener<TMagixEventPayloads>;
|
67
72
|
/** Remove a Magix event listener. */
|
68
73
|
removeMagixEventListener: MagixEventRemoveListener<TMagixEventPayloads>;
|
69
|
-
/** PageController */
|
70
|
-
nextPage: () => Promise<boolean>;
|
71
|
-
prevPage: () => Promise<boolean>;
|
72
|
-
addPage: (params?: AddPageParams | undefined) => Promise<void>;
|
73
|
-
removePage: (index?: number | undefined) => Promise<boolean>;
|
74
|
-
get pageState(): PageState;
|
75
74
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { Displayer, View } from "white-web-sdk";
|
1
|
+
import type { Displayer, ScenesCallbacksNode, View } from "white-web-sdk";
|
2
2
|
import type { PageState } from "../Page";
|
3
3
|
export declare type AppPageStateParams = {
|
4
4
|
displayer: Displayer;
|
@@ -8,8 +8,12 @@ export declare type AppPageStateParams = {
|
|
8
8
|
};
|
9
9
|
export declare class AppPageStateImpl {
|
10
10
|
private params;
|
11
|
-
|
11
|
+
sceneNode: ScenesCallbacksNode | null;
|
12
|
+
private scenePath?;
|
13
|
+
private view?;
|
12
14
|
constructor(params: AppPageStateParams);
|
15
|
+
createSceneNode: (scenePath: string) => ScenesCallbacksNode | null;
|
16
|
+
setView(view: View): void;
|
13
17
|
private onSceneChange;
|
14
18
|
getFullPath(index: number): string | undefined;
|
15
19
|
toObject(): PageState;
|
package/dist/App/AppProxy.d.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import Emittery from "emittery";
|
2
2
|
import { AppContext } from "./AppContext";
|
3
|
+
import { AppPageStateImpl } from "./AppPageStateImpl";
|
3
4
|
import type { AppEmitterEvent, AppInitState, BaseInsertParams } from "../index";
|
4
5
|
import type { SceneState, View, SceneDefinition } from "white-web-sdk";
|
5
6
|
import type { AppManager } from "../AppManager";
|
@@ -13,6 +14,7 @@ export declare class AppProxy implements PageRemoveService {
|
|
13
14
|
kind: string;
|
14
15
|
id: string;
|
15
16
|
scenePath?: string;
|
17
|
+
private appScenePath;
|
16
18
|
appEmitter: AppEmitter;
|
17
19
|
scenes?: SceneDefinition[];
|
18
20
|
private appListener;
|
@@ -23,11 +25,13 @@ export declare class AppProxy implements PageRemoveService {
|
|
23
25
|
isAddApp: boolean;
|
24
26
|
private status;
|
25
27
|
private stateKey;
|
26
|
-
|
28
|
+
_pageState: AppPageStateImpl;
|
27
29
|
private _prevFullPath;
|
28
30
|
appResult?: NetlessApp<any>;
|
29
31
|
appContext?: AppContext<any, any>;
|
32
|
+
private sideEffectManager;
|
30
33
|
constructor(params: BaseInsertParams, manager: AppManager, appId: string, isAddApp: boolean);
|
34
|
+
createAppDir(): View;
|
31
35
|
private initScenes;
|
32
36
|
get view(): View | undefined;
|
33
37
|
get viewIndex(): number | undefined;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { ReadonlyVal } from "value-enhancer";
|
2
|
+
import type { AddPageParams, PageController, PageState } from "../Page";
|
3
|
+
import type { AppProxy } from "./AppProxy";
|
4
|
+
import type { AppContext } from "./AppContext";
|
5
|
+
export declare class WhiteBoardView implements PageController {
|
6
|
+
protected appContext: AppContext;
|
7
|
+
protected appProxy: AppProxy;
|
8
|
+
private removeViewWrapper;
|
9
|
+
readonly pageState$: ReadonlyVal<PageState>;
|
10
|
+
constructor(appContext: AppContext, appProxy: AppProxy, removeViewWrapper: () => void);
|
11
|
+
get pageState(): PageState;
|
12
|
+
nextPage: () => Promise<boolean>;
|
13
|
+
prevPage: () => Promise<boolean>;
|
14
|
+
jumpPage: (index: number) => Promise<boolean>;
|
15
|
+
addPage: (params?: AddPageParams | undefined) => Promise<void>;
|
16
|
+
removePage: (index?: number | undefined) => Promise<boolean>;
|
17
|
+
destroy(): void;
|
18
|
+
}
|
package/dist/App/index.d.ts
CHANGED
package/dist/AppManager.d.ts
CHANGED
@@ -7,6 +7,7 @@ import type { ReconnectRefresher } from "./ReconnectRefresher";
|
|
7
7
|
import type { BoxManager } from "./BoxManager";
|
8
8
|
import type { Displayer, Room, SceneState } from "white-web-sdk";
|
9
9
|
import type { AddAppParams, TeleBoxRect } from "./index";
|
10
|
+
import type { Member } from "./Helper";
|
10
11
|
export declare class AppManager {
|
11
12
|
windowManger: WindowManager;
|
12
13
|
displayer: Displayer;
|
@@ -50,6 +51,7 @@ export declare class AppManager {
|
|
50
51
|
get mainView(): import("white-web-sdk").View;
|
51
52
|
get focusApp(): AppProxy | undefined;
|
52
53
|
get uid(): string;
|
54
|
+
get members(): Member[];
|
53
55
|
getMainViewSceneDir(): string;
|
54
56
|
private onCreated;
|
55
57
|
private onBoxMove;
|
package/dist/BoxManager.d.ts
CHANGED
@@ -71,6 +71,7 @@ export declare class BoxManager {
|
|
71
71
|
get darkMode(): boolean;
|
72
72
|
get prefersColorScheme(): TeleBoxColorScheme;
|
73
73
|
get boxSize(): number;
|
74
|
+
get stageRect(): TeleBoxRect;
|
74
75
|
createBox(params: CreateBoxParams): void;
|
75
76
|
setupBoxManager(createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig): TeleBoxManager;
|
76
77
|
getBox(appId: string): ReadonlyTeleBox | undefined;
|
@@ -94,5 +95,6 @@ export declare class BoxManager {
|
|
94
95
|
setPrefersColorScheme(colorScheme: TeleBoxColorScheme): void;
|
95
96
|
setZIndex(id: string, zIndex: number, skipUpdate?: boolean): void;
|
96
97
|
setRoot(root: HTMLElement): void;
|
98
|
+
setCollector(collector: HTMLElement): void;
|
97
99
|
destroy(): void;
|
98
100
|
}
|
package/dist/Helper.d.ts
CHANGED
@@ -1,7 +1,17 @@
|
|
1
|
-
import type { Room } from "white-web-sdk";
|
1
|
+
import type { Room, RoomMember } from "white-web-sdk";
|
2
2
|
export declare const setupWrapper: (root: HTMLElement) => {
|
3
3
|
playground: HTMLDivElement;
|
4
4
|
mainViewElement: HTMLDivElement;
|
5
5
|
};
|
6
6
|
export declare const checkVersion: () => void;
|
7
|
-
export declare const findMemberByUid: (room: Room | undefined, uid: string) =>
|
7
|
+
export declare const findMemberByUid: (room: Room | undefined, uid: string) => RoomMember | undefined;
|
8
|
+
export declare type Member = RoomMember & {
|
9
|
+
uid: string;
|
10
|
+
};
|
11
|
+
export declare const serializeRoomMembers: (members: readonly RoomMember[]) => {
|
12
|
+
memberId: number;
|
13
|
+
memberState: import("white-web-sdk").MemberState;
|
14
|
+
session: string;
|
15
|
+
payload?: import("white-web-sdk").UserPayload | undefined;
|
16
|
+
uid: string;
|
17
|
+
}[];
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import Emittery from "emittery";
|
2
2
|
import type { TeleBoxRect } from "@netless/telebox-insider";
|
3
3
|
import type { AppInitState, CursorMovePayload } from "./index";
|
4
|
+
import type { Member } from "./Helper";
|
4
5
|
export declare type RemoveSceneParams = {
|
5
6
|
scenePath: string;
|
6
7
|
index?: number;
|
@@ -30,6 +31,7 @@ export declare type EmitterEvent = {
|
|
30
31
|
changePageState: undefined;
|
31
32
|
writableChange: boolean;
|
32
33
|
containerSizeRatioUpdate: number;
|
34
|
+
roomMembersChange: Member[];
|
33
35
|
};
|
34
36
|
export declare type EmitterType = Emittery<EmitterEvent>;
|
35
37
|
export declare const emitter: EmitterType;
|
package/dist/constants.d.ts
CHANGED