From aaa71953ece5b6b28665758bab5b3d5e038806e7 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Tue, 22 Apr 2025 11:23:24 +0200 Subject: [PATCH 1/2] Allow stopping presentation whith escape key --- js/jupyterlab-slideshow/src/manager.ts | 7 +++++++ js/jupyterlab-slideshow/src/markdown/presenter.ts | 7 +++++++ js/jupyterlab-slideshow/src/notebook/presenter.ts | 7 +++++++ js/jupyterlab-slideshow/src/tokens.ts | 2 ++ 4 files changed, 23 insertions(+) diff --git a/js/jupyterlab-slideshow/src/manager.ts b/js/jupyterlab-slideshow/src/manager.ts index 194fa44..dec1c52 100644 --- a/js/jupyterlab-slideshow/src/manager.ts +++ b/js/jupyterlab-slideshow/src/manager.ts @@ -28,6 +28,7 @@ import { IDeckSettings, TSlideType, TLayerScope, + STOP_KEY, } from './tokens'; import { DesignTools } from './tools/design'; import type { Layover } from './tools/layover'; @@ -341,6 +342,12 @@ export class DeckManager implements IDeckManager { selector: `.${CSS.remote}`, }); } + this._commands.addKeyBinding({ + command: CommandIds.stop, + args: {}, + keys: STOP_KEY, + selector: `.${CSS.remote}`, + }); } public async showLayover() { diff --git a/js/jupyterlab-slideshow/src/markdown/presenter.ts b/js/jupyterlab-slideshow/src/markdown/presenter.ts index abce18c..4b9bd3a 100644 --- a/js/jupyterlab-slideshow/src/markdown/presenter.ts +++ b/js/jupyterlab-slideshow/src/markdown/presenter.ts @@ -18,6 +18,7 @@ import { COMPOUND_KEYS, MARKDOWN_MIMETYPES, MARKDOWN_PREVIEW_FACTORY, + STOP_KEY, } from '../tokens'; export class SimpleMarkdownPresenter @@ -149,6 +150,12 @@ export class SimpleMarkdownPresenter selector: `.${CSS.deck} .${CSS.markdownViewer}`, }); } + this._commands.addKeyBinding({ + command: CommandIds.stop, + args: {}, + keys: STOP_KEY, + selector: `.${CSS.deck} .${CSS.markdownViewer}`, + }); } protected _addWindowListeners() { diff --git a/js/jupyterlab-slideshow/src/notebook/presenter.ts b/js/jupyterlab-slideshow/src/notebook/presenter.ts index 56f3930..a0e6770 100644 --- a/js/jupyterlab-slideshow/src/notebook/presenter.ts +++ b/js/jupyterlab-slideshow/src/notebook/presenter.ts @@ -35,6 +35,7 @@ import { META, ICellDeckMetadata, TLayerScope, + STOP_KEY, } from '../tokens'; import type { Layover } from '../tools/layover'; @@ -341,6 +342,12 @@ export class NotebookPresenter implements IPresenter { selector: `.${CSS.deck} .jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus`, }); } + this._commands.addKeyBinding({ + command: CommandIds.stop, + args: {}, + keys: STOP_KEY, + selector: `.${CSS.deck} .jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus`, + }); } public async canGo(panel: NotebookPanel): Promise> { diff --git a/js/jupyterlab-slideshow/src/tokens.ts b/js/jupyterlab-slideshow/src/tokens.ts index 5391953..b6741ca 100644 --- a/js/jupyterlab-slideshow/src/tokens.ts +++ b/js/jupyterlab-slideshow/src/tokens.ts @@ -192,6 +192,8 @@ export const DIRECTION_KEYS: Record = { down: ['ArrowDown'], }; +export const STOP_KEY: string[] = ['Escape']; + export const COMPOUND_LABEL = new Map<[TDirection, TDirection], string>([ [[DIRECTION.down, DIRECTION.forward], 'Go to next fragment, subslide, or slide'], [[DIRECTION.up, DIRECTION.back], 'Go to previous fragment, subslide, or slide'], From c443b6ec6f1999f131daa4cd901325e0f4a26c47 Mon Sep 17 00:00:00 2001 From: Nicolas Brichet Date: Tue, 22 Apr 2025 11:48:44 +0200 Subject: [PATCH 2/2] Bump upload artifact action --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 12c6aba..67c0f8b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -102,7 +102,7 @@ jobs: if: always() - name: Upload (dist) - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: jupyterlab-slideshow-dist-${{ github.run_number }} path: ./dist @@ -179,7 +179,7 @@ jobs: # - name: upload (reports) # if: always() - # uses: actions/upload-artifact@v3 + # uses: actions/upload-artifact@v4 # with: # name: jupyterlab-slideshow-lint-reports-${{ github.run_number }} # path: ./build/reports @@ -258,7 +258,7 @@ jobs: # - name: upload (reports) # if: always() - # uses: actions/upload-artifact@v3 + # uses: actions/upload-artifact@v4 # with: # name: |- # jupyterlab-slideshow-reports-${{ matrix.os }}-${{matrix.python-version }}-${{ github.run_number }}