@netless/app-slide 0.2.79 → 0.2.81-beta.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/dist/index.d.ts +59 -44
- package/dist/main.cjs.js +141 -141
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +376 -134
- package/dist/main.es.js.map +1 -1
- package/dist/main.iife.js +141 -141
- package/dist/main.iife.js.map +1 -1
- package/package.json +9 -9
- package/src/SlideController/index.ts +29 -29
- package/src/SlideDocsViewer/index.ts +9 -9
- package/src/SlidePreviewer/index.ts +5 -5
- package/src/index.ts +1 -0
- package/LICENSE +0 -21
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReadonlyTeleBox, RegisterParams, AppContext, View, NetlessApp } from '@netless/window-manager';
|
|
1
|
+
import { ReadonlyTeleBox, RegisterParams, Room, Player, AppContext, View, NetlessApp } from '@netless/window-manager';
|
|
2
2
|
import { VolumeAdjuster, SlideError } from '@netless/ppt-player';
|
|
3
3
|
import { IPlugin } from '@netless/plugin-system';
|
|
4
4
|
|
|
@@ -8,11 +8,22 @@ declare class AliTrackLogger {
|
|
|
8
8
|
private config;
|
|
9
9
|
private retryTimes;
|
|
10
10
|
private enable;
|
|
11
|
+
private db;
|
|
12
|
+
private useIndexedDB;
|
|
13
|
+
private readonly DB_NAME;
|
|
14
|
+
private readonly STORE_NAME;
|
|
15
|
+
private readonly BATCH_SIZE;
|
|
11
16
|
constructor();
|
|
17
|
+
private initIndexedDB;
|
|
18
|
+
private storeLogInIndexedDB;
|
|
19
|
+
private getLogsFromIndexedDB;
|
|
20
|
+
private deleteLogsFromIndexedDB;
|
|
12
21
|
private uploadLoggerGlobalEvent;
|
|
13
22
|
start(): Promise<void>;
|
|
14
23
|
pause(): void;
|
|
15
|
-
addLog(message: string, level: Level, taskId: string, randomId: string): void
|
|
24
|
+
addLog(message: string, level: Level, taskId: string, randomId: string): Promise<void>;
|
|
25
|
+
private isDatabaseHealthy;
|
|
26
|
+
private recreateDatabase;
|
|
16
27
|
destroy(): void;
|
|
17
28
|
uploadLog(focus?: boolean): Promise<void>;
|
|
18
29
|
setEnable(enable: boolean): void;
|
|
@@ -918,51 +929,52 @@ interface SlideControllerOptions {
|
|
|
918
929
|
showRenderError?: boolean;
|
|
919
930
|
invisibleBehavior?: "frozen" | "pause";
|
|
920
931
|
}
|
|
932
|
+
type MagixEventListener = Parameters<AppContext<Attributes, MagixEvents>["addMagixEventListener"]>[1];
|
|
921
933
|
declare class SlideController {
|
|
922
934
|
readonly context: SlideControllerOptions["context"];
|
|
923
935
|
readonly slide: Slide;
|
|
924
936
|
readonly showRenderError: boolean;
|
|
925
937
|
readonly onRenderError?: (error: Error, pageIndex: number) => void;
|
|
926
938
|
readonly onNavigate: (index: number, origin?: string) => void;
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
+
protected readonly room?: Room;
|
|
940
|
+
protected readonly player?: Player;
|
|
941
|
+
protected readonly sideEffect: SideEffectManager;
|
|
942
|
+
protected readonly onRenderStart: SlideControllerOptions["onRenderStart"];
|
|
943
|
+
protected readonly onPageChanged: SlideControllerOptions["onPageChanged"];
|
|
944
|
+
protected readonly onTransitionStart: SlideControllerOptions["onTransitionStart"];
|
|
945
|
+
protected readonly onTransitionEnd: SlideControllerOptions["onTransitionEnd"];
|
|
946
|
+
protected readonly onError: SlideControllerOptions["onError"];
|
|
947
|
+
protected syncStateOnceFlag: boolean;
|
|
948
|
+
protected visible: boolean;
|
|
949
|
+
protected savedIsFrozen: boolean;
|
|
950
|
+
protected invisibleBehavior: "frozen" | "pause";
|
|
939
951
|
previewList: string[];
|
|
940
952
|
constructor({ context, anchor, onRenderStart, onPageChanged, onTransitionStart, onTransitionEnd, onNavigate, onError, onRenderError, showRenderError, invisibleBehavior, }: SlideControllerOptions);
|
|
941
953
|
ready: boolean;
|
|
942
|
-
|
|
954
|
+
protected resolveReady: (index: number) => void;
|
|
943
955
|
readonly readyPromise: Promise<void>;
|
|
944
956
|
jumpToPage(page: number, origin?: string): void;
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
957
|
+
protected initialize(): void;
|
|
958
|
+
protected kickStart(): void;
|
|
959
|
+
protected registerEventListeners(): void;
|
|
960
|
+
protected onSyncDispatch: (event: SyncEvent) => void;
|
|
961
|
+
protected magixEventListener: MagixEventListener;
|
|
962
|
+
protected syncStateOnce(): void;
|
|
963
|
+
protected onStateChange: (state: SlideState) => void;
|
|
964
|
+
protected pollCount: number;
|
|
965
|
+
protected pollReadyState: () => void;
|
|
966
|
+
protected _pageCount: number;
|
|
955
967
|
get pageCount(): number;
|
|
956
968
|
get page(): number;
|
|
957
|
-
|
|
958
|
-
|
|
969
|
+
protected createSlide(anchor: HTMLDivElement, defaults?: Partial<ISlideConfig>): Slide;
|
|
970
|
+
protected destroyed: boolean;
|
|
959
971
|
destroy(): void;
|
|
960
972
|
timestamp: () => number;
|
|
961
973
|
isFrozen: boolean;
|
|
962
|
-
|
|
974
|
+
protected _toFreeze: -1 | 0 | 1;
|
|
963
975
|
freeze: () => void;
|
|
964
976
|
unfreeze: () => Promise<void>;
|
|
965
|
-
|
|
977
|
+
protected onVisibilityChange: () => Promise<void>;
|
|
966
978
|
}
|
|
967
979
|
|
|
968
980
|
type MountSlideOptions = Omit<SlideControllerOptions, "context" | "onPageChanged"> & {
|
|
@@ -989,10 +1001,10 @@ declare class SlideDocsViewer {
|
|
|
989
1001
|
protected readonly mountSlideController: SlideDocsViewerConfig["mountSlideController"];
|
|
990
1002
|
protected readonly mountWhiteboard: SlideDocsViewerConfig["mountWhiteboard"];
|
|
991
1003
|
protected readonly onNavigate: (index: number, origin?: string) => void;
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
1004
|
+
protected readonly baseScenePath: string;
|
|
1005
|
+
protected readonly appId: string;
|
|
1006
|
+
protected isViewMounted: boolean;
|
|
1007
|
+
protected justSildeReadonly: boolean;
|
|
996
1008
|
constructor({ context, box, view, mountSlideController, mountWhiteboard, baseScenePath, appId, urlInterrupter, onPagesReady, onNavigate, }: SlideDocsViewerConfig);
|
|
997
1009
|
$slide: HTMLDivElement;
|
|
998
1010
|
$whiteboardView: HTMLDivElement;
|
|
@@ -1010,8 +1022,8 @@ declare class SlideDocsViewer {
|
|
|
1010
1022
|
protected onRenderStart: () => void;
|
|
1011
1023
|
protected onRenderEnd: () => void;
|
|
1012
1024
|
onPageChanged: () => void;
|
|
1013
|
-
|
|
1014
|
-
|
|
1025
|
+
protected _onPageChangedTimer: number;
|
|
1026
|
+
protected _onPageChanged: () => void;
|
|
1015
1027
|
protected refreshPages: () => void;
|
|
1016
1028
|
protected getPageIndex(page: number): number;
|
|
1017
1029
|
unmount(): this;
|
|
@@ -1024,9 +1036,12 @@ declare class SlideDocsViewer {
|
|
|
1024
1036
|
protected sideEffect: SideEffectManager;
|
|
1025
1037
|
protected wrapClassName(className: string): string;
|
|
1026
1038
|
protected namespace: string;
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1039
|
+
protected getWhiteSnapshot(pageIndex: number, canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D, slideWidth: number, slideHeight: number): Promise<void>;
|
|
1040
|
+
protected reportProgress(progress: number, result: {
|
|
1041
|
+
pdf: ArrayBuffer;
|
|
1042
|
+
title: string;
|
|
1043
|
+
} | null): void;
|
|
1044
|
+
protected toPdf: () => Promise<null | undefined>;
|
|
1030
1045
|
}
|
|
1031
1046
|
|
|
1032
1047
|
interface PreviewParams {
|
|
@@ -1044,10 +1059,10 @@ declare class SlidePreviewer {
|
|
|
1044
1059
|
slide: Slide | null;
|
|
1045
1060
|
debug: boolean;
|
|
1046
1061
|
$slide: HTMLDivElement;
|
|
1047
|
-
|
|
1048
|
-
|
|
1062
|
+
protected previewList: string[];
|
|
1063
|
+
protected readonly sideEffect: SideEffectManager;
|
|
1049
1064
|
ready: boolean;
|
|
1050
|
-
|
|
1065
|
+
protected resolveReady: () => void;
|
|
1051
1066
|
readonly readyPromise: Promise<void>;
|
|
1052
1067
|
constructor(config: {
|
|
1053
1068
|
target: HTMLElement;
|
|
@@ -1061,7 +1076,7 @@ declare class SlidePreviewer {
|
|
|
1061
1076
|
* previewer.registerHotKeys(windowLike)
|
|
1062
1077
|
*/
|
|
1063
1078
|
registerHotKeys(windowLike: Window): void;
|
|
1064
|
-
|
|
1079
|
+
protected hotkeyListener: (ev: KeyboardEvent) => void;
|
|
1065
1080
|
mount(taskId: string, url: string, resourceList: string[], previewList?: string[]): void;
|
|
1066
1081
|
protected renderStyle(): HTMLElement;
|
|
1067
1082
|
protected registerEventListeners(): void;
|
|
@@ -1071,7 +1086,7 @@ declare class SlidePreviewer {
|
|
|
1071
1086
|
protected onError: ({ error }: {
|
|
1072
1087
|
error: Error;
|
|
1073
1088
|
}) => void;
|
|
1074
|
-
|
|
1089
|
+
protected destroyed: boolean;
|
|
1075
1090
|
destroy(): void;
|
|
1076
1091
|
protected refreshPages: () => void;
|
|
1077
1092
|
protected getPageIndex(page: number): number;
|
|
@@ -1085,7 +1100,7 @@ declare class SlidePreviewer {
|
|
|
1085
1100
|
declare const usePlugin: (plugin: any) => any;
|
|
1086
1101
|
declare const version: string;
|
|
1087
1102
|
|
|
1088
|
-
interface AppOptions extends Pick<ISlideConfig, "rtcAudio" | "useLocalCache" | "resourceTimeout" | "loaderDelegate" | "urlInterrupter" | "navigatorDelegate" | "fixedFrameSize" | "logger" | "enableGlobalClick"> {
|
|
1103
|
+
interface AppOptions extends Pick<ISlideConfig, "rtcAudio" | "useLocalCache" | "resourceTimeout" | "loaderDelegate" | "urlInterrupter" | "navigatorDelegate" | "fixedFrameSize" | "logger" | "enableGlobalClick" | "skipActionWhenFrozen"> {
|
|
1089
1104
|
/** show debug controller */
|
|
1090
1105
|
debug?: boolean;
|
|
1091
1106
|
/** scale */
|