@netless/app-slide 0.2.55 → 0.2.57
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 +6 -2
- package/dist/main.cjs.js +61 -55
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +429 -386
- package/dist/main.es.js.map +1 -1
- package/dist/main.iife.js +61 -55
- package/dist/main.iife.js.map +1 -1
- package/package.json +2 -2
- package/src/SlideController/index.ts +15 -2
- package/src/index.ts +3 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netless/app-slide",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.57",
|
|
4
4
|
"main": "dist/main.cjs.js",
|
|
5
5
|
"module": "dist/main.es.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"README-zh.md"
|
|
11
11
|
],
|
|
12
12
|
"devDependencies": {
|
|
13
|
-
"@netless/slide": "^1.
|
|
13
|
+
"@netless/slide": "^1.4.0",
|
|
14
14
|
"@types/color-string": "^1.5.2",
|
|
15
15
|
"color-string": "^1.9.1",
|
|
16
16
|
"jspdf": "2.5.1",
|
|
@@ -41,6 +41,7 @@ export interface SlideControllerOptions {
|
|
|
41
41
|
onRenderError?: (error: Error, pageIndex: number) => void;
|
|
42
42
|
onNavigate?: (index: number, origin?: string) => void;
|
|
43
43
|
showRenderError?: boolean;
|
|
44
|
+
invisibleBehavior?: "frozen" | "pause";
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
const noop = function noop() {
|
|
@@ -73,6 +74,8 @@ export class SlideController {
|
|
|
73
74
|
private visible: boolean;
|
|
74
75
|
private savedIsFrozen: boolean;
|
|
75
76
|
|
|
77
|
+
private invisibleBehavior: "frozen" | "pause";
|
|
78
|
+
|
|
76
79
|
public constructor({
|
|
77
80
|
context,
|
|
78
81
|
anchor,
|
|
@@ -84,7 +87,9 @@ export class SlideController {
|
|
|
84
87
|
onError,
|
|
85
88
|
onRenderError,
|
|
86
89
|
showRenderError,
|
|
90
|
+
invisibleBehavior,
|
|
87
91
|
}: SlideControllerOptions) {
|
|
92
|
+
this.invisibleBehavior = invisibleBehavior ?? "frozen";
|
|
88
93
|
this.onRenderStart = onRenderStart;
|
|
89
94
|
this.onPageChanged = onPageChanged;
|
|
90
95
|
this.onTransitionStart = onTransitionStart;
|
|
@@ -341,7 +346,11 @@ export class SlideController {
|
|
|
341
346
|
this.isFrozen = true;
|
|
342
347
|
if (this.ready) {
|
|
343
348
|
log("[Slide] freeze", this.context.appId);
|
|
344
|
-
this.
|
|
349
|
+
if (this.invisibleBehavior === "frozen") {
|
|
350
|
+
this.slide.frozen();
|
|
351
|
+
} else {
|
|
352
|
+
this.slide.pause();
|
|
353
|
+
}
|
|
345
354
|
} else {
|
|
346
355
|
this._toFreeze = 1;
|
|
347
356
|
}
|
|
@@ -352,7 +361,11 @@ export class SlideController {
|
|
|
352
361
|
this.isFrozen = false;
|
|
353
362
|
if (this.ready) {
|
|
354
363
|
log("[Slide] unfreeze", this.context.appId);
|
|
355
|
-
this.
|
|
364
|
+
if (this.invisibleBehavior === "frozen") {
|
|
365
|
+
this.slide.release();
|
|
366
|
+
} else {
|
|
367
|
+
this.slide.resume();
|
|
368
|
+
}
|
|
356
369
|
} else {
|
|
357
370
|
this._toFreeze = -1;
|
|
358
371
|
}
|
package/src/index.ts
CHANGED
|
@@ -69,6 +69,8 @@ export interface AppOptions
|
|
|
69
69
|
onRenderError?: (error: Error, pageIndex: number) => void;
|
|
70
70
|
/** whether to show an overlay of error message @default: true */
|
|
71
71
|
showRenderError?: boolean;
|
|
72
|
+
/** Specify the behavior after hiding the slide; Freeze will destroy the slide and replace it with a snapshot, while Pause simply pauses the slide @default: 'frozen' */
|
|
73
|
+
invisibleBehavior?: "frozen" | "pause";
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
export interface ILogger {
|
|
@@ -150,6 +152,7 @@ const SlideApp: NetlessApp<Attributes, MagixEvents, AppOptions, AppResult> = {
|
|
|
150
152
|
onNavigate: options.onNavigate,
|
|
151
153
|
onRenderError: appOptions.onRenderError,
|
|
152
154
|
showRenderError: appOptions.showRenderError,
|
|
155
|
+
invisibleBehavior: appOptions.invisibleBehavior,
|
|
153
156
|
});
|
|
154
157
|
if (useFreezer) apps.set(context.appId, slideController, box);
|
|
155
158
|
logger.setAppController(context.appId, slideController);
|