Skip to content

[ACM-29812] ApplicationSet creation - Git revision menu extends page height#5671

Open
Ginxo wants to merge 2 commits intostolostron:mainfrom
Ginxo:ACM-29812
Open

[ACM-29812] ApplicationSet creation - Git revision menu extends page height#5671
Ginxo wants to merge 2 commits intostolostron:mainfrom
Ginxo:ACM-29812

Conversation

@Ginxo
Copy link
Contributor

@Ginxo Ginxo commented Feb 10, 2026

📝 Summary

Ticket Summary (Title):
ApplicationSet creation - Git revision menu extends page height

Ticket Link:
https://issues.redhat.com/browse/ACM-29812

Evidences

Video_2026-02-10_15-42-12.mp4

for the create application (deprecated one)

Video_2026-02-10_16-25-26.mp4

Type of Change:

  • 🐞 Bug Fix
  • ✨ Feature
  • 🔧 Refactor
  • 💸 Tech Debt
  • 🧪 Test-related
  • 📄 Docs

✅ Checklist

General

  • PR title follows the convention (e.g. ACM-12340 Fix bug with...)
  • Code builds and runs locally without errors
  • No console logs, commented-out code, or unnecessary files
  • All commits are meaningful and well-labeled
  • All new display strings are externalized for localization (English only)
  • (Nice to have) JSDoc comments added for new functions and interfaces

If Feature

  • UI/UX reviewed (if applicable)
  • All acceptance criteria met
  • Unit test coverage added or updated
  • Relevant documentation or comments included

If Bugfix

  • Root cause and fix summary are documented in the ticket (for future reference / errata)
  • Fix tested thoroughly and resolves the issue
  • Test(s) added to prevent regression

🗒️ Notes for Reviewers

Summary by CodeRabbit

  • New Features

    • Enabled scrollable dropdown behavior across all select input components, including async select, multi-select, single-select, and standard select variations
  • UI/Style

    • Upgraded ControlPanelComboBox to PatternFly v6 standards with modernized markup structure and improved semantic HTML elements
    • Added enhanced accessibility attributes and responsive toggle styling to the combo box component

@openshift-ci
Copy link

openshift-ci bot commented Feb 10, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai
Copy link

coderabbitai bot commented Feb 10, 2026

📝 Walkthrough

Walkthrough

This pull request enhances select components with scrollable dropdown functionality across the react-form-wizard package and refactors the ControlPanelComboBox component to use PatternFly v6 markup with improved accessibility standards including semantic HTML and ARIA attributes.

Changes

Cohort / File(s) Summary
Select Component Enhancements
frontend/packages/react-form-wizard/src/inputs/WizAsyncSelect.tsx, WizMultiSelect.tsx, WizSelect.tsx, WizSingleSelect.tsx
Added isScrollable prop to PfSelect components, enabling scrollable dropdown behavior when options exceed visible area. Single-line additions with no logic or state management changes.
ComboBox Accessibility Refactor
frontend/src/components/TemplateEditor/controls/ControlPanelComboBox.js
Updated DOM structure from custom markup to PatternFly v6 conventions: replaced custom list-box menu with pf-v6-c-menu class, converted item rendering to semantic ul > li > button structure, added ARIA attributes (role="listbox", role="option", aria-selected), and introduced responsive toggle styling. Existing interaction handlers preserved.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 Scrollable selects now dance with grace,
PatternFly v6 takes its place,
With ARIA semantics so fine and bright,
Accessibility features feel just right!

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically identifies the bug being fixed: the Git revision menu extending page height in ApplicationSet creation.
Description check ✅ Passed The description includes all required sections: ticket summary, link, type of change (Bug Fix), and a mostly-completed checklist with evidences and test confirmation.

✏️ 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

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

Signed-off-by: Enrique Mingorance Cano <[email protected]>
@Ginxo Ginxo marked this pull request as ready for review February 10, 2026 15:27
'tf--list-box__menu-icon': true,
'tf--list-box__menu-icon--open': isOpen,
})
const toggleStyles = { height: isOpen ? '10%' : '100%' }
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is for the open/close arrow, it is not ideal solution but it feels like this screen has not been well maintained

Image

@@ -292,39 +294,43 @@ class ControlPanelComboBox extends React.Component {
</div>
{!disabled && isOpen && (
<div
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the rest is just wrapping the whole thing according to the new PF6 HTML structure

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@frontend/src/components/TemplateEditor/controls/ControlPanelComboBox.js`:
- Line 171: The inline percentage-based toggleStyles ({ height: isOpen ? '10%' :
'100%' }) on the toggle button can cause layout issues because parent height
isn't explicitly set and it conflicts with the existing CSS rule
.tf--list-box__menu-icon; remove the toggleStyles usage (and any application of
it) from the component so the element relies on the stylesheet's height: 100%
behavior, or replace it with a static, CSS-class-driven style if different
styling is needed; update references to toggleStyles and any conditional
application based on isOpen to use CSS classes instead.

'tf--list-box__menu-icon': true,
'tf--list-box__menu-icon--open': isOpen,
})
const toggleStyles = { height: isOpen ? '10%' : '100%' }
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, locate and read the file
find . -type f -name "ControlPanelComboBox.js" | head -5

Repository: stolostron/console

Length of output: 135


🏁 Script executed:

# Check the actual file structure around line 171
if [ -f "frontend/src/components/TemplateEditor/controls/ControlPanelComboBox.js" ]; then
  wc -l "frontend/src/components/TemplateEditor/controls/ControlPanelComboBox.js"
fi

Repository: stolostron/console

Length of output: 137


🏁 Script executed:

# Search for related CSS files
fd -e css -e scss "ControlPanelComboBox|ComboBox" frontend/

Repository: stolostron/console

Length of output: 44


🏁 Script executed:

# Read the file around line 171 to understand the toggleStyles context
sed -n '160,190p' "frontend/src/components/TemplateEditor/controls/ControlPanelComboBox.js"

Repository: stolostron/console

Length of output: 1357


🏁 Script executed:

# Also read around line 278 where toggleStyles is applied
sed -n '270,290p' "frontend/src/components/TemplateEditor/controls/ControlPanelComboBox.js"

Repository: stolostron/console

Length of output: 950


🏁 Script executed:

# Read the component structure (likely JSX return statement)
sed -n '1,50p' "frontend/src/components/TemplateEditor/controls/ControlPanelComboBox.js"

Repository: stolostron/console

Length of output: 1954


🏁 Script executed:

# Search for CSS files that contain styles for these classes
rg -n "creation-view-controls-combobox|tf--list-box" --type css --type scss -B 2 -A 5 frontend/

Repository: stolostron/console

Length of output: 90


🏁 Script executed:

# Also check if there are SCSS files in the same directory
fd -e scss -e css frontend/src/components/TemplateEditor/controls/

Repository: stolostron/console

Length of output: 559


🏁 Script executed:

# Read more of the JSX structure to see the full component layout, especially the menu part
sed -n '190,320p' "frontend/src/components/TemplateEditor/controls/ControlPanelComboBox.js"

Repository: stolostron/console

Length of output: 6105


🏁 Script executed:

# Search for CSS files in the project that might define tf--list-box styles
rg -t css "tf--list-box" --max-count 5 -B 2 -A 5 frontend/

Repository: stolostron/console

Length of output: 2549


🏁 Script executed:

# Also search for any inline style definitions or CSS files that might be imported
fd . 'frontend/src/components/TemplateEditor/controls/' --type f

Repository: stolostron/console

Length of output: 3474


🏁 Script executed:

# Check if there's a styles file in the same directory or parent
fd -e css -e scss . 'frontend/src/components/TemplateEditor/' | head -20

Repository: stolostron/console

Length of output: 442


🏁 Script executed:

# Read the control-panel.css file to understand the styling context
cat -n "frontend/src/components/TemplateEditor/css/control-panel.css"

Repository: stolostron/console

Length of output: 37252


Percentage-based height on toggle button may cause unexpected layout behavior.

The height: isOpen ? '10%' : '100%' relies on the parent container (.tf--list-box) having an explicitly defined height. Since the parent has position: relative but no explicit height property, percentage calculations may not work as intended. Additionally, this pattern introduces unnecessary state-dependent styling that conflicts with the existing CSS rule height: 100% on .tf--list-box__menu-icon.

Consider removing the inline height style and relying on CSS:

🔧 Suggested fix
-    const toggleStyles = { height: isOpen ? '10%' : '100%' }
+    const toggleStyles = {}

Or simply omit the style attribute since CSS already handles this correctly.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const toggleStyles = { height: isOpen ? '10%' : '100%' }
const toggleStyles = {}
🤖 Prompt for AI Agents
In `@frontend/src/components/TemplateEditor/controls/ControlPanelComboBox.js` at
line 171, The inline percentage-based toggleStyles ({ height: isOpen ? '10%' :
'100%' }) on the toggle button can cause layout issues because parent height
isn't explicitly set and it conflicts with the existing CSS rule
.tf--list-box__menu-icon; remove the toggleStyles usage (and any application of
it) from the component so the element relies on the stylesheet's height: 100%
behavior, or replace it with a static, CSS-class-driven style if different
styling is needed; update references to toggleStyles and any conditional
application based on isOpen to use CSS classes instead.

@fxiang1
Copy link
Contributor

fxiang1 commented Feb 12, 2026

/lgtm

@openshift-ci
Copy link

openshift-ci bot commented Feb 12, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: fxiang1, Ginxo

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@Ginxo
Copy link
Contributor Author

Ginxo commented Feb 13, 2026

/retest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants