OCPBUGS-99491: Fix Installed Operators table row cells ignoring column management#16817
OCPBUGS-99491: Fix Installed Operators table row cells ignoring column management#16817TheRealJon wants to merge 1 commit into
Conversation
…table rows Row cells on the Installed Operators page were not responding to column management selections because TableData components were rendered without columnID or columns props. Without these, isColumnVisible() always returns true, so all cells stayed visible regardless of user column selections. Headers worked correctly because getActiveColumns() filters at the Table component level. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@TheRealJon: This pull request references Jira Issue OCPBUGS-99491, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
WalkthroughInstalled operator table rows now derive active column selections and pass them to CSV and subscription rows. Name, namespace, status, API, compatibility, support, managed namespace, and timestamp cells now bind to column management. ChangesInstalled Operator column management
Estimated code review effort: 2 (Simple) | ~10 minutes Sequence Diagram(s)sequenceDiagram
participant InstalledOperatorTableRow
participant ClusterServiceVersionTableRow
participant SubscriptionTableRow
participant TableData
InstalledOperatorTableRow->>InstalledOperatorTableRow: derive activeColumnIDs from columns
InstalledOperatorTableRow->>ClusterServiceVersionTableRow: pass activeColumnIDs for CSV rows
InstalledOperatorTableRow->>SubscriptionTableRow: pass activeColumnIDs for subscription rows
ClusterServiceVersionTableRow->>TableData: render cells with columnID and activeColumnIDs
SubscriptionTableRow->>TableData: render cells with columnID and activeColumnIDs
Suggested labels: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: TheRealJon The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@TheRealJon: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Analysis / Root cause:
ClusterServiceVersionTableRowandSubscriptionTableRowrendered<TableData>cells withoutcolumnIDorcolumnsprops. TheisColumnVisible()function intable.tsxreturnstruewhen nocolumnsSet is provided, so all row cells stayed visible regardless of column management selections. Headers worked correctly becausegetActiveColumns()filters the column array at theTablecomponent level.Solution description:
InstalledOperatorTableRownow destructures thecolumnsarray fromRowFunctionArgsand converts it to aSet<string>of active column IDsClusterServiceVersionTableRowandSubscriptionTableRowreceiveactiveColumnIDsand passcolumnID+columnsprops to each<TableData>cellidin its header definition and should always be visibleScreenshots / screen recording:
Before
Screen.Recording.2026-07-23.at.3.37.43.PM.mov
After
Screen.Recording.2026-07-23.at.3.38.35.PM.mov
Test setup:
Test cases:
Browser conformance:
Additional info:
OCPBUGS-99491
Summary by CodeRabbit
New Features
Improvements