fix: composite field sub-menu not showing in advanced filter (#18395)
## Problem While working on the IS/IS_NOT filter feature (#15317 ), I found this problem. So I want to submit a separate pr to fix it at first. In the advanced filter, clicking on a composite field (Emails, Phones, Links) was not showing the sub-field selection menu. ## Root cause Related to #18178 (Recoil → Jotai migration). `AdvancedFilterFieldSelectMenu` was writing composite field states using `advancedFilterFieldSelectDropdownId` as the instance ID. But the reader components (`AdvancedFilterFieldSelectDropdownContent`, `AdvancedFilterSubFieldSelectMenu`) resolve the instance ID from React context, which has a different value — so they were reading from a different Jotai atom instance and `isSelectingCompositeField` was always `false`. ## Fix Remove the 3 explicit instance IDs so the writer uses context, matching the readers. ## Before https://github.com/user-attachments/assets/dde54077-0eaf-453c-a638-bec6d6fe4d55 ## After https://github.com/user-attachments/assets/01916bcf-0ee8-49ad-bb54-9d8f10571069 Hope I understood it correctly. --------- Co-authored-by: Etienne <45695613+etiennejouan@users.noreply.github.com>
This commit is contained in:
-1
@@ -43,7 +43,6 @@ export const AdvancedFilterFieldSelectMenu = ({
|
||||
|
||||
const [objectFilterDropdownSearchInput] = useAtomComponentState(
|
||||
objectFilterDropdownSearchInputComponentState,
|
||||
advancedFilterFieldSelectDropdownId,
|
||||
);
|
||||
|
||||
const { objectMetadataItem } = useContext(AdvancedFilterContext);
|
||||
|
||||
Reference in New Issue
Block a user