Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Commit c39a8a5

Browse files
committed
improved slide preview for notebooks (return last slide)
1 parent 8ee0708 commit c39a8a5

File tree

4 files changed

+16
-11
lines changed

4 files changed

+16
-11
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## 1.51.0 (Unreleased)
44

55
- Always render on save for notebooks (as they don't execute by default)
6+
- Improved slide preview for notebooks (return last slide)
67

78
## 1.50.0 (Release on 19 October 2022)
89

assets/www/preview/index.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const reloadButton = header.querySelector(".reload-button");
2323
const openExternalButton = header.querySelector(".open-external-button");
2424
const kQuartoPreviewReqId = "quartoPreviewReqId";
2525
const kQuartoPreviewThemeCategory = "quartoPreviewThemeCategory";
26-
let slideIndex = 0;
26+
let slideIndex = undefined;
2727

2828
const updateAddressBar = (href) => {
2929
const url = new URL(href);
@@ -76,18 +76,20 @@ window.addEventListener("message", (e) => {
7676
break;
7777
}
7878
case "setSlideIndex": {
79-
slideIndex = e.data.index || 0;
79+
slideIndex = e.data.index;
8080
break;
8181
}
8282
case "reveal-init": {
8383
// set the slide index
8484
const slides = e.data.data.slides;
85-
const slide = slides[slideIndex];
86-
if (slide) {
87-
e.source.postMessage(
88-
{ message: "reveal-slide", data: slide },
89-
e.origin
90-
);
85+
if (slideIndex !== undefined) {
86+
const slide = slides[slideIndex];
87+
if (slide) {
88+
e.source.postMessage(
89+
{ message: "reveal-slide", data: slide },
90+
e.origin
91+
);
92+
}
9193
}
9294

9395
// let reveal know we are ready for additional messages

src/providers/preview/preview-webview.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export class QuartoPreviewWebviewManager extends QuartoWebviewManager<
2222
this.activeView_.clear();
2323
}
2424
}
25-
public setSlideIndex(slideIndex: number) {
25+
public setSlideIndex(slideIndex?: number) {
2626
if (this.activeView_) {
2727
this.activeView_.setSlideIndex(slideIndex);
2828
}
@@ -102,7 +102,7 @@ export class QuartoPreviewWebview extends QuartoWebview<string> {
102102
});
103103
}
104104

105-
public setSlideIndex(slideIndex: number) {
105+
public setSlideIndex(slideIndex?: number) {
106106
this._webviewPanel.webview.postMessage({
107107
type: "setSlideIndex",
108108
index: slideIndex,

src/providers/preview/preview.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,8 @@ export async function previewDoc(
154154
previewManager.setSlideIndex(
155155
await revealSlideIndex(editor.selection.active, editor.document, engine)
156156
);
157+
} else {
158+
previewManager.setSlideIndex(undefined);
157159
}
158160
}
159161
// set onShow if provided
@@ -263,7 +265,7 @@ class PreviewManager {
263265
}
264266
}
265267

266-
public setSlideIndex(slideIndex: number) {
268+
public setSlideIndex(slideIndex?: number) {
267269
this.webviewManager_.setSlideIndex(slideIndex);
268270
}
269271

0 commit comments

Comments
 (0)