Fix drag and drop in dropdown (#16622)

## Bug description

Due to the dropdown using floating ui, there was an offset on the
draggable item when the drag and drop was implemented inside a
scrollable dropdown.

## Video QA

### Before


https://github.com/user-attachments/assets/fe4b4c36-39ae-4d26-9e19-85d5ffd23b30


### After


https://github.com/user-attachments/assets/1f00b9b0-c231-49cb-a232-75ca42a98e8c
This commit is contained in:
Raphaël Bosi
2025-12-17 14:41:37 +01:00
committed by GitHub
parent 967298fe09
commit ca976afa10
5 changed files with 52 additions and 16 deletions
@@ -10,6 +10,7 @@ import { RecordIndexContextProvider } from '@/object-record/record-index/context
import { useRecordIndexFieldMetadataDerivedStates } from '@/object-record/record-index/hooks/useRecordIndexFieldMetadataDerivedStates';
import { RecordTableComponentInstanceContext } from '@/object-record/record-table/states/context/RecordTableComponentInstanceContext';
import { DropdownContent } from '@/ui/layout/dropdown/components/DropdownContent';
import { DropdownComponentInstanceContext } from '@/ui/layout/dropdown/contexts/DropdownComponentInstanceContext';
import { ViewComponentInstanceContext } from '@/views/states/contexts/ViewComponentInstanceContext';
import { ViewType } from '@/views/types/ViewType';
import { useEffect } from 'react';
@@ -105,21 +106,25 @@ const createStory = (contentId: ObjectOptionsContentId | null): Story => ({
recordFieldByFieldMetadataItemId,
}}
>
<ObjectOptionsDropdownContext.Provider
value={{
viewType: ViewType.Table,
objectMetadataItem: companyObjectMetadataItem,
recordIndexId: instanceId,
currentContentId: contentId,
onContentChange: () => {},
resetContent: () => {},
dropdownId: OBJECT_OPTIONS_DROPDOWN_ID,
}}
<DropdownComponentInstanceContext.Provider
value={{ instanceId: OBJECT_OPTIONS_DROPDOWN_ID }}
>
<DropdownContent>
<Story />
</DropdownContent>
</ObjectOptionsDropdownContext.Provider>
<ObjectOptionsDropdownContext.Provider
value={{
viewType: ViewType.Table,
objectMetadataItem: companyObjectMetadataItem,
recordIndexId: instanceId,
currentContentId: contentId,
onContentChange: () => {},
resetContent: () => {},
dropdownId: OBJECT_OPTIONS_DROPDOWN_ID,
}}
>
<DropdownContent>
<Story />
</DropdownContent>
</ObjectOptionsDropdownContext.Provider>
</DropdownComponentInstanceContext.Provider>
</RecordIndexContextProvider>
);
},