Skip to content

Add PageUp and PageDown support for slide navigation#227

Merged
alxlion merged 1 commit into
ClaperCo:devfrom
ATuManera:feature/pageup-pagedown-slide-navigation
Jun 5, 2026
Merged

Add PageUp and PageDown support for slide navigation#227
alxlion merged 1 commit into
ClaperCo:devfrom
ATuManera:feature/pageup-pagedown-slide-navigation

Conversation

@fgallarday

Copy link
Copy Markdown
Contributor

Summary

Adds support for PageUp and PageDown keyboard events for slide navigation.

This improves compatibility with common wireless presentation clickers, which often emit PageDown to advance slides and PageUp to go back.

Supported navigation keys after this change:

  • Previous slide: ArrowLeft, PageUp
  • Next slide: ArrowRight, PageDown

Changes

  • Update assets/js/manager.js to handle PageUp and PageDown.
  • Update assets/js/presenter.js to translate PageUp / PageDown into the existing ArrowLeft / ArrowRight navigation events sent to the opener window.

Testing

Manual validation checklist:

  • Open an event manager with a presentation.
  • Press ArrowRight: advances to next slide.
  • Press ArrowLeft: returns to previous slide.
  • Press PageDown: advances to next slide.
  • Press PageUp: returns to previous slide.
  • Open presenter view.
  • Press PageDown from presenter view: advances slide in manager/presentation.
  • Press PageUp from presenter view: returns to previous slide.
  • Confirm text inputs are not affected if the existing input guard applies.

Automated checks performed:

  • mix test — not executed: Elixir/Mix is not installed in the local environment. The change is limited to two JavaScript files with no Elixir/Phoenix backend logic, so there are no relevant Elixir unit tests for this diff.
  • No JS test suite is configured in assets/package.json (only a deploy script exists).

Notes

This PR targets the dev branch, following the repository contribution instructions.

The change is backward-compatible: existing ArrowLeft / ArrowRight navigation remains unchanged.

Both manager.js and presenter.js already contain an input guard (e.target.tagName != "input") that prevents keyboard navigation from interfering with text fields — this guard was not modified.

This contribution is submitted from the public organizational fork ATuManera/Claper, with commit authorship by J. Fernando Gallarday <fernando@gallarday.net>.

@alxlion alxlion merged commit d18e5d7 into ClaperCo:dev Jun 5, 2026
1 check passed
@alxlion

alxlion commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Thanks for your contribution 🙏

alxlion added a commit that referenced this pull request Jun 5, 2026
commit 7db48f5
Author: Alex Lion <dev@alexandrelion.com>
Date:   Fri Jun 5 10:16:10 2026 +0200

    Update changelog

commit 3039b70
Author: Peter Rundqvist <47314226+pete1854@users.noreply.github.com>
Date:   Fri Jun 5 10:11:07 2026 +0200

    Add swedish translation (#228)

    * Initial translation

    * Initial error msg translation

    * Fixes suggested by Copilot.

    * Fixed spacing before ! and ?

    * Added missing provider translation.

    * Upddated translation for "Unpin"

    * Added missing Content-Type header.

commit d18e5d7
Author: fgallarday <fgallarday@users.noreply.github.com>
Date:   Fri Jun 5 03:07:25 2026 -0500

    Add PageUp and PageDown slide navigation support (#227)

commit 24e18c2
Author: Alex Lion <dev@alexandrelion.com>
Date:   Fri Jun 5 10:06:54 2026 +0200

    Bump version to 2.5.2

commit d5df9a7
Author: Alex Lion <dev@alexandrelion.com>
Date:   Fri May 8 22:42:04 2026 +0200

    Fix form submissions losing values when field names contain spaces or non-word characters

commit 5759695
Author: Alex Lion <dev@alexandrelion.com>
Date:   Fri May 8 14:50:33 2026 +0200

    Update package-lock.json: add asset name, upgrade dependencies, and remove unused packages

commit e246530
Author: Alex Lion <dev@alexandrelion.com>
Date:   Fri May 8 14:34:53 2026 +0200

    Bump version to 2.5.1

commit 534d915
Author: Alex Lion <dev@alexandrelion.com>
Date:   Fri May 8 10:55:38 2026 +0200

    Handle Ecto.NoResultsError in event retrieval and redirect with error message

commit b762e21
Author: Alex Lion <dev@alexandrelion.com>
Date:   Fri May 8 10:47:01 2026 +0200

    Fix crash on event manager pages when an event has multiple activity leaders

commit 153cadb
Author: alxlion <dev@alexandrelion.com>
Date:   Wed Apr 29 13:42:05 2026 +0000

    Fix presentation views without slide count

commit 3cfb3ca
Author: alxlion <dev@alexandrelion.com>
Date:   Wed Apr 29 13:16:48 2026 +0000

    Fix event code normalization validation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants