Add keyboard scrolling to panels

What does this MR do and why?

Add keyboard scrolling from panel headers

Allow Arrow, Page, Home, and End keys to scroll panel content when a panel header has focus, and scroll the relevant panel when nothing is focused. Works for the static, dynamic, and AI panels.

  • Scrolls static panel by default
  • When dynamic panel is open on page load, it will scroll this panel by default
  • Clicking on a panel header will allow to scroll it's panel content using the keyboard

References

Screenshots or screen recordings

Before After

How to set up and validate locally

  1. Open a page with 3 panels, e.g. a work item (https://gdk.test:3000/flightjs/Flight/-/work_items?sort=title_desc&state=opened&first_page_size=20&show=eyJpaWQiOiI0MSIsImZ1bGxfcGF0aCI6ImZsaWdodGpzL0ZsaWdodCIsImlkIjo2MTF9)
  2. Try to scroll using the keyboard:
    1. With nothing selected (refresh page, try to scroll with arrows, page down)
    2. When clicking into each panel header

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Sascha Eggenberger

Merge request reports

Loading
Loading