Skip to content

fix(data-table): use DropdownMenuTrigger wrapper in view options#2297

Merged
malinskibeniamin merged 9 commits intomasterfrom
fix/ux-967-datatable-view-options
Mar 13, 2026
Merged

fix(data-table): use DropdownMenuTrigger wrapper in view options#2297
malinskibeniamin merged 9 commits intomasterfrom
fix/ux-967-datatable-view-options

Conversation

@malinskibeniamin
Copy link
Contributor

@malinskibeniamin malinskibeniamin commented Mar 12, 2026

Summary

  • Replaced raw DropdownMenuPrimitive.Trigger with the project's DropdownMenuTrigger wrapper in DataTableViewOptions
  • Removed unused radix primitive import
  • Fixes toggle columns dropdown breaking after first use with React Compiler

Test plan

  • Open any page with DataTable (e.g. Knowledge Bases, Secrets Store list)
  • Click "View" column toggle button → verify dropdown opens
  • Toggle columns on/off → verify they update correctly
  • Close and reopen dropdown → verify it still works
  • Verify search input and faceted filters work on list pages

Fixes UX-967

🤖 Generated with Claude Code

@malinskibeniamin malinskibeniamin self-assigned this Mar 12, 2026
@malinskibeniamin malinskibeniamin added the bug Something isn't working label Mar 12, 2026
malinskibeniamin and others added 2 commits March 12, 2026 17:50
Replace useStore(useApiStore, ...) with useApiStoreHook(...) in license
notification components. Passing a hook as a value argument to another
hook violates React Compiler rules. useApiStoreHook is an existing
wrapper that encapsulates the same call pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace raw radix DropdownMenuPrimitive.Trigger with the project's
DropdownMenuTrigger wrapper in DataTableViewOptions. The raw primitive
doesn't handle re-renders correctly with React Compiler.

Fixes UX-967

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@malinskibeniamin malinskibeniamin force-pushed the fix/ux-967-datatable-view-options branch from 152d1cf to 1d1ef4f Compare March 12, 2026 16:59
malinskibeniamin and others added 7 commits March 12, 2026 22:28
Verify DataTableViewOptions dropdown can be reopened after toggling
columns, preventing regression of the broken trigger.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The DataTable shared components (data-table.tsx, data-table-filter.tsx)
were being compiled by React Compiler, which incorrectly memoized
callbacks and state in DataTableFacetedFilter (Set mutation in event
handlers) and other table-bound components. This broke search inputs
and filter dropdowns on Knowledge Base, Secret Store, AI Agent, and
Remote MCP list pages.

Adding the 'use no memo' directive opts these files out of React
Compiler, matching the pattern already used by the list page files.

Also adds integration tests verifying the search input value updates
on keystroke and can be cleared and reused.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add tests for search input and faceted filter functionality on
Knowledge Base, AI Agent, and Remote MCP list pages to prevent
regressions from React Compiler memoization issues.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add tests for search input and faceted filter functionality on the
Secret Store list page to prevent regressions from React Compiler
memoization issues.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add E2E tests for the Remote MCP servers list page that run against
a production build with React Compiler active. These tests verify
that the search input accepts keystrokes, filters table rows, and
that the status faceted filter opens and is selectable — all of
which were broken when React Compiler memoized shared DataTable
component callbacks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The MCP servers page isn't available in the OSS console variant,
causing E2E tests to fail when the search input isn't rendered.
Use test.skip() to gracefully skip when the page doesn't have the UI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Delete the MCP search Playwright test (MCP page unavailable in OSS
variant). Replace with comprehensive integration tests for DataTable
search input, faceted filter rendering, and view options toggle.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@malinskibeniamin malinskibeniamin merged commit 27d5e58 into master Mar 13, 2026
15 checks passed
@malinskibeniamin malinskibeniamin deleted the fix/ux-967-datatable-view-options branch March 13, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working frontend ui/ux

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants