@netless/window-manager 1.0.0-canary.9 → 1.0.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.
Files changed (132) hide show
  1. package/LICENSE.txt +21 -0
  2. package/README.md +90 -64
  3. package/README.zh-cn.md +224 -0
  4. package/dist/index.d.ts +1133 -40
  5. package/dist/index.js +62 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/{index.es.js → index.mjs} +9480 -6984
  8. package/dist/index.mjs.map +1 -0
  9. package/dist/style.css +1 -1
  10. package/docs/advanced.md +55 -55
  11. package/docs/api.md +124 -113
  12. package/docs/app-context.md +248 -209
  13. package/docs/basic.md +25 -26
  14. package/docs/camera.md +19 -20
  15. package/docs/cn/advanced.md +137 -0
  16. package/docs/cn/api.md +309 -0
  17. package/docs/cn/app-context.md +369 -0
  18. package/docs/cn/basic.md +64 -0
  19. package/docs/cn/camera.md +53 -0
  20. package/docs/cn/concept.md +9 -0
  21. package/docs/cn/custom-max-bar.md +31 -0
  22. package/docs/cn/develop-app.md +94 -0
  23. package/docs/cn/export-pdf.md +48 -0
  24. package/docs/cn/migrate.md +60 -0
  25. package/docs/cn/replay.md +40 -0
  26. package/docs/concept.md +6 -5
  27. package/docs/custom-max-bar.md +31 -0
  28. package/docs/develop-app.md +22 -19
  29. package/docs/export-pdf.md +48 -0
  30. package/docs/migrate.md +25 -27
  31. package/docs/quickstart.md +50 -0
  32. package/docs/replay.md +20 -20
  33. package/package.json +32 -22
  34. package/src/App/AppContext.ts +105 -73
  35. package/src/App/AppPageStateImpl.ts +6 -25
  36. package/src/App/AppProxy.ts +41 -166
  37. package/src/App/MagixEvent/index.ts +38 -38
  38. package/src/App/Storage/StorageEvent.ts +13 -13
  39. package/src/App/Storage/index.ts +269 -245
  40. package/src/App/Storage/typings.ts +4 -2
  41. package/src/App/Storage/utils.ts +3 -3
  42. package/src/App/index.ts +0 -1
  43. package/src/AppListener.ts +8 -8
  44. package/src/AppManager.ts +88 -77
  45. package/src/AttributesDelegate.ts +42 -22
  46. package/src/BoxEmitter.ts +12 -6
  47. package/src/BoxManager.ts +128 -108
  48. package/src/ContainerResizeObserver.ts +75 -0
  49. package/src/Cursor/Cursor.svelte +16 -5
  50. package/src/Cursor/Cursor.svelte.d.ts +21 -0
  51. package/src/Cursor/Cursor.ts +77 -13
  52. package/src/Cursor/icons.ts +6 -0
  53. package/src/Cursor/icons2.ts +66 -0
  54. package/src/Cursor/index.ts +127 -26
  55. package/src/Helper.ts +94 -14
  56. package/src/InternalEmitter.ts +2 -7
  57. package/src/Page/index.ts +1 -1
  58. package/src/PageState.ts +6 -5
  59. package/src/ReconnectRefresher.ts +9 -4
  60. package/src/RedoUndo.ts +3 -3
  61. package/src/Register/index.ts +22 -17
  62. package/src/Register/loader.ts +26 -22
  63. package/src/Register/storage.ts +13 -13
  64. package/src/Utils/Common.ts +18 -14
  65. package/src/Utils/Reactive.ts +26 -25
  66. package/src/Utils/RoomHacker.ts +4 -4
  67. package/src/Utils/error.ts +0 -1
  68. package/src/View/IframeBridge.ts +680 -0
  69. package/src/View/MainView.ts +127 -53
  70. package/src/callback.ts +21 -1
  71. package/src/constants.ts +0 -2
  72. package/src/image/pencil-eraser-1.svg +3 -0
  73. package/src/image/pencil-eraser-2.svg +3 -0
  74. package/src/image/pencil-eraser-3.svg +3 -0
  75. package/src/index.ts +220 -83
  76. package/src/style.css +27 -10
  77. package/src/typings.ts +20 -10
  78. package/.prettierignore +0 -7
  79. package/.prettierrc.json +0 -9
  80. package/CHANGELOG.md +0 -196
  81. package/__mocks__/white-web-sdk.ts +0 -50
  82. package/dist/App/AppContext.d.ts +0 -76
  83. package/dist/App/AppPageStateImpl.d.ts +0 -21
  84. package/dist/App/AppProxy.d.ts +0 -86
  85. package/dist/App/AppViewSync.d.ts +0 -11
  86. package/dist/App/MagixEvent/index.d.ts +0 -29
  87. package/dist/App/Storage/StorageEvent.d.ts +0 -8
  88. package/dist/App/Storage/index.d.ts +0 -39
  89. package/dist/App/Storage/typings.d.ts +0 -22
  90. package/dist/App/Storage/utils.d.ts +0 -5
  91. package/dist/App/WhiteboardView.d.ts +0 -22
  92. package/dist/App/index.d.ts +0 -3
  93. package/dist/AppListener.d.ts +0 -21
  94. package/dist/AppManager.d.ts +0 -107
  95. package/dist/AttributesDelegate.d.ts +0 -80
  96. package/dist/BoxEmitter.d.ts +0 -34
  97. package/dist/BoxManager.d.ts +0 -99
  98. package/dist/BuiltinApps.d.ts +0 -5
  99. package/dist/Cursor/Cursor.d.ts +0 -39
  100. package/dist/Cursor/icons.d.ts +0 -3
  101. package/dist/Cursor/index.d.ts +0 -46
  102. package/dist/Helper.d.ts +0 -17
  103. package/dist/InternalEmitter.d.ts +0 -39
  104. package/dist/Page/PageController.d.ts +0 -21
  105. package/dist/Page/index.d.ts +0 -3
  106. package/dist/PageState.d.ts +0 -9
  107. package/dist/ReconnectRefresher.d.ts +0 -24
  108. package/dist/RedoUndo.d.ts +0 -18
  109. package/dist/Register/index.d.ts +0 -28
  110. package/dist/Register/loader.d.ts +0 -4
  111. package/dist/Register/storage.d.ts +0 -8
  112. package/dist/Utils/AppCreateQueue.d.ts +0 -15
  113. package/dist/Utils/Common.d.ts +0 -23
  114. package/dist/Utils/Reactive.d.ts +0 -6
  115. package/dist/Utils/RoomHacker.d.ts +0 -3
  116. package/dist/Utils/error.d.ts +0 -27
  117. package/dist/Utils/log.d.ts +0 -1
  118. package/dist/View/CameraSynchronizer.d.ts +0 -16
  119. package/dist/View/MainView.d.ts +0 -47
  120. package/dist/View/ViewManager.d.ts +0 -13
  121. package/dist/callback.d.ts +0 -24
  122. package/dist/constants.d.ts +0 -49
  123. package/dist/index.cjs.js +0 -46
  124. package/dist/index.umd.js +0 -46
  125. package/dist/typings.d.ts +0 -82
  126. package/jest.config.js +0 -27
  127. package/pnpm-lock.yaml +0 -6302
  128. package/src/App/AppViewSync.ts +0 -68
  129. package/src/App/WhiteboardView.ts +0 -83
  130. package/src/View/CameraSynchronizer.ts +0 -56
  131. package/vite.config.js +0 -51
  132. /package/docs/{qickstart.md → cn/quickstart.md} +0 -0
@@ -1,21 +0,0 @@
1
- import type { AppManager } from "./AppManager";
2
- export declare class AppListeners {
3
- private manager;
4
- private displayer;
5
- constructor(manager: AppManager);
6
- private get boxManager();
7
- addListeners(): void;
8
- removeListeners(): void;
9
- private mainMagixEventListener;
10
- private appMoveHandler;
11
- private appResizeHandler;
12
- private boxStateChangeHandler;
13
- private setMainViewScenePathHandler;
14
- private moveCameraHandler;
15
- private moveCameraToContainHandler;
16
- private cursorMoveHandler;
17
- private rootDirRemovedHandler;
18
- private refreshHandler;
19
- private initMainViewCameraHandler;
20
- private setAppFocusViewIndexHandler;
21
- }
@@ -1,107 +0,0 @@
1
- import { AppStatus, Events } from "./constants";
2
- import { AppProxy } from "./App";
3
- import { MainViewProxy } from "./View/MainView";
4
- import { WindowManager } from "./index";
5
- import { ViewManager } from "./View/ViewManager";
6
- import type { ReconnectRefresher } from "./ReconnectRefresher";
7
- import type { BoxManager } from "./BoxManager";
8
- import type { Displayer, Room, SceneState } from "white-web-sdk";
9
- import type { AddAppParams, TeleBoxRect } from "./index";
10
- import type { Member } from "./Helper";
11
- export declare class AppManager {
12
- windowManger: WindowManager;
13
- displayer: Displayer;
14
- viewManager: ViewManager;
15
- appProxies: Map<string, AppProxy>;
16
- appStatus: Map<string, AppStatus>;
17
- store: import("./AttributesDelegate").AttributesDelegate;
18
- mainViewProxy: MainViewProxy;
19
- refresher: ReconnectRefresher;
20
- isReplay: boolean;
21
- mainViewScenesLength: number;
22
- private appListeners;
23
- boxManager?: BoxManager;
24
- private callbacksNode;
25
- private appCreateQueue;
26
- private sceneIndex$;
27
- private focused$;
28
- private sideEffectManager;
29
- sceneState: SceneState | null;
30
- rootDirRemoving: boolean;
31
- constructor(windowManger: WindowManager);
32
- private onRemoveScenes;
33
- /**
34
- * 根目录被删除时所有的 scene 都会被删除.
35
- * 所以需要关掉所有开启了 view 的 app
36
- */
37
- onRootDirRemoved(needClose?: boolean): Promise<void>;
38
- private onReadonlyChanged;
39
- private onPlayerSeekStart;
40
- private onPlayerSeekDone;
41
- createRootDirScenesCallback: () => void;
42
- removeSceneByIndex: (index: number) => Promise<boolean>;
43
- setSceneIndexWithoutSync: (index: number) => void;
44
- private onSceneChange;
45
- private emitMainViewScenesChange;
46
- private updateSceneState;
47
- private get eventName();
48
- get attributes(): import("./index").WindowMangerAttributes;
49
- get canOperate(): boolean;
50
- get room(): Room | undefined;
51
- get mainView(): import("white-web-sdk").View;
52
- get focusApp(): AppProxy | undefined;
53
- get uid(): string;
54
- get members(): Member[];
55
- getMainViewSceneDir(): string;
56
- private onCreated;
57
- private onBoxMove;
58
- private onBoxResize;
59
- private onBoxFocus;
60
- private onBoxClose;
61
- private onBoxStateChange;
62
- addAppsChangeListener: () => void;
63
- addAppCloseListener: () => void;
64
- private onMainViewIndexChange;
65
- private onFocusChange;
66
- attributesUpdateCallback: import("lodash").DebouncedFunc<(apps: any) => Promise<void>>;
67
- /**
68
- * 插件更新 attributes 时的回调
69
- *
70
- * @param {*} attributes
71
- * @memberof WindowManager
72
- */
73
- _attributesUpdateCallback(apps: any): Promise<void>;
74
- private onRegisteredChange;
75
- private onMinimized;
76
- refresh(): void;
77
- setBoxManager(boxManager: BoxManager): void;
78
- resetMaximized(): void;
79
- resetMinimized(): void;
80
- private onAppDelete;
81
- private closeAll;
82
- bindMainView(divElement: HTMLDivElement, disableCameraTransform: boolean): void;
83
- setMainViewFocusPath(scenePath?: string): boolean | undefined;
84
- private resetScenePath;
85
- addApp(params: AddAppParams, isDynamicPPT: boolean): Promise<string | undefined>;
86
- private beforeAddApp;
87
- private afterAddApp;
88
- closeApp(appId: string, needClose?: boolean): Promise<void>;
89
- private baseInsertApp;
90
- private displayerStateListener;
91
- displayerWritableListener: (isReadonly: boolean) => void;
92
- safeSetAttributes(attributes: any): void;
93
- safeUpdateAttributes(keys: string[], value: any): void;
94
- setMainViewScenePath(scenePath: string): Promise<void>;
95
- private _setMainViewScenePath;
96
- private updateSceneIndex;
97
- setMainViewSceneIndex(index: number): Promise<void>;
98
- private dispatchSetMainViewScenePath;
99
- getAppInitPath(appId: string): string | undefined;
100
- safeDispatchMagixEvent(event: string, payload: any): void;
101
- focusByAttributes(apps: any): void;
102
- onReconnected(): Promise<void>;
103
- notifyContainerRectUpdate(rect: TeleBoxRect): void;
104
- updateRootDirRemoving: (removing: boolean) => void;
105
- dispatchInternalEvent(event: Events, payload?: any): void;
106
- destroy(): void;
107
- }
@@ -1,80 +0,0 @@
1
- import { AppAttributes } from "./constants";
2
- import type { AddAppParams, AppSyncAttributes } from "./index";
3
- import type { Camera, Size, View } from "white-web-sdk";
4
- import type { Cursor } from "./Cursor/Cursor";
5
- export declare enum Fields {
6
- Apps = "apps",
7
- Focus = "focus",
8
- State = "state",
9
- BoxState = "boxState",
10
- MainViewCamera = "mainViewCamera",
11
- MainViewSize = "mainViewSize",
12
- Broadcaster = "broadcaster",
13
- Cursors = "cursors",
14
- Position = "position",
15
- CursorState = "cursorState",
16
- FullPath = "fullPath",
17
- Registered = "registered",
18
- Camera = "camera",
19
- Size = "size"
20
- }
21
- export declare type Apps = {
22
- [key: string]: AppSyncAttributes;
23
- };
24
- export declare type Position = {
25
- x: number;
26
- y: number;
27
- type: PositionType;
28
- id?: string;
29
- };
30
- export declare type PositionType = "main" | "app";
31
- export declare type StoreContext = {
32
- getAttributes: () => any;
33
- safeUpdateAttributes: (keys: string[], value: any) => void;
34
- safeSetAttributes: (attributes: any) => void;
35
- };
36
- export declare type ICamera = Camera & {
37
- id: string;
38
- };
39
- export declare type ISize = Size & {
40
- id: string;
41
- };
42
- export declare class AttributesDelegate {
43
- private context;
44
- constructor(context: StoreContext);
45
- setContext(context: StoreContext): void;
46
- get attributes(): any;
47
- apps(): Apps;
48
- get focus(): string | undefined;
49
- getAppAttributes(id: string): AppSyncAttributes;
50
- getAppState(id: string): any;
51
- getMaximized(): any;
52
- getMinimized(): any;
53
- setupAppAttributes(params: AddAppParams, id: string, isDynamicPPT: boolean): void;
54
- updateAppState(appId: string, stateName: AppAttributes, state: any): void;
55
- updateAppAttributes(appId: string, key: string, value: any): void;
56
- cleanAppAttributes(id: string): void;
57
- cleanFocus(): void;
58
- getAppSceneIndex(id: string): any;
59
- getAppScenePath(id: string): any;
60
- getMainViewScenePath(): string | undefined;
61
- getMainViewSceneIndex(): any;
62
- getBoxState(): any;
63
- setMainViewScenePath(scenePath: string): void;
64
- setMainViewSceneIndex(index: number): void;
65
- getMainViewCamera(): ICamera;
66
- getMainViewSize(): ISize;
67
- setMainViewCamera(camera: ICamera): void;
68
- setMainViewSize(size: ISize): void;
69
- setMainViewCameraAndSize(camera: ICamera, size: ISize): void;
70
- setAppFocus: (appId: string, focus: boolean) => void;
71
- updateCursor(uid: string, position: Position): void;
72
- updateCursorState(uid: string, cursorState: string | undefined): void;
73
- getCursorState(uid: string): any;
74
- cleanCursor(uid: string): void;
75
- setMainViewFocusPath(mainView: View): void;
76
- }
77
- export declare type Cursors = {
78
- [key: string]: Cursor;
79
- };
80
- export declare const store: AttributesDelegate;
@@ -1,34 +0,0 @@
1
- import type { TELE_BOX_STATE } from "@netless/telebox-insider";
2
- import Emittery from "emittery";
3
- export declare type BoxMovePayload = {
4
- appId: string;
5
- x: number;
6
- y: number;
7
- };
8
- export declare type BoxFocusPayload = {
9
- appId: string;
10
- };
11
- export declare type BoxResizePayload = {
12
- appId: string;
13
- width: number;
14
- height: number;
15
- x?: number;
16
- y?: number;
17
- };
18
- export declare type BoxClosePayload = {
19
- appId: string;
20
- error?: Error;
21
- };
22
- export declare type BoxStateChangePayload = {
23
- appId: string;
24
- state: TELE_BOX_STATE;
25
- };
26
- export declare type BoxEvent = {
27
- move: BoxMovePayload;
28
- focus: BoxFocusPayload;
29
- resize: BoxResizePayload;
30
- close: BoxClosePayload;
31
- boxStateChange: BoxStateChangePayload;
32
- };
33
- export declare type BoxEmitterType = Emittery<BoxEvent>;
34
- export declare const boxEmitter: BoxEmitterType;
@@ -1,99 +0,0 @@
1
- import { AppAttributes } from "./constants";
2
- import { TELE_BOX_STATE, TeleBoxManager } from "@netless/telebox-insider";
3
- import { WindowManager } from "./index";
4
- import type { BoxEmitterType } from "./BoxEmitter";
5
- import type { AddAppOptions, AppInitState } from "./index";
6
- import type { TeleBoxManagerUpdateConfig, ReadonlyTeleBox, TeleBoxColorScheme, TeleBoxRect, TeleBoxConfig } from "@netless/telebox-insider";
7
- import type Emittery from "emittery";
8
- import type { NetlessApp } from "./typings";
9
- import type { View } from "white-web-sdk";
10
- import type { CallbacksType } from "./callback";
11
- import type { EmitterType } from "./InternalEmitter";
12
- import { SideEffectManager } from "side-effect-manager";
13
- export { TELE_BOX_STATE };
14
- export declare type CreateBoxParams = {
15
- appId: string;
16
- app: NetlessApp;
17
- view?: View;
18
- emitter?: Emittery;
19
- options?: AddAppOptions;
20
- canOperate?: boolean;
21
- smartPosition?: boolean;
22
- };
23
- declare type AppId = {
24
- appId: string;
25
- };
26
- declare type MoveBoxParams = AppId & {
27
- x: number;
28
- y: number;
29
- };
30
- declare type ResizeBoxParams = AppId & {
31
- width: number;
32
- height: number;
33
- skipUpdate: boolean;
34
- };
35
- declare type SetBoxMinSizeParams = AppId & {
36
- minWidth: number;
37
- minHeight: number;
38
- };
39
- declare type SetBoxTitleParams = AppId & {
40
- title: string;
41
- };
42
- export declare type CreateTeleBoxManagerConfig = {
43
- collectorContainer?: HTMLElement;
44
- collectorStyles?: Partial<CSSStyleDeclaration>;
45
- prefersColorScheme?: TeleBoxColorScheme;
46
- stageRatio?: number;
47
- highlightStage?: boolean;
48
- };
49
- export declare type BoxManagerContext = {
50
- safeSetAttributes: (attributes: any) => void;
51
- updateAppState: (appId: string, field: AppAttributes, value: any) => void;
52
- emitter: EmitterType;
53
- boxEmitter: BoxEmitterType;
54
- callbacks: CallbacksType;
55
- canOperate: () => boolean;
56
- notifyContainerRectUpdate: (rect: TeleBoxRect) => void;
57
- cleanFocus: () => void;
58
- setAppFocus: (appId: string) => void;
59
- };
60
- export declare const createBoxManager: (manager: WindowManager, callbacks: CallbacksType, emitter: EmitterType, boxEmitter: BoxEmitterType, options: CreateTeleBoxManagerConfig) => BoxManager;
61
- export declare class BoxManager {
62
- private context;
63
- teleBoxManager: TeleBoxManager;
64
- protected sideEffectManager: SideEffectManager;
65
- constructor(context: BoxManagerContext, createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig);
66
- private get canOperate();
67
- get boxState(): "normal" | "minimized" | "maximized";
68
- get maximized(): boolean;
69
- get minimized(): boolean;
70
- get darkMode(): boolean;
71
- get prefersColorScheme(): TeleBoxColorScheme;
72
- get boxSize(): number;
73
- get stageRect(): TeleBoxRect;
74
- createBox(params: CreateBoxParams): ReadonlyTeleBox | undefined;
75
- setupBoxManager(createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig): TeleBoxManager;
76
- getBox(appId: string): ReadonlyTeleBox | undefined;
77
- closeBox(appId: string, skipUpdate?: boolean): ReadonlyTeleBox | undefined;
78
- boxIsFocus(appId: string): boolean | undefined;
79
- getFocusBox(): ReadonlyTeleBox | undefined;
80
- getTopBox(): ReadonlyTeleBox | undefined;
81
- updateBoxState(state?: AppInitState): void;
82
- moveBox({ appId, x, y }: MoveBoxParams): void;
83
- focusBox({ appId }: AppId, skipUpdate?: boolean): void;
84
- resizeBox({ appId, width, height, skipUpdate }: ResizeBoxParams): void;
85
- setBoxMinSize(params: SetBoxMinSizeParams): void;
86
- setBoxTitle(params: SetBoxTitleParams): void;
87
- blurAllBox(): void;
88
- updateAll(config: TeleBoxManagerUpdateConfig): void;
89
- setMaximized(maximized: boolean, skipUpdate?: boolean): void;
90
- setMinimized(minimized: boolean, skipUpdate?: boolean): void;
91
- focusTopBox(): void;
92
- updateBox(id: string, payload: TeleBoxConfig, skipUpdate?: boolean): void;
93
- setReadonly(readonly: boolean): void;
94
- setPrefersColorScheme(colorScheme: TeleBoxColorScheme): void;
95
- setZIndex(id: string, zIndex: number, skipUpdate?: boolean): void;
96
- setRoot(root: HTMLElement): void;
97
- setCollector(collector: HTMLElement): void;
98
- destroy(): void;
99
- }
@@ -1,5 +0,0 @@
1
- export declare const setupBuiltin: () => void;
2
- export declare const BuiltinApps: {
3
- DocsViewer: string;
4
- MediaPlayer: string;
5
- };
@@ -1,39 +0,0 @@
1
- import { ApplianceNames } from "white-web-sdk";
2
- import type { Position } from "../AttributesDelegate";
3
- import type { RoomMember } from "white-web-sdk";
4
- import type { CursorManager } from "./index";
5
- import type { AppManager } from "../AppManager";
6
- export declare type Payload = {
7
- [key: string]: any;
8
- };
9
- export declare class Cursor {
10
- private manager;
11
- private memberId;
12
- private cursorManager;
13
- private wrapper?;
14
- private member?;
15
- private timer?;
16
- private component?;
17
- constructor(manager: AppManager, memberId: string, cursorManager: CursorManager, wrapper?: HTMLElement | undefined);
18
- move: (position: Position) => void;
19
- leave: () => void;
20
- private moveCursor;
21
- get memberApplianceName(): ApplianceNames | undefined;
22
- get memberColor(): string;
23
- private get payload();
24
- get memberCursorName(): any;
25
- private get memberTheme();
26
- private get memberCursorTextColor();
27
- private get memberCursorTagBackgroundColor();
28
- private get memberAvatar();
29
- private get memberOpacity();
30
- private get memberTagName();
31
- private autoHidden;
32
- private createCursor;
33
- private initProps;
34
- private getIcon;
35
- updateMember(): RoomMember | undefined;
36
- private updateComponent;
37
- destroy(): void;
38
- hide(): void;
39
- }
@@ -1,3 +0,0 @@
1
- export declare const ApplianceMap: {
2
- [key: string]: string;
3
- };
@@ -1,46 +0,0 @@
1
- import { Cursor } from "./Cursor";
2
- import type { ApplianceIcons } from "../index";
3
- import type { PositionType } from "../AttributesDelegate";
4
- import type { RoomMember, View } from "white-web-sdk";
5
- import type { AppManager } from "../AppManager";
6
- export declare type EventType = {
7
- type: PositionType;
8
- id?: string;
9
- };
10
- export declare type MoveCursorParams = {
11
- uid: string;
12
- x: number;
13
- y: number;
14
- };
15
- export declare class CursorManager {
16
- private manager;
17
- private enableCursor;
18
- containerRect?: DOMRect;
19
- wrapperRect?: DOMRect;
20
- cursorInstances: Map<string, Cursor>;
21
- roomMembers?: readonly RoomMember[];
22
- private mainViewElement?;
23
- private sideEffectManager;
24
- private store;
25
- applianceIcons: ApplianceIcons;
26
- constructor(manager: AppManager, enableCursor: boolean, applianceIcons?: ApplianceIcons);
27
- private onCursorMove;
28
- private initCursorInstance;
29
- private canMoveCursor;
30
- setupWrapper(wrapper: HTMLElement): void;
31
- setMainViewDivElement(div: HTMLDivElement): void;
32
- get boxState(): any;
33
- get focusView(): View | undefined;
34
- private mouseMoveListener;
35
- private updateCursor;
36
- private getPoint;
37
- /**
38
- * 因为窗口内框在不同分辨率下的大小不一样,所以这里通过来鼠标事件的 target 来判断是在主白板还是在 APP 中
39
- */
40
- private getType;
41
- private mouseLeaveListener;
42
- updateContainerRect(): void;
43
- deleteCursor(uid: string): void;
44
- hideCursor(uid: string): void;
45
- destroy(): void;
46
- }
package/dist/Helper.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import type { Room, RoomMember } from "white-web-sdk";
2
- export declare const setupWrapper: (root: HTMLElement) => {
3
- playground: HTMLDivElement;
4
- mainViewElement: HTMLDivElement;
5
- };
6
- export declare const checkVersion: () => void;
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,39 +0,0 @@
1
- import Emittery from "emittery";
2
- import type { TeleBoxRect } from "@netless/telebox-insider";
3
- import type { AppInitState, CursorMovePayload } from "./index";
4
- import type { Member } from "./Helper";
5
- import type { MemberState } from "white-web-sdk";
6
- export declare type RemoveSceneParams = {
7
- scenePath: string;
8
- index?: number;
9
- };
10
- export declare type EmitterEvent = {
11
- onCreated: undefined;
12
- InitReplay: AppInitState;
13
- error: Error;
14
- seekStart: undefined;
15
- seek: number;
16
- mainViewMounted: undefined;
17
- observerIdChange: number;
18
- boxStateChange: string;
19
- playgroundSizeChange: TeleBoxRect;
20
- startReconnect: undefined;
21
- onReconnected: undefined;
22
- removeScenes: RemoveSceneParams;
23
- cursorMove: CursorMovePayload;
24
- updateManagerRect: undefined;
25
- focusedChange: {
26
- focused: string | undefined;
27
- prev: string | undefined;
28
- };
29
- rootDirRemoved: undefined;
30
- rootDirSceneRemoved: string;
31
- setReadonly: boolean;
32
- changePageState: undefined;
33
- writableChange: boolean;
34
- containerSizeRatioUpdate: number;
35
- roomMembersChange: Member[];
36
- memberStateChange: MemberState;
37
- };
38
- export declare type EmitterType = Emittery<EmitterEvent>;
39
- export declare const emitter: EmitterType;
@@ -1,21 +0,0 @@
1
- import type { SceneDefinition } from "white-web-sdk";
2
- export declare type AddPageParams = {
3
- after?: boolean;
4
- scene?: SceneDefinition;
5
- };
6
- export declare type PageState = {
7
- index: number;
8
- length: number;
9
- };
10
- export interface PageController {
11
- nextPage: () => Promise<boolean>;
12
- prevPage: () => Promise<boolean>;
13
- jumpPage: (index: number) => Promise<boolean>;
14
- addPage: (params?: AddPageParams) => Promise<void>;
15
- removePage: (index: number) => Promise<boolean>;
16
- pageState: PageState;
17
- }
18
- export interface PageRemoveService {
19
- removeSceneByIndex: (index: number) => Promise<boolean>;
20
- setSceneIndexWithoutSync: (index: number) => void;
21
- }
@@ -1,3 +0,0 @@
1
- import type { PageState } from "./PageController";
2
- export * from "./PageController";
3
- export declare const calculateNextIndex: (index: number, pageState: PageState) => number;
@@ -1,9 +0,0 @@
1
- import type { AppManager } from "./AppManager";
2
- import type { PageState } from "./Page";
3
- export declare class PageStateImpl {
4
- private manager;
5
- constructor(manager: AppManager);
6
- get index(): number;
7
- get length(): number;
8
- toObject(): PageState;
9
- }
@@ -1,24 +0,0 @@
1
- import type { Room } from "white-web-sdk";
2
- import type { EmitterType } from "./InternalEmitter";
3
- export declare type ReconnectRefresherContext = {
4
- emitter: EmitterType;
5
- };
6
- export declare class ReconnectRefresher {
7
- private ctx;
8
- private phase?;
9
- private room;
10
- private reactors;
11
- private disposers;
12
- constructor(ctx: ReconnectRefresherContext);
13
- setRoom(room: Room | undefined): void;
14
- setContext(ctx: ReconnectRefresherContext): void;
15
- private onPhaseChanged;
16
- private onReconnected;
17
- private _onReconnected;
18
- private releaseDisposers;
19
- refresh(): void;
20
- add(id: string, func: any): () => void;
21
- remove(id: string): void;
22
- hasReactor(id: string): boolean;
23
- destroy(): void;
24
- }
@@ -1,18 +0,0 @@
1
- import type { View } from "white-web-sdk";
2
- import type { AppProxy } from "./App";
3
- export declare type RedoUndoContext = {
4
- mainView: () => View;
5
- focus: () => string | undefined;
6
- getAppProxy: (id: string) => AppProxy | undefined;
7
- };
8
- export declare class RedoUndo {
9
- private context;
10
- constructor(context: RedoUndoContext);
11
- private addRedoUndoListeners;
12
- private addViewCallbacks;
13
- private disposeViewCallbacks;
14
- private onCanRedoStepsUpdate;
15
- private onCanUndoStepsUpdate;
16
- private disposePrevFocusViewRedoUndoListeners;
17
- destroy(): void;
18
- }
@@ -1,28 +0,0 @@
1
- import Emittery from "emittery";
2
- import type { NetlessApp, RegisterEvents, RegisterParams } from "../typings";
3
- export declare type LoadAppEvent = {
4
- kind: string;
5
- status: "start" | "success" | "failed";
6
- reason?: string;
7
- };
8
- export declare type SyncRegisterAppPayload = {
9
- kind: string;
10
- src: string;
11
- name: string | undefined;
12
- };
13
- export declare type SyncRegisterApp = (payload: SyncRegisterAppPayload) => void;
14
- declare class AppRegister {
15
- kindEmitters: Map<string, Emittery<RegisterEvents>>;
16
- registered: Map<string, RegisterParams>;
17
- appClassesCache: Map<string, Promise<NetlessApp>>;
18
- appClasses: Map<string, () => Promise<NetlessApp>>;
19
- private syncRegisterApp;
20
- setSyncRegisterApp(fn: SyncRegisterApp): void;
21
- onSyncRegisterAppChange: (payload: SyncRegisterAppPayload) => void;
22
- register(params: RegisterParams): Promise<void>;
23
- unregister(kind: string): void;
24
- notifyApp<T extends keyof RegisterEvents>(kind: string, event: T, payload: RegisterEvents[T]): Promise<void>;
25
- private createKindEmitter;
26
- }
27
- export declare const appRegister: AppRegister;
28
- export {};
@@ -1,4 +0,0 @@
1
- import type { NetlessApp } from "../typings";
2
- export declare const getScript: (url: string) => Promise<string>;
3
- export declare const executeScript: (text: string, appName: string) => NetlessApp;
4
- export declare const loadApp: (url: string, key: string, name?: string | undefined) => Promise<NetlessApp | undefined>;
@@ -1,8 +0,0 @@
1
- export declare type Item = {
2
- kind: string;
3
- sourceCode: string;
4
- };
5
- export declare const initDb: () => Promise<void>;
6
- export declare const setItem: (key: string, val: any) => Promise<void> | undefined;
7
- export declare const getItem: (key: string) => Promise<Item | null>;
8
- export declare const removeItem: (key: string) => Promise<void> | undefined;
@@ -1,15 +0,0 @@
1
- export declare type Invoker<T = any> = () => Promise<T | undefined>;
2
- export declare class AppCreateQueue {
3
- private list;
4
- private currentInvoker;
5
- private timer;
6
- isEmit: boolean;
7
- private initInterval;
8
- push<T>(item: Invoker<T>): void;
9
- invoke(): void;
10
- private invoked;
11
- private clear;
12
- emitReady(): void;
13
- empty(): void;
14
- destroy(): void;
15
- }
@@ -1,23 +0,0 @@
1
- import type { PublicEvent } from "../callback";
2
- import type { Displayer, ViewVisionMode, Room, View, SceneDefinition } from "white-web-sdk";
3
- import type Emittery from "emittery";
4
- export declare const genAppId: (kind: string) => Promise<string>;
5
- export declare const setViewFocusScenePath: (view: View, focusScenePath: string) => View | undefined;
6
- export declare const setViewSceneIndex: (view: View, index: number) => View | undefined;
7
- export declare const releaseView: (view: View) => void;
8
- export declare const setScenePath: (room: Room | undefined, scenePath: string) => void;
9
- export declare const getScenePath: (room: Room | undefined, dir: string | undefined, index: number) => string | undefined;
10
- export declare const removeScenes: (room: Room | undefined, scenePath: string, index?: number | undefined) => void;
11
- export declare const setViewMode: (view: View, mode: ViewVisionMode) => void;
12
- export declare const emitError: (error: Error) => void;
13
- export declare const addEmitterOnceListener: (event: any, listener: any) => void;
14
- export declare const notifyMainViewModeChange: import("lodash").DebouncedFunc<(callbacks: Emittery<PublicEvent>, mode: ViewVisionMode) => void>;
15
- export declare const makeValidScenePath: (displayer: Displayer, scenePath: string, index?: number) => string | undefined;
16
- export declare const entireScenes: (displayer: Displayer) => import("white-web-sdk").SceneMap;
17
- export declare const putScenes: (room: Room | undefined, path: string, scenes: SceneDefinition[], index?: number | undefined) => void | undefined;
18
- export declare const isValidScenePath: (scenePath: string) => boolean;
19
- export declare const parseSceneDir: (scenePath: string) => string;
20
- export declare const ensureValidScenePath: (scenePath: string) => string;
21
- export declare const getVersionNumber: (version: string) => number;
22
- export declare const wait: (time: number) => Promise<unknown>;
23
- export declare const isRootDirPage: (scenePath: string) => boolean;