Skip to content

Conversation

@gilluminate
Copy link
Contributor

@gilluminate gilluminate commented Nov 21, 2025

Ticket ENG-707

Description Of Changes

Migrated the User Management table from Chakra UI to Ant Design Table, following the established patterns used in systems and monitor tables. This improves consistency across the admin UI and fixes horizontal scroll issues.

Code Changes

  • Replaced Chakra table components with Ant Design Table using column definitions
  • Created useUserManagementTable.tsx hook encapsulating all table business logic
  • Integrated useTableState and useAntTable for state management and pagination
  • Consolidated search input and "Add new user" button into main table component
  • Removed UserManagementTableActions.tsx and UserManagementRow.tsx components
  • Changed from Layout to FixedLayout to fix horizontal scroll issue
  • Used Carbon icons and LinkCell for navigation
  • Updated Cypress tests to click username links instead of table rows

Steps to Confirm

  1. Navigate to User Management page
  2. Verify table displays correctly with all columns
  3. Test search functionality by username
  4. Test pagination controls
  5. Click on username to navigate to user profile
  6. Verify the Add new user button still works (links you to new page)

Pre-Merge Checklist

  • Issue requirements met
  • All CI pipelines succeeded
  • CHANGELOG.md updated
    • Add a db-migration This indicates that a change includes a database migration label to the entry if your change includes a DB migration
    • Add a high-risk This issue suggests changes that have a high-probability of breaking existing code label to the entry if your change includes a high-risk change (i.e. potential for performance impact or unexpected regression) that should be flagged
    • Updates unreleased work already in Changelog, no new entry necessary
  • UX feedback:
    • All UX related changes have been reviewed by a designer
    • No UX review needed
  • Followup issues:
    • Followup issues created
    • No followup issues
  • Database migrations:
    • Ensure that your downrev is up to date with the latest revision on main
    • Ensure that your downgrade() migration is correct and works
      • If a downgrade migration is not possible for this change, please call this out in the PR description!
    • No migrations
  • Documentation:
    • Documentation complete, PR opened in fidesdocs
    • Documentation issue created in fidesdocs
    • If there are any new client scopes created as part of the pull request, remember to update public-facing documentation that references our scope registry
    • No documentation updates required

@vercel
Copy link

vercel bot commented Nov 21, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
fides-plus-nightly Ignored Ignored Preview Nov 24, 2025 7:13pm
fides-privacy-center Ignored Ignored Nov 24, 2025 7:13pm

@gilluminate gilluminate marked this pull request as ready for review November 21, 2025 00:12
@gilluminate gilluminate requested a review from a team as a code owner November 21, 2025 00:12
@gilluminate gilluminate requested review from jpople and removed request for a team November 21, 2025 00:12
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Nov 21, 2025

Greptile Overview

Greptile Summary

Successfully migrated the User Management table from Chakra UI to Ant Design, following established patterns from systems and monitor tables.

Key changes:

  • Replaced Chakra table components with Ant Design Table using column definitions
  • Created useUserManagementTable.tsx hook that encapsulates table logic, state management, and column definitions
  • Properly integrated useTableState and useAntTable hooks for pagination and state management with URL synchronization
  • Consolidated search input and "Add new user" button into main table component
  • Changed from Layout to FixedLayout to resolve horizontal scroll issue
  • Updated Cypress tests to interact with username links instead of table rows
  • Removed deprecated components (UserManagementRow.tsx, UserManagementTableActions.tsx)

Implementation strengths:

  • Follows the same architectural pattern as other migrated tables in the codebase
  • Properly uses existing hooks (useTableState, useSearch, usePagination) via useTableState wrapper
  • Cell components are well-organized with proper permission checks
  • Test updates correctly handle Ant table structure including measure rows

Confidence Score: 5/5

  • This PR is safe to merge - it's a clean UI migration following established patterns
  • The implementation follows established patterns from other table migrations in the codebase, properly uses existing hooks and utilities, removes deprecated code cleanly, and updates tests appropriately. The changes are well-structured and maintain consistency with the rest of the admin UI.
  • No files require special attention

Important Files Changed

File Analysis

Filename Score Overview
clients/admin-ui/src/features/user-management/useUserManagementTable.tsx 4/5 New hook encapsulating table logic with proper state management using useTableState and column definitions - follows established patterns well
clients/admin-ui/src/features/user-management/UserManagementTable.tsx 5/5 Simplified table component migrated to Ant Design - properly uses custom hook and integrates search/add user functionality
clients/admin-ui/src/pages/user-management/index.tsx 5/5 Updated to use FixedLayout instead of Layout to fix horizontal scroll issue, removed separate actions component
clients/admin-ui/cypress/e2e/user-management.cy.ts 5/5 Updated tests to click username links instead of table rows, properly handles Ant table structure with measure rows

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

9 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

Copy link
Contributor

@jpople jpople left a comment

Choose a reason for hiding this comment

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

Code looks good; tested locally and all working as expected.

@gilluminate gilluminate added this pull request to the merge queue Nov 24, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 24, 2025
@gilluminate gilluminate force-pushed the gill/ENG-707/migrate-users-table branch from 08f5ef3 to f169fce Compare November 24, 2025 19:13
@gilluminate gilluminate added this pull request to the merge queue Nov 24, 2025
Merged via the queue into main with commit f89eb9a Nov 24, 2025
47 checks passed
@gilluminate gilluminate deleted the gill/ENG-707/migrate-users-table branch November 24, 2025 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants