Skip to content

feat: Add keyboard shortcut to scroll info panels to top#3199

Merged
mtrezza merged 2 commits intoparse-community:alphafrom
mtrezza:feat/scroll-up-shortcut
Feb 10, 2026
Merged

feat: Add keyboard shortcut to scroll info panels to top#3199
mtrezza merged 2 commits intoparse-community:alphafrom
mtrezza:feat/scroll-up-shortcut

Conversation

@mtrezza
Copy link
Copy Markdown
Member

@mtrezza mtrezza commented Feb 10, 2026

Pull Request

Feature

Add keyboard shortcut to scroll info panels to top.

Summary by CodeRabbit

New Features

  • Added a keyboard shortcut to quickly scroll data browser panels to the top (default: U key). When triggered, the shortcut scrolls all panel columns to the top and pauses any active auto-scroll functionality. Users can fully customize the shortcut key and modifiers through keyboard shortcuts preferences.

@parse-github-assistant
Copy link
Copy Markdown

🚀 Thanks for opening this pull request!

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 10, 2026

📝 Walkthrough

Walkthrough

This PR adds a new keyboard shortcut dataBrowserScrollInfoPanelsToTop (key 'u') to the DataBrowser. The shortcut scrolls the aggregation panel and panel columns to the top, pauses auto-scroll if active, and prevents default behavior. Implementation spans keyboard event handling, settings UI configuration, and default shortcut preferences.

Changes

Cohort / File(s) Summary
New Keyboard Shortcut: Scroll Info Panels to Top
src/dashboard/Data/Browser/DataBrowser.react.js, src/dashboard/Settings/KeyboardShortcutsSettings.react.js, src/lib/KeyboardShortcutsPreferences.js
Introduces dataBrowserScrollInfoPanelsToTop shortcut with handler logic that scrolls aggregation and panel column refs to top and pauses auto-scroll. Adds configuration UI field and default mapping (key: 'u', all modifiers false). Reorders existing "Run script on selected rows" handler to execute after the new shortcut check.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description is incomplete relative to the template. It includes a brief feature statement but is missing the required 'Issue' and 'Approach' sections, and does not address the 'Tasks' checklist. Add the 'Issue' section to describe or link the issue being closed, add the 'Approach' section detailing the implementation changes, and address the 'Tasks' checklist regarding tests and documentation.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly summarizes the main change: adding a keyboard shortcut to scroll info panels to top, matching the core functionality implemented across all three modified files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

No actionable comments were generated in the recent review. 🎉

🧹 Recent nitpick comments
src/dashboard/Data/Browser/DataBrowser.react.js (1)

833-833: shortcuts variable is now declared twice in handleKey.

Line 833 declares const shortcuts = this.state.keyboardShortcuts; at the outer function scope, making the identical declaration at line 1112 (inside the default block) redundant. Consider removing the inner one and reusing the outer variable.

♻️ Remove redundant declaration
       default: {
         // Handle custom keyboard shortcuts from server
-        const shortcuts = this.state.keyboardShortcuts;
         if (!shortcuts) {
           break;
         }

Also applies to: 1112-1112

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@parseplatformorg
Copy link
Copy Markdown
Contributor

parseplatformorg commented Feb 10, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@mtrezza mtrezza merged commit 7535626 into parse-community:alpha Feb 10, 2026
12 checks passed
parseplatformorg pushed a commit that referenced this pull request Feb 10, 2026
# [8.5.0-alpha.5](8.5.0-alpha.4...8.5.0-alpha.5) (2026-02-10)

### Features

* Add keyboard shortcut to scroll info panels to top ([#3199](#3199)) ([7535626](7535626))
@parseplatformorg
Copy link
Copy Markdown
Contributor

🎉 This change has been released in version 8.5.0-alpha.5

@parseplatformorg parseplatformorg added the state:released-alpha Released as alpha version label Feb 10, 2026
@mtrezza mtrezza deleted the feat/scroll-up-shortcut branch February 10, 2026 17:55
parseplatformorg pushed a commit that referenced this pull request Feb 12, 2026
# [8.5.0](8.4.0...8.5.0) (2026-02-12)

### Bug Fixes

* Auto-formatting not applied when Cloud Config parameter value is outdated and re-fetched from server ([#3182](#3182)) ([84eab36](84eab36))
* Clicking reload button in info panel may display fetched data in incorrect panel ([#3189](#3189)) ([b348ef5](b348ef5))
* Role linking in ACL fails with type error ([#3095](#3095)) ([2070d29](2070d29))
* Security migration from csurf to csrf-sync ([#3188](#3188)) ([a95d8a3](a95d8a3))
* View configuration dialog looses focus while typing and lacks syntax highlighting ([#3183](#3183)) ([715fe8d](715fe8d))

### Features

* Add keyboard shortcut to scroll info panels to top ([#3199](#3199)) ([7535626](7535626))
* Add option to reload all or only selected rows after invoking script ([#3200](#3200)) ([173b953](173b953))
* Add reload button to info panel on long loading time ([#3184](#3184)) ([3712d96](3712d96))
* Add support for script execution invoking dashboard form for user input ([#3201](#3201)) ([159f99d](159f99d))
@parseplatformorg
Copy link
Copy Markdown
Contributor

🎉 This change has been released in version 8.5.0

@parseplatformorg parseplatformorg added the state:released Released as stable version label Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state:released Released as stable version state:released-alpha Released as alpha version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants