@netless/app-slide 0.2.39 → 0.2.41
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/LICENSE +21 -0
- package/README-zh.md +53 -53
- package/README.md +68 -68
- package/dist/index.d.ts +294 -294
- package/dist/main.cjs.js +57 -57
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +10 -8
- package/dist/main.es.js.map +1 -1
- package/dist/main.iife.js +57 -57
- package/dist/main.iife.js.map +1 -1
- package/package.json +9 -9
- package/src/DocsViewer/icons/arrow-left.svg +4 -4
- package/src/DocsViewer/icons/arrow-left.ts +18 -18
- package/src/DocsViewer/icons/arrow-right.svg +4 -4
- package/src/DocsViewer/icons/arrow-right.ts +18 -18
- package/src/DocsViewer/icons/pause.svg +4 -4
- package/src/DocsViewer/icons/pause.ts +18 -18
- package/src/DocsViewer/icons/play.svg +4 -4
- package/src/DocsViewer/icons/play.ts +18 -18
- package/src/DocsViewer/icons/sidebar.svg +4 -4
- package/src/DocsViewer/icons/sidebar.ts +18 -18
- package/src/DocsViewer/index.ts +381 -381
- package/src/DocsViewer/style.scss +228 -228
- package/src/DocsViewer/variables.scss +1 -1
- package/src/SlideController/helpers.ts +48 -48
- package/src/SlideController/index.ts +351 -351
- package/src/SlideDocsViewer/style.scss +28 -28
- package/src/SlidePreviewer/index.ts +225 -225
- package/src/index.ts +283 -283
- package/src/style.scss +14 -14
- package/src/typings.ts +21 -21
- package/src/utils/bgcolor.ts +45 -45
- package/src/utils/freezer.ts +116 -116
- package/src/utils/helpers.ts +32 -32
- package/src/utils/logger.ts +106 -106
package/dist/index.d.ts
CHANGED
|
@@ -661,48 +661,48 @@ declare class Slide extends Slide_base {
|
|
|
661
661
|
static disposeLocalCache(): void;
|
|
662
662
|
}
|
|
663
663
|
|
|
664
|
-
declare type SlideState = Slide["slideState"];
|
|
665
|
-
interface Attributes {
|
|
666
|
-
/** convert task id */
|
|
667
|
-
taskId: string;
|
|
668
|
-
/** base url of converted resources */
|
|
669
|
-
url: string;
|
|
670
|
-
/** internal state of slide, do not change */
|
|
671
|
-
state: SlideState | null;
|
|
672
|
-
}
|
|
673
|
-
declare type MagixPayload = {
|
|
674
|
-
type: typeof SLIDE_EVENTS.syncDispatch;
|
|
675
|
-
payload: SyncEvent;
|
|
676
|
-
};
|
|
677
|
-
declare type MagixEvents = {
|
|
678
|
-
[SLIDE_EVENTS.syncDispatch]: MagixPayload;
|
|
664
|
+
declare type SlideState = Slide["slideState"];
|
|
665
|
+
interface Attributes {
|
|
666
|
+
/** convert task id */
|
|
667
|
+
taskId: string;
|
|
668
|
+
/** base url of converted resources */
|
|
669
|
+
url: string;
|
|
670
|
+
/** internal state of slide, do not change */
|
|
671
|
+
state: SlideState | null;
|
|
672
|
+
}
|
|
673
|
+
declare type MagixPayload = {
|
|
674
|
+
type: typeof SLIDE_EVENTS.syncDispatch;
|
|
675
|
+
payload: SyncEvent;
|
|
676
|
+
};
|
|
677
|
+
declare type MagixEvents = {
|
|
678
|
+
[SLIDE_EVENTS.syncDispatch]: MagixPayload;
|
|
679
679
|
};
|
|
680
680
|
|
|
681
|
-
interface FreezableSlide {
|
|
682
|
-
freeze: () => void;
|
|
683
|
-
unfreeze: () => void;
|
|
684
|
-
}
|
|
685
|
-
declare let FreezerLength: number;
|
|
686
|
-
declare function getFreezerLength(): number;
|
|
687
|
-
/** @param length - must be >= 1, default is 2 */
|
|
688
|
-
declare function setFreezerLength(length: number): void;
|
|
689
|
-
declare const apps: {
|
|
690
|
-
map: Map<string, FreezableSlide>;
|
|
691
|
-
boxes: Map<string, ReadonlyTeleBox>;
|
|
692
|
-
queue: string[];
|
|
693
|
-
validateQueue(): void;
|
|
694
|
-
set(appId: string, slide: FreezableSlide, box: ReadonlyTeleBox): void;
|
|
695
|
-
delete(appId: string): void;
|
|
696
|
-
focus(appId: string): void;
|
|
697
|
-
};
|
|
698
|
-
declare function onCreated(callback: (appId: string) => void): () => boolean;
|
|
699
|
-
declare function onDestroyed(callback: (appId: string) => void): () => boolean;
|
|
700
|
-
declare type AddHooks = NonNullable<RegisterParams["addHooks"]>;
|
|
701
|
-
/**
|
|
702
|
-
* Put this function in your register code:
|
|
703
|
-
* `WindowManager.register({ kind: 'Slide', src: SlideApp, addHooks })`
|
|
704
|
-
* So that it will automatically freeze the app when it is not in focus.
|
|
705
|
-
*/
|
|
681
|
+
interface FreezableSlide {
|
|
682
|
+
freeze: () => void;
|
|
683
|
+
unfreeze: () => void;
|
|
684
|
+
}
|
|
685
|
+
declare let FreezerLength: number;
|
|
686
|
+
declare function getFreezerLength(): number;
|
|
687
|
+
/** @param length - must be >= 1, default is 2 */
|
|
688
|
+
declare function setFreezerLength(length: number): void;
|
|
689
|
+
declare const apps: {
|
|
690
|
+
map: Map<string, FreezableSlide>;
|
|
691
|
+
boxes: Map<string, ReadonlyTeleBox>;
|
|
692
|
+
queue: string[];
|
|
693
|
+
validateQueue(): void;
|
|
694
|
+
set(appId: string, slide: FreezableSlide, box: ReadonlyTeleBox): void;
|
|
695
|
+
delete(appId: string): void;
|
|
696
|
+
focus(appId: string): void;
|
|
697
|
+
};
|
|
698
|
+
declare function onCreated(callback: (appId: string) => void): () => boolean;
|
|
699
|
+
declare function onDestroyed(callback: (appId: string) => void): () => boolean;
|
|
700
|
+
declare type AddHooks = NonNullable<RegisterParams["addHooks"]>;
|
|
701
|
+
/**
|
|
702
|
+
* Put this function in your register code:
|
|
703
|
+
* `WindowManager.register({ kind: 'Slide', src: SlideApp, addHooks })`
|
|
704
|
+
* So that it will automatically freeze the app when it is not in focus.
|
|
705
|
+
*/
|
|
706
706
|
declare const addHooks: AddHooks;
|
|
707
707
|
|
|
708
708
|
declare type SideEffectDisposer = () => any;
|
|
@@ -779,268 +779,268 @@ declare class SideEffectManager {
|
|
|
779
779
|
genUID(): string;
|
|
780
780
|
}
|
|
781
781
|
|
|
782
|
-
interface DocsViewerPage {
|
|
783
|
-
src: string;
|
|
784
|
-
height: number;
|
|
785
|
-
width: number;
|
|
786
|
-
thumbnail?: string;
|
|
787
|
-
}
|
|
788
|
-
interface DocsViewerConfig {
|
|
789
|
-
readonly: boolean;
|
|
790
|
-
onNewPageIndex: (index: number) => void;
|
|
791
|
-
onPlay?: () => void;
|
|
792
|
-
urlInterrupter?: (url: string) => Promise<string>;
|
|
793
|
-
}
|
|
794
|
-
declare class DocsViewer {
|
|
795
|
-
constructor({ readonly, onNewPageIndex, onPlay, urlInterrupter }: DocsViewerConfig);
|
|
796
|
-
protected readonly: boolean;
|
|
797
|
-
protected onNewPageIndex: (index: number) => void;
|
|
798
|
-
protected onPlay?: () => void;
|
|
799
|
-
protected urlInterrupter: (url: string) => Promise<string> | string;
|
|
800
|
-
private _pages;
|
|
801
|
-
set pages(value: DocsViewerPage[]);
|
|
802
|
-
get pages(): DocsViewerPage[];
|
|
803
|
-
$content: HTMLElement;
|
|
804
|
-
$preview: HTMLElement;
|
|
805
|
-
$previewMask: HTMLElement;
|
|
806
|
-
$footer: HTMLElement;
|
|
807
|
-
$pageNumberInput: HTMLInputElement;
|
|
808
|
-
$totalPage: HTMLSpanElement;
|
|
809
|
-
$btnPlay: HTMLButtonElement;
|
|
810
|
-
$btnSidebar: HTMLButtonElement;
|
|
811
|
-
pageIndex: number;
|
|
812
|
-
unmount(): void;
|
|
813
|
-
setReadonly(readonly: boolean): void;
|
|
814
|
-
destroy(): void;
|
|
815
|
-
setPageIndex(pageIndex: number): void;
|
|
816
|
-
refreshTotalPage(): void;
|
|
817
|
-
setSmallBox(isSmallBox: boolean): void;
|
|
818
|
-
render(): HTMLElement;
|
|
819
|
-
protected renderContent(): HTMLElement;
|
|
820
|
-
private previewLazyLoad?;
|
|
821
|
-
protected renderPreview(): HTMLElement;
|
|
822
|
-
private refreshPreview;
|
|
823
|
-
protected renderPreviewMask(): HTMLElement;
|
|
824
|
-
setPaused: () => void;
|
|
825
|
-
setPlaying: () => void;
|
|
826
|
-
refreshBtnSidebar(): void;
|
|
827
|
-
protected renderFooter(): HTMLElement;
|
|
828
|
-
protected renderFooterBtn(className: string, $icon: SVGElement, $iconActive?: SVGElement): HTMLButtonElement;
|
|
829
|
-
protected togglePreview(isShowPreview?: boolean): void;
|
|
830
|
-
protected wrapClassName(className: string): string;
|
|
831
|
-
protected namespace: string;
|
|
832
|
-
protected isShowPreview: boolean;
|
|
833
|
-
protected isSmallBox: boolean;
|
|
834
|
-
protected sideEffect: SideEffectManager;
|
|
782
|
+
interface DocsViewerPage {
|
|
783
|
+
src: string;
|
|
784
|
+
height: number;
|
|
785
|
+
width: number;
|
|
786
|
+
thumbnail?: string;
|
|
787
|
+
}
|
|
788
|
+
interface DocsViewerConfig {
|
|
789
|
+
readonly: boolean;
|
|
790
|
+
onNewPageIndex: (index: number) => void;
|
|
791
|
+
onPlay?: () => void;
|
|
792
|
+
urlInterrupter?: (url: string) => Promise<string>;
|
|
793
|
+
}
|
|
794
|
+
declare class DocsViewer {
|
|
795
|
+
constructor({ readonly, onNewPageIndex, onPlay, urlInterrupter }: DocsViewerConfig);
|
|
796
|
+
protected readonly: boolean;
|
|
797
|
+
protected onNewPageIndex: (index: number) => void;
|
|
798
|
+
protected onPlay?: () => void;
|
|
799
|
+
protected urlInterrupter: (url: string) => Promise<string> | string;
|
|
800
|
+
private _pages;
|
|
801
|
+
set pages(value: DocsViewerPage[]);
|
|
802
|
+
get pages(): DocsViewerPage[];
|
|
803
|
+
$content: HTMLElement;
|
|
804
|
+
$preview: HTMLElement;
|
|
805
|
+
$previewMask: HTMLElement;
|
|
806
|
+
$footer: HTMLElement;
|
|
807
|
+
$pageNumberInput: HTMLInputElement;
|
|
808
|
+
$totalPage: HTMLSpanElement;
|
|
809
|
+
$btnPlay: HTMLButtonElement;
|
|
810
|
+
$btnSidebar: HTMLButtonElement;
|
|
811
|
+
pageIndex: number;
|
|
812
|
+
unmount(): void;
|
|
813
|
+
setReadonly(readonly: boolean): void;
|
|
814
|
+
destroy(): void;
|
|
815
|
+
setPageIndex(pageIndex: number): void;
|
|
816
|
+
refreshTotalPage(): void;
|
|
817
|
+
setSmallBox(isSmallBox: boolean): void;
|
|
818
|
+
render(): HTMLElement;
|
|
819
|
+
protected renderContent(): HTMLElement;
|
|
820
|
+
private previewLazyLoad?;
|
|
821
|
+
protected renderPreview(): HTMLElement;
|
|
822
|
+
private refreshPreview;
|
|
823
|
+
protected renderPreviewMask(): HTMLElement;
|
|
824
|
+
setPaused: () => void;
|
|
825
|
+
setPlaying: () => void;
|
|
826
|
+
refreshBtnSidebar(): void;
|
|
827
|
+
protected renderFooter(): HTMLElement;
|
|
828
|
+
protected renderFooterBtn(className: string, $icon: SVGElement, $iconActive?: SVGElement): HTMLButtonElement;
|
|
829
|
+
protected togglePreview(isShowPreview?: boolean): void;
|
|
830
|
+
protected wrapClassName(className: string): string;
|
|
831
|
+
protected namespace: string;
|
|
832
|
+
protected isShowPreview: boolean;
|
|
833
|
+
protected isSmallBox: boolean;
|
|
834
|
+
protected sideEffect: SideEffectManager;
|
|
835
835
|
}
|
|
836
836
|
|
|
837
|
-
declare const DefaultUrl = "https://convertcdn.netless.link/dynamicConvert";
|
|
838
|
-
interface SlideControllerOptions {
|
|
839
|
-
context: AppContext<Attributes, MagixEvents, AppOptions>;
|
|
840
|
-
anchor: HTMLDivElement;
|
|
841
|
-
onRenderEnd: () => void;
|
|
842
|
-
onPageChanged: (page: number) => void;
|
|
843
|
-
onTransitionStart: () => void;
|
|
844
|
-
onTransitionEnd: () => void;
|
|
845
|
-
onError: (args: {
|
|
846
|
-
error: Error;
|
|
847
|
-
index: number;
|
|
848
|
-
}) => void;
|
|
849
|
-
onRenderError?: (error: Error, pageIndex: number) => void;
|
|
850
|
-
showRenderError?: boolean;
|
|
851
|
-
}
|
|
852
|
-
declare class SlideController {
|
|
853
|
-
readonly context: SlideControllerOptions["context"];
|
|
854
|
-
readonly slide: Slide;
|
|
855
|
-
readonly showRenderError: boolean;
|
|
856
|
-
readonly onRenderError?: (error: Error, pageIndex: number) => void;
|
|
857
|
-
private readonly room?;
|
|
858
|
-
private readonly player?;
|
|
859
|
-
private readonly sideEffect;
|
|
860
|
-
private readonly onPageChanged;
|
|
861
|
-
private readonly onTransitionStart;
|
|
862
|
-
private readonly onTransitionEnd;
|
|
863
|
-
private readonly onError;
|
|
864
|
-
private syncStateOnceFlag;
|
|
865
|
-
private visible;
|
|
866
|
-
private savedIsFrozen;
|
|
867
|
-
constructor({ context, anchor, onPageChanged, onTransitionStart, onTransitionEnd, onError, onRenderError, showRenderError, }: SlideControllerOptions);
|
|
868
|
-
ready: boolean;
|
|
869
|
-
private resolveReady;
|
|
870
|
-
readonly readyPromise: Promise<void>;
|
|
871
|
-
jumpToPage(page: number): void;
|
|
872
|
-
private initialize;
|
|
873
|
-
private kickStart;
|
|
874
|
-
private registerEventListeners;
|
|
875
|
-
private onSyncDispatch;
|
|
876
|
-
private magixEventListener;
|
|
877
|
-
private syncStateOnce;
|
|
878
|
-
private onStateChange;
|
|
879
|
-
private pollCount;
|
|
880
|
-
private pollReadyState;
|
|
881
|
-
private _pageCount;
|
|
882
|
-
get pageCount(): number;
|
|
883
|
-
get page(): number;
|
|
884
|
-
private createSlide;
|
|
885
|
-
private destroyed;
|
|
886
|
-
destroy(): void;
|
|
887
|
-
timestamp: () => number;
|
|
888
|
-
isFrozen: boolean;
|
|
889
|
-
private _toFreeze;
|
|
890
|
-
freeze: () => void;
|
|
891
|
-
unfreeze: () => Promise<void>;
|
|
892
|
-
private onVisibilityChange;
|
|
837
|
+
declare const DefaultUrl = "https://convertcdn.netless.link/dynamicConvert";
|
|
838
|
+
interface SlideControllerOptions {
|
|
839
|
+
context: AppContext<Attributes, MagixEvents, AppOptions>;
|
|
840
|
+
anchor: HTMLDivElement;
|
|
841
|
+
onRenderEnd: () => void;
|
|
842
|
+
onPageChanged: (page: number) => void;
|
|
843
|
+
onTransitionStart: () => void;
|
|
844
|
+
onTransitionEnd: () => void;
|
|
845
|
+
onError: (args: {
|
|
846
|
+
error: Error;
|
|
847
|
+
index: number;
|
|
848
|
+
}) => void;
|
|
849
|
+
onRenderError?: (error: Error, pageIndex: number) => void;
|
|
850
|
+
showRenderError?: boolean;
|
|
851
|
+
}
|
|
852
|
+
declare class SlideController {
|
|
853
|
+
readonly context: SlideControllerOptions["context"];
|
|
854
|
+
readonly slide: Slide;
|
|
855
|
+
readonly showRenderError: boolean;
|
|
856
|
+
readonly onRenderError?: (error: Error, pageIndex: number) => void;
|
|
857
|
+
private readonly room?;
|
|
858
|
+
private readonly player?;
|
|
859
|
+
private readonly sideEffect;
|
|
860
|
+
private readonly onPageChanged;
|
|
861
|
+
private readonly onTransitionStart;
|
|
862
|
+
private readonly onTransitionEnd;
|
|
863
|
+
private readonly onError;
|
|
864
|
+
private syncStateOnceFlag;
|
|
865
|
+
private visible;
|
|
866
|
+
private savedIsFrozen;
|
|
867
|
+
constructor({ context, anchor, onPageChanged, onTransitionStart, onTransitionEnd, onError, onRenderError, showRenderError, }: SlideControllerOptions);
|
|
868
|
+
ready: boolean;
|
|
869
|
+
private resolveReady;
|
|
870
|
+
readonly readyPromise: Promise<void>;
|
|
871
|
+
jumpToPage(page: number): void;
|
|
872
|
+
private initialize;
|
|
873
|
+
private kickStart;
|
|
874
|
+
private registerEventListeners;
|
|
875
|
+
private onSyncDispatch;
|
|
876
|
+
private magixEventListener;
|
|
877
|
+
private syncStateOnce;
|
|
878
|
+
private onStateChange;
|
|
879
|
+
private pollCount;
|
|
880
|
+
private pollReadyState;
|
|
881
|
+
private _pageCount;
|
|
882
|
+
get pageCount(): number;
|
|
883
|
+
get page(): number;
|
|
884
|
+
private createSlide;
|
|
885
|
+
private destroyed;
|
|
886
|
+
destroy(): void;
|
|
887
|
+
timestamp: () => number;
|
|
888
|
+
isFrozen: boolean;
|
|
889
|
+
private _toFreeze;
|
|
890
|
+
freeze: () => void;
|
|
891
|
+
unfreeze: () => Promise<void>;
|
|
892
|
+
private onVisibilityChange;
|
|
893
893
|
}
|
|
894
894
|
|
|
895
|
-
declare type MountSlideOptions = Omit<SlideControllerOptions, "context" | "onPageChanged"> & {
|
|
896
|
-
onReady: () => void;
|
|
897
|
-
};
|
|
898
|
-
interface SlideDocsViewerConfig {
|
|
899
|
-
box: ReadonlyTeleBox;
|
|
900
|
-
view: View;
|
|
901
|
-
mountSlideController: (options: MountSlideOptions) => SlideController;
|
|
902
|
-
mountWhiteboard: (dom: HTMLDivElement) => void;
|
|
903
|
-
baseScenePath: string;
|
|
904
|
-
appId: string;
|
|
905
|
-
urlInterrupter?: (url: string) => Promise<string>;
|
|
906
|
-
}
|
|
907
|
-
declare class SlideDocsViewer {
|
|
908
|
-
viewer: DocsViewer;
|
|
909
|
-
slideController: SlideController | null;
|
|
910
|
-
protected readonly box: ReadonlyTeleBox;
|
|
911
|
-
protected readonly whiteboardView: SlideDocsViewerConfig["view"];
|
|
912
|
-
protected readonly mountSlideController: SlideDocsViewerConfig["mountSlideController"];
|
|
913
|
-
protected readonly mountWhiteboard: SlideDocsViewerConfig["mountWhiteboard"];
|
|
914
|
-
private readonly baseScenePath;
|
|
915
|
-
private readonly appId;
|
|
916
|
-
private isViewMounted;
|
|
917
|
-
constructor({ box, view, mountSlideController, mountWhiteboard, baseScenePath, appId, urlInterrupter, }: SlideDocsViewerConfig);
|
|
918
|
-
$slide: HTMLDivElement;
|
|
919
|
-
$whiteboardView: HTMLDivElement;
|
|
920
|
-
$overlay: HTMLDivElement;
|
|
921
|
-
render(): void;
|
|
922
|
-
protected renderOverlay(): HTMLDivElement;
|
|
923
|
-
protected renderSlideContainer(): HTMLDivElement;
|
|
924
|
-
protected renderWhiteboardView(): HTMLDivElement;
|
|
925
|
-
mount(): this;
|
|
926
|
-
protected onError: ({ error, index }: {
|
|
927
|
-
error: Error;
|
|
928
|
-
index: number;
|
|
929
|
-
}) => void;
|
|
930
|
-
protected onRenderEnd: () => void;
|
|
931
|
-
protected refreshPages: () => void;
|
|
932
|
-
protected getPageIndex(page: number): number;
|
|
933
|
-
unmount(): this;
|
|
934
|
-
setReadonly(readonly: boolean): void;
|
|
935
|
-
destroy(): void;
|
|
936
|
-
toggleClickThrough(tool?: string): void;
|
|
937
|
-
protected scaleDocsToFit: () => void;
|
|
938
|
-
protected onPlay: () => void;
|
|
939
|
-
protected onNewPageIndex: (index: number) => void;
|
|
940
|
-
protected sideEffect: SideEffectManager;
|
|
941
|
-
protected wrapClassName(className: string): string;
|
|
942
|
-
protected namespace: string;
|
|
943
|
-
private getWhiteSnapshot;
|
|
944
|
-
private reportProgress;
|
|
945
|
-
private toPdf;
|
|
895
|
+
declare type MountSlideOptions = Omit<SlideControllerOptions, "context" | "onPageChanged"> & {
|
|
896
|
+
onReady: () => void;
|
|
897
|
+
};
|
|
898
|
+
interface SlideDocsViewerConfig {
|
|
899
|
+
box: ReadonlyTeleBox;
|
|
900
|
+
view: View;
|
|
901
|
+
mountSlideController: (options: MountSlideOptions) => SlideController;
|
|
902
|
+
mountWhiteboard: (dom: HTMLDivElement) => void;
|
|
903
|
+
baseScenePath: string;
|
|
904
|
+
appId: string;
|
|
905
|
+
urlInterrupter?: (url: string) => Promise<string>;
|
|
906
|
+
}
|
|
907
|
+
declare class SlideDocsViewer {
|
|
908
|
+
viewer: DocsViewer;
|
|
909
|
+
slideController: SlideController | null;
|
|
910
|
+
protected readonly box: ReadonlyTeleBox;
|
|
911
|
+
protected readonly whiteboardView: SlideDocsViewerConfig["view"];
|
|
912
|
+
protected readonly mountSlideController: SlideDocsViewerConfig["mountSlideController"];
|
|
913
|
+
protected readonly mountWhiteboard: SlideDocsViewerConfig["mountWhiteboard"];
|
|
914
|
+
private readonly baseScenePath;
|
|
915
|
+
private readonly appId;
|
|
916
|
+
private isViewMounted;
|
|
917
|
+
constructor({ box, view, mountSlideController, mountWhiteboard, baseScenePath, appId, urlInterrupter, }: SlideDocsViewerConfig);
|
|
918
|
+
$slide: HTMLDivElement;
|
|
919
|
+
$whiteboardView: HTMLDivElement;
|
|
920
|
+
$overlay: HTMLDivElement;
|
|
921
|
+
render(): void;
|
|
922
|
+
protected renderOverlay(): HTMLDivElement;
|
|
923
|
+
protected renderSlideContainer(): HTMLDivElement;
|
|
924
|
+
protected renderWhiteboardView(): HTMLDivElement;
|
|
925
|
+
mount(): this;
|
|
926
|
+
protected onError: ({ error, index }: {
|
|
927
|
+
error: Error;
|
|
928
|
+
index: number;
|
|
929
|
+
}) => void;
|
|
930
|
+
protected onRenderEnd: () => void;
|
|
931
|
+
protected refreshPages: () => void;
|
|
932
|
+
protected getPageIndex(page: number): number;
|
|
933
|
+
unmount(): this;
|
|
934
|
+
setReadonly(readonly: boolean): void;
|
|
935
|
+
destroy(): void;
|
|
936
|
+
toggleClickThrough(tool?: string): void;
|
|
937
|
+
protected scaleDocsToFit: () => void;
|
|
938
|
+
protected onPlay: () => void;
|
|
939
|
+
protected onNewPageIndex: (index: number) => void;
|
|
940
|
+
protected sideEffect: SideEffectManager;
|
|
941
|
+
protected wrapClassName(className: string): string;
|
|
942
|
+
protected namespace: string;
|
|
943
|
+
private getWhiteSnapshot;
|
|
944
|
+
private reportProgress;
|
|
945
|
+
private toPdf;
|
|
946
946
|
}
|
|
947
947
|
|
|
948
|
-
interface PreviewParams {
|
|
949
|
-
container: HTMLElement;
|
|
950
|
-
taskId: string;
|
|
951
|
-
url?: string;
|
|
952
|
-
debug?: boolean;
|
|
953
|
-
}
|
|
954
|
-
declare function previewSlide({ container, taskId, url, debug, }: PreviewParams): SlidePreviewer;
|
|
955
|
-
declare class SlidePreviewer {
|
|
956
|
-
readonly viewer: DocsViewer;
|
|
957
|
-
readonly bgColor: string;
|
|
958
|
-
readonly target: HTMLElement;
|
|
959
|
-
slide: Slide | null;
|
|
960
|
-
debug: boolean;
|
|
961
|
-
$slide: HTMLDivElement;
|
|
962
|
-
private readonly sideEffect;
|
|
963
|
-
ready: boolean;
|
|
964
|
-
private resolveReady;
|
|
965
|
-
readonly readyPromise: Promise<void>;
|
|
966
|
-
constructor(config: {
|
|
967
|
-
target: HTMLElement;
|
|
968
|
-
});
|
|
969
|
-
render(): void;
|
|
970
|
-
/**
|
|
971
|
-
* In case you have a different window -- for example, in electron.
|
|
972
|
-
* Use this method to re-register hotkeys.
|
|
973
|
-
*
|
|
974
|
-
* @example
|
|
975
|
-
* previewer.registerHotKeys(windowLike)
|
|
976
|
-
*/
|
|
977
|
-
registerHotKeys(windowLike: Window): void;
|
|
978
|
-
private hotkeyListener;
|
|
979
|
-
mount(taskId: string, url: string): void;
|
|
980
|
-
protected renderStyle(): HTMLElement;
|
|
981
|
-
protected registerEventListeners(): void;
|
|
982
|
-
protected onPageChanged: (page: number) => void;
|
|
983
|
-
protected onTransitionStart: () => void;
|
|
984
|
-
protected onTransitionEnd: () => void;
|
|
985
|
-
protected onError: ({ error }: {
|
|
986
|
-
error: Error;
|
|
987
|
-
}) => void;
|
|
988
|
-
private destroyed;
|
|
989
|
-
destroy(): void;
|
|
990
|
-
protected refreshPages: () => void;
|
|
991
|
-
protected getPageIndex(page: number): number;
|
|
992
|
-
protected renderSlideContainer(): HTMLDivElement;
|
|
993
|
-
protected onPlay: () => void;
|
|
994
|
-
protected onNewPageIndex: (index: number) => void;
|
|
995
|
-
protected wrapClassName(className: string): string;
|
|
996
|
-
protected namespace: string;
|
|
948
|
+
interface PreviewParams {
|
|
949
|
+
container: HTMLElement;
|
|
950
|
+
taskId: string;
|
|
951
|
+
url?: string;
|
|
952
|
+
debug?: boolean;
|
|
953
|
+
}
|
|
954
|
+
declare function previewSlide({ container, taskId, url, debug, }: PreviewParams): SlidePreviewer;
|
|
955
|
+
declare class SlidePreviewer {
|
|
956
|
+
readonly viewer: DocsViewer;
|
|
957
|
+
readonly bgColor: string;
|
|
958
|
+
readonly target: HTMLElement;
|
|
959
|
+
slide: Slide | null;
|
|
960
|
+
debug: boolean;
|
|
961
|
+
$slide: HTMLDivElement;
|
|
962
|
+
private readonly sideEffect;
|
|
963
|
+
ready: boolean;
|
|
964
|
+
private resolveReady;
|
|
965
|
+
readonly readyPromise: Promise<void>;
|
|
966
|
+
constructor(config: {
|
|
967
|
+
target: HTMLElement;
|
|
968
|
+
});
|
|
969
|
+
render(): void;
|
|
970
|
+
/**
|
|
971
|
+
* In case you have a different window -- for example, in electron.
|
|
972
|
+
* Use this method to re-register hotkeys.
|
|
973
|
+
*
|
|
974
|
+
* @example
|
|
975
|
+
* previewer.registerHotKeys(windowLike)
|
|
976
|
+
*/
|
|
977
|
+
registerHotKeys(windowLike: Window): void;
|
|
978
|
+
private hotkeyListener;
|
|
979
|
+
mount(taskId: string, url: string): void;
|
|
980
|
+
protected renderStyle(): HTMLElement;
|
|
981
|
+
protected registerEventListeners(): void;
|
|
982
|
+
protected onPageChanged: (page: number) => void;
|
|
983
|
+
protected onTransitionStart: () => void;
|
|
984
|
+
protected onTransitionEnd: () => void;
|
|
985
|
+
protected onError: ({ error }: {
|
|
986
|
+
error: Error;
|
|
987
|
+
}) => void;
|
|
988
|
+
private destroyed;
|
|
989
|
+
destroy(): void;
|
|
990
|
+
protected refreshPages: () => void;
|
|
991
|
+
protected getPageIndex(page: number): number;
|
|
992
|
+
protected renderSlideContainer(): HTMLDivElement;
|
|
993
|
+
protected onPlay: () => void;
|
|
994
|
+
protected onNewPageIndex: (index: number) => void;
|
|
995
|
+
protected wrapClassName(className: string): string;
|
|
996
|
+
protected namespace: string;
|
|
997
997
|
}
|
|
998
998
|
|
|
999
|
-
declare const usePlugin: (plugin: any) => any;
|
|
1000
|
-
declare const version: string;
|
|
1001
|
-
|
|
1002
|
-
interface AppOptions extends Pick<ISlideConfig, "rtcAudio" | "useLocalCache" | "resourceTimeout" | "loaderDelegate" | "urlInterrupter" | "navigatorDelegate" | "fixedFrameSize" | "logger"> {
|
|
1003
|
-
/** show debug controller */
|
|
1004
|
-
debug?: boolean;
|
|
1005
|
-
/** scale */
|
|
1006
|
-
resolution?: number;
|
|
1007
|
-
/** background color for slide animations */
|
|
1008
|
-
bgColor?: string;
|
|
1009
|
-
/** minimal fps @default 25 */
|
|
1010
|
-
minFPS?: number;
|
|
1011
|
-
/** maximal fps @default 30 */
|
|
1012
|
-
maxFPS?: number;
|
|
1013
|
-
/** automatically decrease fps @default true */
|
|
1014
|
-
autoFPS?: boolean;
|
|
1015
|
-
/** whether to re-scale automatically @default true */
|
|
1016
|
-
autoResolution?: boolean;
|
|
1017
|
-
/** 1~4, default: 3 */
|
|
1018
|
-
maxResolutionLevel?: number;
|
|
1019
|
-
/** use canvas2d mode, downside: some 3d effects are lost */
|
|
1020
|
-
forceCanvas?: boolean;
|
|
1021
|
-
/** fix windows 11 nvidia rendering bug, downside: render next page slows down */
|
|
1022
|
-
enableNvidiaDetect?: boolean;
|
|
1023
|
-
/** custom error handler */
|
|
1024
|
-
onRenderError?: (error: Error, pageIndex: number) => void;
|
|
1025
|
-
/** whether to show an overlay of error message @default: true */
|
|
1026
|
-
showRenderError?: boolean;
|
|
1027
|
-
}
|
|
1028
|
-
interface ILogger {
|
|
1029
|
-
info?(msg: string): void;
|
|
1030
|
-
error?(msg: string): void;
|
|
1031
|
-
warn?(msg: string): void;
|
|
1032
|
-
}
|
|
1033
|
-
interface AppResult {
|
|
1034
|
-
viewer: () => SlideDocsViewer | null;
|
|
1035
|
-
controller: () => SlideController | null | undefined;
|
|
1036
|
-
slide: () => Slide | undefined;
|
|
1037
|
-
position: () => [page: number, pageCount: number] | undefined;
|
|
1038
|
-
nextStep: () => boolean;
|
|
1039
|
-
prevStep: () => boolean;
|
|
1040
|
-
nextPage: () => boolean;
|
|
1041
|
-
prevPage: () => boolean;
|
|
1042
|
-
jumpToPage: (page: number) => boolean;
|
|
1043
|
-
}
|
|
999
|
+
declare const usePlugin: (plugin: any) => any;
|
|
1000
|
+
declare const version: string;
|
|
1001
|
+
|
|
1002
|
+
interface AppOptions extends Pick<ISlideConfig, "rtcAudio" | "useLocalCache" | "resourceTimeout" | "loaderDelegate" | "urlInterrupter" | "navigatorDelegate" | "fixedFrameSize" | "logger"> {
|
|
1003
|
+
/** show debug controller */
|
|
1004
|
+
debug?: boolean;
|
|
1005
|
+
/** scale */
|
|
1006
|
+
resolution?: number;
|
|
1007
|
+
/** background color for slide animations */
|
|
1008
|
+
bgColor?: string;
|
|
1009
|
+
/** minimal fps @default 25 */
|
|
1010
|
+
minFPS?: number;
|
|
1011
|
+
/** maximal fps @default 30 */
|
|
1012
|
+
maxFPS?: number;
|
|
1013
|
+
/** automatically decrease fps @default true */
|
|
1014
|
+
autoFPS?: boolean;
|
|
1015
|
+
/** whether to re-scale automatically @default true */
|
|
1016
|
+
autoResolution?: boolean;
|
|
1017
|
+
/** 1~4, default: 3 */
|
|
1018
|
+
maxResolutionLevel?: number;
|
|
1019
|
+
/** use canvas2d mode, downside: some 3d effects are lost */
|
|
1020
|
+
forceCanvas?: boolean;
|
|
1021
|
+
/** fix windows 11 nvidia rendering bug, downside: render next page slows down */
|
|
1022
|
+
enableNvidiaDetect?: boolean;
|
|
1023
|
+
/** custom error handler */
|
|
1024
|
+
onRenderError?: (error: Error, pageIndex: number) => void;
|
|
1025
|
+
/** whether to show an overlay of error message @default: true */
|
|
1026
|
+
showRenderError?: boolean;
|
|
1027
|
+
}
|
|
1028
|
+
interface ILogger {
|
|
1029
|
+
info?(msg: string): void;
|
|
1030
|
+
error?(msg: string): void;
|
|
1031
|
+
warn?(msg: string): void;
|
|
1032
|
+
}
|
|
1033
|
+
interface AppResult {
|
|
1034
|
+
viewer: () => SlideDocsViewer | null;
|
|
1035
|
+
controller: () => SlideController | null | undefined;
|
|
1036
|
+
slide: () => Slide | undefined;
|
|
1037
|
+
position: () => [page: number, pageCount: number] | undefined;
|
|
1038
|
+
nextStep: () => boolean;
|
|
1039
|
+
prevStep: () => boolean;
|
|
1040
|
+
nextPage: () => boolean;
|
|
1041
|
+
prevPage: () => boolean;
|
|
1042
|
+
jumpToPage: (page: number) => boolean;
|
|
1043
|
+
}
|
|
1044
1044
|
declare const SlideApp: NetlessApp<Attributes, MagixEvents, AppOptions, AppResult>;
|
|
1045
1045
|
|
|
1046
1046
|
export { AddHooks, AppOptions, AppResult, Attributes, DefaultUrl, FreezableSlide, FreezerLength, ILogger, PreviewParams, Slide, SlidePreviewer, addHooks, apps, SlideApp as default, getFreezerLength, onCreated, onDestroyed, previewSlide, setFreezerLength, usePlugin, version };
|