@netless/app-slide 0.2.44 → 0.2.45-alpha.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netless/app-slide",
3
- "version": "0.2.44",
3
+ "version": "0.2.45-alpha.1",
4
4
  "main": "dist/main.cjs.js",
5
5
  "module": "dist/main.es.js",
6
6
  "types": "dist/index.d.ts",
@@ -31,6 +31,7 @@ export const EmptyAttributes: Attributes = {
31
31
  export interface SlideControllerOptions {
32
32
  context: AppContext<Attributes, MagixEvents, AppOptions>;
33
33
  anchor: HTMLDivElement;
34
+ onRenderStart: () => void;
34
35
  onRenderEnd: () => void;
35
36
  onPageChanged: (page: number) => void;
36
37
  onTransitionStart: () => void;
@@ -54,6 +55,7 @@ export class SlideController {
54
55
  private readonly player?: Player;
55
56
  private readonly sideEffect = new SideEffectManager();
56
57
 
58
+ private readonly onRenderStart: SlideControllerOptions["onRenderStart"];
57
59
  private readonly onPageChanged: SlideControllerOptions["onPageChanged"];
58
60
  private readonly onTransitionStart: SlideControllerOptions["onTransitionStart"];
59
61
  private readonly onTransitionEnd: SlideControllerOptions["onTransitionEnd"];
@@ -67,6 +69,7 @@ export class SlideController {
67
69
  public constructor({
68
70
  context,
69
71
  anchor,
72
+ onRenderStart,
70
73
  onPageChanged,
71
74
  onTransitionStart,
72
75
  onTransitionEnd,
@@ -74,6 +77,7 @@ export class SlideController {
74
77
  onRenderError,
75
78
  showRenderError,
76
79
  }: SlideControllerOptions) {
80
+ this.onRenderStart = onRenderStart
77
81
  this.onPageChanged = onPageChanged;
78
82
  this.onTransitionStart = onTransitionStart;
79
83
  this.onTransitionEnd = onTransitionEnd;
@@ -165,8 +169,8 @@ export class SlideController {
165
169
  })
166
170
  );
167
171
 
172
+ slide.on(SLIDE_EVENTS.renderStart, this.onRenderStart);
168
173
  slide.on(SLIDE_EVENTS.slideChange, this.onPageChanged);
169
- slide.on(SLIDE_EVENTS.renderStart, this.onTransitionStart);
170
174
  slide.on(SLIDE_EVENTS.renderEnd, this.onTransitionEnd);
171
175
  slide.on(SLIDE_EVENTS.mainSeqStepStart, this.onTransitionStart);
172
176
  slide.on(SLIDE_EVENTS.mainSeqStepEnd, this.onTransitionEnd);
@@ -146,6 +146,7 @@ export class SlideDocsViewer {
146
146
 
147
147
  this.slideController = this.mountSlideController({
148
148
  anchor: this.$slide,
149
+ onRenderStart: this.onRenderStart,
149
150
  onRenderEnd: this.onRenderEnd,
150
151
  onTransitionStart: this.viewer.setPlaying,
151
152
  onTransitionEnd: this.viewer.setPaused,
@@ -174,8 +175,13 @@ export class SlideDocsViewer {
174
175
  logger.warn("[Slide] render error", error);
175
176
  };
176
177
 
178
+ protected onRenderStart = () => {
179
+ this.$whiteboardView.classList.add(this.wrapClassName("wb-view-hidden"));
180
+ };
181
+
177
182
  protected onRenderEnd = () => {
178
183
  this.$overlay.style.opacity = "";
184
+ this.$whiteboardView.classList.remove(this.wrapClassName("wb-view-hidden"));
179
185
  };
180
186
 
181
187
  protected refreshPages = () => {
@@ -8,6 +8,11 @@ $namespace: "netless-app-slide";
8
8
  height: 100%;
9
9
  z-index: 100;
10
10
  overflow: hidden;
11
+ transition: opacity 0.1s;
12
+ }
13
+
14
+ .#{$namespace}-wb-view-hidden {
15
+ opacity: 0;
11
16
  }
12
17
 
13
18
  .#{$namespace}-overlay {