Skip to content

CONSOLE-4982: add resizable column feature to Build tables#16169

Open
vikram-raj wants to merge 3 commits intoopenshift:mainfrom
vikram-raj:console-4988-4
Open

CONSOLE-4982: add resizable column feature to Build tables#16169
vikram-raj wants to merge 3 commits intoopenshift:mainfrom
vikram-raj:console-4988-4

Conversation

@vikram-raj
Copy link
Member

@vikram-raj vikram-raj commented Mar 18, 2026

Add a resizable column feature to the following list pages

  • BuildConfigs
  • Builds
  • ImageStreams

Summary by CodeRabbit

  • New Features
    • Added resizable columns to Build Config, Builds, and Image Stream data tables. Users can now dynamically adjust column widths and reset them to default sizes.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Mar 18, 2026
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Mar 18, 2026

@vikram-raj: This pull request references CONSOLE-4988 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Add a resizable column feature to the following list pages

  • BuildConfigs
  • Builds
  • ImageStreams

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.

@openshift-ci openshift-ci bot requested review from rhamilto and sg00dwin March 18, 2026 06:55
@openshift-ci openshift-ci bot added the component/core Related to console core functionality label Mar 18, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 18, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: vikram-raj

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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 18, 2026
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Mar 18, 2026

@vikram-raj: This pull request references CONSOLE-4988 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Add a resizable column feature to the following list pages

  • BuildConfigs
  • Builds
  • ImageStreams

Summary by CodeRabbit

  • New Features
  • Added resizable columns to Build Config, Builds, and Image Stream data tables. Users can now dynamically adjust column widths and reset them to default sizes.

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.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 18, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: e4fe367f-8870-482d-8b87-3bca00a2a079

📥 Commits

Reviewing files that changed from the base of the PR and between e530c2c and 0c83485.

📒 Files selected for processing (3)
  • frontend/public/components/build-config.tsx
  • frontend/public/components/build.tsx
  • frontend/public/components/image-stream.tsx
📜 Recent review details
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.

Files:

  • frontend/public/components/build-config.tsx
  • frontend/public/components/image-stream.tsx
  • frontend/public/components/build.tsx
🧬 Code graph analysis (3)
frontend/public/components/build-config.tsx (3)
frontend/public/components/factory/table.tsx (1)
  • TableColumn (663-670)
frontend/packages/console-app/src/components/data-view/useResizableColumnProps.ts (1)
  • useColumnWidthSettings (30-97)
frontend/packages/console-app/src/components/data-view/ConsoleDataView.tsx (2)
  • nameCellProps (250-253)
  • actionsCellProps (262-266)
frontend/public/components/image-stream.tsx (3)
frontend/packages/console-app/src/components/data-view/useResizableColumnProps.ts (1)
  • useColumnWidthSettings (30-97)
frontend/public/models/index.ts (1)
  • ImageStreamModel (293-308)
frontend/packages/console-app/src/components/data-view/ConsoleDataView.tsx (2)
  • nameCellProps (250-253)
  • actionsCellProps (262-266)
frontend/public/components/build.tsx (4)
frontend/public/components/factory/table.tsx (1)
  • TableColumn (663-670)
frontend/packages/console-app/src/components/data-view/useResizableColumnProps.ts (1)
  • useColumnWidthSettings (30-97)
frontend/public/models/index.ts (1)
  • BuildModel (247-262)
frontend/packages/console-app/src/components/data-view/ConsoleDataView.tsx (2)
  • nameCellProps (250-253)
  • actionsCellProps (262-266)
🔇 Additional comments (6)
frontend/public/components/build.tsx (2)

402-468: Resizable column hook integration looks solid.

The useBuildsColumns shape update and per-column resizableProps usage are consistent and maintainable, and the memo dependencies are correctly updated.


470-485: ConsoleDataView resize wiring is correctly propagated.

Passing both isResizable and resetAllColumnWidths in BuildsList cleanly completes the feature integration.

frontend/public/components/build-config.tsx (2)

219-294: Column resize support in useBuildConfigColumns is implemented cleanly.

The hook return-shape change plus resizableProps additions are coherent and align with the table’s existing column model.


296-348: List-level integration for reset/resizing is correctly wired.

BuildConfigsList correctly consumes resetAllColumnWidths and forwards resize controls to ConsoleDataView.

frontend/public/components/image-stream.tsx (2)

382-439: useImageStreamColumns update is consistent and well-structured.

The resizable column props and returned reset handler are integrated in a clear, maintainable way.


441-456: ImageStreamsList correctly enables resize behavior end-to-end.

The ConsoleDataView props now properly activate and manage column resizing state.


📝 Walkthrough

Walkthrough

This change introduces resizable column width support across three data view components (build-config, build, image-stream). Hook signatures are updated to return objects containing both a columns array and a resetAllColumnWidths function instead of just arrays. Column definitions now include resizableProps generated via getResizableProps(), integrating with useColumnWidthSettings. The cellIsStickyProps import is replaced with nameCellProps and actionsCellProps for consistent column behavior. Consuming components pass isResizable and resetAllColumnWidths to ConsoleDataView to enable the resizing UI. The changes are applied consistently across all three affected files with 20-22 lines added and 7-8 removed per file.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

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

Tip

CodeRabbit can enforce grammar and style rules using `languagetool`.

Configure the reviews.tools.languagetool setting to enable/disable rules and categories. Refer to the LanguageTool Community to learn more.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 18, 2026

@vikram-raj: all tests passed!

Full PR test history. Your PR dashboard.

Details

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 kubernetes-sigs/prow repository. I understand the commands that are listed here.

props: {
modifier: 'nowrap',
width: 20,
style: { width: `${getWidth(labelsColumnId) ?? 200}px` },
Copy link
Member

Choose a reason for hiding this comment

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

I'm sure you've got this planned. but wanted to note it for others: update to use new helper function.

@vikram-raj vikram-raj changed the title CONSOLE-4988: add resizable column feature to Build tables CONSOLE-4982: add resizable column feature to Build tables Mar 19, 2026
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Mar 19, 2026

@vikram-raj: This pull request references CONSOLE-4982 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Add a resizable column feature to the following list pages

  • BuildConfigs
  • Builds
  • ImageStreams

Summary by CodeRabbit

  • New Features
  • Added resizable columns to Build Config, Builds, and Image Stream data tables. Users can now dynamically adjust column widths and reset them to default sizes.

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.

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. component/core Related to console core functionality jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants