Skip to content

Conversation

@jpople
Copy link
Contributor

@jpople jpople commented Nov 5, 2025

Ticket ENG-1261

Description Of Changes

Adds UI for adding and updating custom taxonomies.

Screenshot 2025-11-05 at 02 56 15 Screenshot 2025-11-05 at 02 57 17

Steps to Confirm

  1. View /taxonomy
  2. Should be able to view existing legacy taxonomies (e.g. data uses)
  3. Clicking on the root node for a legacy taxonomy shouldn't do anything and the cursor should show "not allowed"
  4. Click "Create new" in the floating menu
  5. Should be able to create a new taxonomy with a name and description
  6. View the taxonomy you created
  7. Should be able to create, edit and delete items under that taxonomy
  8. Click on the root node
  9. Should open a detail drawer that allows the name and description to be edited
  10. Should be able to delete with a confirmation modal

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

@jpople jpople requested a review from a team as a code owner November 5, 2025 09:04
@jpople jpople requested review from speaker-ender and removed request for a team November 5, 2025 09:04
@vercel
Copy link

vercel bot commented Nov 5, 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 5, 2025 9:56pm
fides-privacy-center Ignored Ignored Nov 5, 2025 9:56pm

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.

Greptile Overview

Greptile Summary

Adds UI functionality for creating, editing, and deleting custom taxonomies in the taxonomy management page.

Key Changes:

  • New components for custom taxonomy CRUD operations: CreateCustomTaxonomyForm, CustomTaxonomyDetails, and CustomTaxonomyEditDrawer
  • Added RTK Query mutations (createCustomTaxonomy, updateCustomTaxonomy, deleteCustomTaxonomy) with proper cache invalidation
  • Updated taxonomy tree to support custom root node labels and click handlers for custom taxonomies
  • Renamed TaxonomyEditDrawer to TaxonomyItemEditDrawer for clarity between taxonomy items vs taxonomy types
  • Added "+ Create new" option to the floating menu for creating custom taxonomies
  • Added TypeScript types for taxonomy CRUD operations

Issues Found:

  • Drawer doesn't close after successful taxonomy deletion - needs to call onClose() in handleDelete function

Confidence Score: 3/5

  • This PR is mostly safe to merge but has a UX bug that needs fixing
  • The implementation is well-structured with proper separation of concerns, correct use of RTK Query patterns, and appropriate cache invalidation. However, there's a logical bug where the drawer remains open after successfully deleting a taxonomy, which creates a poor user experience. The bug is straightforward to fix but should be addressed before merging.
  • Pay close attention to CustomTaxonomyEditDrawer.tsx which has the delete flow bug

Important Files Changed

File Analysis

Filename Score Overview
clients/admin-ui/src/features/taxonomy/components/CreateCustomTaxonomyForm.tsx 5/5 New component for creating custom taxonomies with name and description fields
clients/admin-ui/src/features/taxonomy/components/CustomTaxonomyEditDrawer.tsx 3/5 New drawer component for editing and deleting custom taxonomies, missing drawer close on successful delete
clients/admin-ui/src/features/taxonomy/taxonomy.slice.ts 5/5 Added RTK Query mutations for creating, updating, and deleting custom taxonomies with proper cache invalidation
clients/admin-ui/src/pages/taxonomy/index.tsx 4/5 Main taxonomy page updated with create/edit/delete flows for custom taxonomies and modal for creating new taxonomies

13 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

}, [taxonomyType, isPlusEnabled]);

const toast = useToast();
const [messageApi, messageContext] = message.useMessage();
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We have to have the message API at this level so the toasts don't get closed prematurely when the drawer and modal close.

Copy link
Contributor

@speaker-ender speaker-ender left a comment

Choose a reason for hiding this comment

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

Looking good!
Mostly minor changes.
Let me know if you have any questions

>
Are you sure you want to delete this taxonomy? This action cannot be
undone.
</Modal>
Copy link
Contributor

Choose a reason for hiding this comment

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

Could we do this with the modal api confirm?
We could also move up out of the drawer content.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good call on confirm. Is there a particular reason you prefer it outside the drawer? In general I usually like modals to be together with the thing that triggers them.

Copy link
Contributor

Choose a reason for hiding this comment

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

It doesn't visually or conceptually match what is happening when a modal is rendered in the dom.
It's independent from the drawer visually and it shouldn't need to have the drawer rendered to exist.
ex. If we allow for the same action to be performed by a button outside of the drawer, it should work the same way and trigger the same modal.

@jpople jpople added this pull request to the merge queue Nov 5, 2025
Merged via the queue into main with commit fe81a3c Nov 5, 2025
46 of 47 checks passed
@jpople jpople deleted the jpople/eng-1261/custom-taxonomy-ui branch November 5, 2025 23:10
jpople added a commit that referenced this pull request Nov 5, 2025
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