Skip to content

[O2B-1638] Adapt the filters button, the filters panel and the header of the overview pages to phones and tablets - #2287

Merged
graduta merged 3 commits into
mainfrom
improv/O2B-1638/filter-header-to-support-mobile
Oct 23, 2026
Merged

graduta merged 3 commits into
mainfrom
improv/O2B-1638/filter-header-to-support-mobile

Conversation

@graduta

@graduta graduta commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

I have a JIRA ticket

  • branch and/or PR name(s) include(s) JIRA ID
  • issue has "Fix version" assigned
  • issue "Status" is set to "In review"
  • PR labels are selected

Notable changes for users:

  • On tablets and phones (screens narrower than 1024px), the filters panel of the overview pages opens as a sheet below the navbar on the whole width of the screen, instead of a fixed-width popover running out of the screen.
  • On phones (screens narrower than 768px), each filter label is displayed above its input in the filters panel.
  • On phones, the header above the tables (filters button, active filters indicator, quick filters such as "No Anonymous" or "Physics only", and the page buttons) wraps on several lines instead of being squeezed and clipped.
  • The filters button, the filters panel and the header above the tables use a smaller font (0.875rem), on every screen size.
  • Screens of 1024px and above are unchanged, except for the smaller font.
  • Pages whose table is wider than the screen no longer get a page that scrolls and a filters panel partly out of the screen: such a table now scrolls inside its own box.

Notable changes for developers:

  • The changes are in the shared filtersPanelPopover component and in the header: the header-container class, and any row directly containing the filters button group (.flex-row:has(> .filters-toolbar)), as seven of the thirteen pages do not use header-container. So every page using them benefits (log overview, runs overview and runs per period, data pass or simulation pass, LHC fills, environments, LHC periods, simulation passes, data passes and QC flag types overviews). No page-specific code is needed.
  • filtersPanelPopover has new class names: filters-toolbar on the filters button group, filters-panel on the panel content (replacing w-l), filter-row, filter-label and filter-input on each filter, and filters-popover as the popover class. The sheet layout overrides the position computed by the popover in javascript with !important in a media query.
  • Below 1024px, table.table (except the log overview one, which has its own scroll wrapper) is displayed as a block scrolling horizontally. Otherwise a table wider than the screen widens the layout viewport of the phone, and the filters panel, which is fixed and positioned against it, is displayed partly out of the screen.
  • Two tests (log overview) check on a phone viewport that the filters panel fits in the screen with its labels above the inputs (and with the labels beside the inputs on a tablet viewport), and that the header wraps. They were not run locally.
  • The layout of the other pages was only checked by hand before this PR, on a phone viewport (runs, LHC fills, environments and LHC periods headers).

Changes made to the database:

  • None

🤖 Generated with Claude Code

… of the overview pages to phones and tablets

On tablets and phones the filters panel is displayed on the whole width of the screen and, on phones, each filter label is displayed above its input. On phones the header of the overview pages wraps on several lines instead of squeezing and clipping its buttons. The filters buttons, the panel and the header use a smaller font. They are shared by every overview page using the filters panel component or the header-container class.
@codecov

codecov Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 46.31%. Comparing base (09ee2e3) to head (8e51462).

Files with missing lines Patch % Lines
...c/components/Filters/common/filtersPanelPopover.js 0.00% 2 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2287   +/-   ##
=======================================
  Coverage   46.31%   46.31%           
=======================================
  Files        1056     1056           
  Lines       17440    17440           
  Branches     3183     3183           
=======================================
  Hits         8078     8078           
  Misses       9362     9362           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…utton and keep tables from widening the page on phones and tablets

Seven of the thirteen pages using the filters panel do not use the header-container class for their header, so the header rules are also applied to the row directly containing the filters button group, whatever its classes, and to the flex rows nested in it. A table wider than the screen now scrolls inside its own box instead of widening the layout viewport, in which the fixed filters panel is positioned and was displayed partly out of the screen.
… the environments overview test

In the test displaying the dropdown links, the popover of the second environment was opened with a real mouse click while the popover of the first one was still opened. Depending on the layout, the click landed on one of its external links, opening a new tab: the page of the test then stopped rendering, and the next click of the suite (opening the filters panel) hung until the protocol timeout. The second popover is now opened with a javascript click, as the first one.
@graduta
graduta added this pull request to stack #2289 October 23, 2026 09:34
@graduta graduta self-assigned this Oct 23, 2026
@graduta
graduta merged commit f7c5e77 into main Oct 23, 2026
25 of 26 checks passed
@graduta
graduta deleted the improv/O2B-1638/filter-header-to-support-mobile branch October 23, 2026 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

1 participant