Commit 27d5e58
fix(data-table): use DropdownMenuTrigger wrapper in view options (#2297)
* fix(license): use useApiStoreHook to fix react-doctor errors
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>
* fix(data-table): use DropdownMenuTrigger wrapper in view options
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>
* test(data-table): add integration test for column toggle dropdown
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>
* fix(data-table): add 'use no memo' to opt out of React Compiler
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>
* test(list-pages): add search and filter integration tests
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>
* test(secrets): add search and filter integration tests for list page
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>
* test(mcp): add Playwright E2E test for search and filter
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>
* fix: skip MCP search E2E tests when feature unavailable in variant
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>
* fix: replace Playwright E2E with integration tests for DataTable
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>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>1 parent c4ce059 commit 27d5e58
File tree
7 files changed
+890
-3
lines changed- frontend/src/components
- pages
- agents/list
- knowledgebase/list
- mcp-servers/list
- secrets-store
- redpanda-ui/components
7 files changed
+890
-3
lines changedLines changed: 147 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
629 | 629 | | |
630 | 630 | | |
631 | 631 | | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
632 | 779 | | |
0 commit comments