fix(table): unify viewField creation and update design #16859
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #16852
This PR unifies the behavior of the "+" button in the table header with the "Options > Fields > Hidden Fields" dropdown.
Problem
The "+" button in the record table header only showed fields without an existing ViewField (i.e., fields that would require creation of a new ViewField). However, the "Hidden Fields" dropdown showed all non-visible fields, including those with existing ViewFields where
isVisible: false.Example: A field like "felix" might have a ViewField with
isVisible: false, while "deletedAt" has no ViewField at all. The "+" button only showed "deletedAt", but should show both.Solution
Changed RecordTableHeaderPlusButtonContent.tsx to use
currentRecordFieldsComponentStateto access all record fields, then filter to identify visible fields (isVisible === true) and exclude them from the dropdown. This ensures the "+" button displays all hidden fields (including those with existing ViewFields whereisVisible: false), matching the pattern used in ViewFieldsHiddenDropdownSection.tsx.Changes
currentRecordFieldsComponentStateanduseRecoilComponentValueTesting