jspreadsheet / jspreadsheet/ce

Feature Request: Keyboard Short-cuts

Open
#459 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
JavaScript
Stars
7.2k
Forks
890
PR merge metrics
No merged PRs in 30d

Description

Here are additional keyboard short-cuts implemented in OpenOffice and Excel:

Short-cut Description
PgDn Jumps down a number of rows
PgUp Jumps up a number of rows
= Starts data entry on active cell, cell contents are removed, = appears to left of cursor
Ctrl+Home Navigates to the first cell in the active column
Ctrl+End Navigates to the last cell in the active column
Ctrl+Insert Copies current selection (same as Ctrl+C)
Ctrl+Shift+Z Redo (same as Ctrl+Y)

None are available using Firefox 68.0.1 (64-bit).

Using PgUp or PgDn currently scrolls the viewport without moving the active cell. This causes the active cell to be lost. From an end-user perspective, the active cell must always be displayed in the viewport, otherwise it is disorienting. This implies that Ctrl+Home and Ctrl+End also scroll the viewport to the top and bottom of the spreadsheet, respectively.

Similarly, when using the arrow keys, the active cell can be moved out of the viewport. When pressing the Up or Down arrow, if the active cell is at the top or bottom of the viewport, the viewport should scroll such that the active cell is always visible. (This could be configurable behaviour, preferably with tracking the active cell always on by default.)

Navigating a "page up" and a "page down" can be computed by the relation of the viewport height to the cell height. Jumping one page is equivalent to skipping over the number of rows visible in the viewport minus one. The maximum number of rows to skip can be set to a programmable limit (e.g., 30 rows).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the listed keyboard-shortcut and active-cell viewport behaviors in the spreadsheet. Trace the existing keyboard navigation and scrolling behavior, then verify that the requested shortcuts work and that arrow-key, page, Home, and End navigation keeps the active cell visible.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.