Skip to content

[O2B-1642] Improve the UX of the environments overview table - #2293

Open
graduta wants to merge 9 commits into
improv/O2B-1641/lhc-fill-page-UX-improvementsfrom
improv/O2B-1642/improve-env-overview-UX
Open

graduta wants to merge 9 commits into
improv/O2B-1641/lhc-fill-page-UX-improvementsfrom
improv/O2B-1642/improve-env-overview-UX

Conversation

@graduta

@graduta graduta commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

This PR is stacked on #2291 (LHC fills overview): it reuses the shared components introduced there. It targets its branch and the base will be changed to main once #2291 is merged.

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:

  • The environments overview has columns with fixed widths fitting their content, the detectors taking the remaining width.
    • Environment: the id is a larger link followed by a discreet caret opening the same actions as before.
    • Current Status: the current status (with the warning icon if the environment has been in error) with its message below it.
    • Created At: the creation date, replacing the Timing (creation and last update) as the last update of an environment is the same as its creation in most cases. The time range filter is displayed on this column.
    • Status History: the statuses are displayed on a single line, followed by the total time of the environment (from its first to its last status) and the time it spent running. Hovering a status displays its message, the time it was reached and the time spent in it.
    • Runs: narrower, as an environment has few runs.
    • Configuration (new): the number of EPNs and FLPs, the DCS state and the trigger (OFF, LTU or CTP) of the environment on two lines, as in the run overview. They are read from the configuration of the environment the same way the runs started in it are.
    • Detectors (new): the number of detectors of the environment followed by their names, on a single line, taking the remaining width.
  • The default number of rows of the page is estimated for the new height of the rows, to fill the page.
  • All the filters are still available in the same filters panel, with unchanged URL parameters. The filter on the creation date is displayed after the one on the status.

Notable changes for developers:

  • The environmentsActiveColumns columns are updated (the environments overview is their only user).
  • New formatEnvironmentStatusHistory, parseEnvironmentConfiguration and dataTakingConfiguration (extracted from the run overview, which uses it too), and w-environments-*-column css classes.
  • Elements have stable ids to be used in UI tests: #row<environmentId>-id, -currentStatus, -statusMessage, -statusChain, -statusSummary, -nEpns, -nFlps, -dcs, -triggerValue, -detectors.
  • The environments and runs suites were run in docker and pass (one run of the runs suite had a failure in a filter test that did not happen when run again).

Changes made to the database:

  • None

…uration of the environments

Notable changes for developers:
- New `formatEnvironmentStatusHistory`: the acronym of each status in its color, with the time the environment stayed in it below it, separated by chevrons. Hovering a status displays its message and the time it was reached.
- New `parseEnvironmentConfiguration`: extracts the run type, the beam type, the detectors and the number of FLPs and EPNs of the raw configuration of an environment.
Notable changes for users:
- The environments overview has fixed widths fitting their content for its columns, the configuration taking the remaining width:
  - **Environment**: the id is a larger link followed by a discreet caret opening the same actions as before.
  - **Current Status**: the current status (with the warning icon if the environment has been in error) with its message below it.
  - **Timing**: the creation and the last update on labelled and aligned lines. When both happen the same day, only the time of the update is displayed.
  - **Status History**: the status are displayed with the time spent in each of them, hovering one displays its message and when it was reached.
  - **Runs**: narrower, as an environment has few runs.
  - **Configuration** (new): the run type, the beam type, the detectors and the number of FLPs and EPNs of the environment.
- The default number of rows of the page is estimated for the new height of the rows.
- All the filters are still available, in the same filters panel, with unchanged URL parameters. The filter on runs is displayed after the ones on the status and the status history.

Notable changes for developers:
- The `environmentsActiveColumns` columns merged into others are kept as hidden columns to provide their filters.
- New `w-environments-*-column` css classes.
- Elements have stable ids to be used in UI tests: `#row<environmentId>-id`, `-currentStatus`, `-statusMessage`, `-createdAt`, `-updatedAt`, `-runType`, `-beamType`, `-detectors`, `-flps`, `-epns`.
- The tests of the environments overview are not updated yet.
… with its total and running times

Notable changes for users:
- The status history displays the acronym of each status on a single line, followed by the total time of the environment (from its first to its last status) and the time it spent running.
- Hovering a status displays its message, the time it was reached and the time spent in it.

Notable changes for developers:
- `formatEnvironmentStatusHistory` computes the durations of the history.
…ation and fit its widths

Notable changes for users:
- The Timing column is replaced by the Created At column, as the last update of an environment is the same as its creation in most cases. The time range filter is displayed on this column.
- The status history column is wider to display the longest histories on one line.
- The default number of rows of the page is estimated for the new height of the rows.

Notable changes for developers:
- The created at hidden column and the `w-environments-timing-column` css class are removed, `w-environments-created-column` is added.
- The tests of the environments overview are not updated yet.
…eight of its rows

The rows of the environments overview are 72px high, as the configuration is displayed on three lines, so the default number of rows is estimated with this height. The elements of the status history have ids to be used in UI tests.
The tests of the datatypes, the status colors, the balloon of the runs and the number of rows per page use the elements of the new columns, and tests are added for the message of the current status, the total and running times of the status history, and the configuration.
@graduta
graduta requested a review from isaachilly as a code owner October 23, 2026 14:59
@graduta graduta self-assigned this Oct 23, 2026
@codecov

codecov Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 68 lines in your changes missing coverage. Please review.
✅ Project coverage is 45.91%. Comparing base (ecc75bf) to head (2bc92f1).

Files with missing lines Patch % Lines
...vironments/format/parseEnvironmentConfiguration.js 0.00% 26 Missing ⚠️
...onments/ActiveColumns/environmentsActiveColumns.js 0.00% 16 Missing ⚠️
...ironments/format/formatEnvironmentStatusHistory.js 0.00% 15 Missing ⚠️
...nents/common/formatting/dataTakingConfiguration.js 0.00% 8 Missing ⚠️
...ironments/Overview/environmentOverviewComponent.js 0.00% 2 Missing ⚠️
...ws/Runs/ActiveColumns/runsOverviewActiveColumns.js 0.00% 1 Missing ⚠️
Additional details and impacted files
@@                                Coverage Diff                                @@
##           improv/O2B-1641/lhc-fill-page-UX-improvements    #2293      +/-   ##
=================================================================================
- Coverage                                          46.03%   45.91%   -0.13%     
=================================================================================
  Files                                               1070     1073       +3     
  Lines                                              17546    17595      +49     
  Branches                                            3225     3242      +17     
=================================================================================
  Hits                                                8078     8078              
- Misses                                              9468     9517      +49     

☔ 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.

… overview

Notable changes for developers:
- New `dataTakingConfiguration` component (the EPNs, the FLPs, the DCS state and the trigger, two by line), extracted from the run overview columns to be reused by the environments overview. The ids of its elements are unchanged.
…uns, and their detectors in their own column

Notable changes for users:
- The Configuration column of the environments overview displays the number of EPNs and FLPs, the DCS state and the trigger (OFF, LTU or CTP) of the environment on two lines, as the run overview does. They are read from the configuration of the environment the same way the runs started in it are.
- The detectors of the environment are displayed in their own column, on a single line, preceded by their number.
- The default number of rows of the page is estimated for the new height of the rows (51px).

Notable changes for developers:
- `parseEnvironmentConfiguration` returns the same data as the runs (`epn`, `nEpns`, `nFlps`, `dcs`, `triggerValue`) and the detectors, instead of the run type and the beam type.
- New `w-environments-configuration-column` css class.
@graduta
graduta added this pull request to stack #2294 October 23, 2026 15:09

This branch has not been deployed

No deployments
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