Skip to content
This repository was archived by the owner on Mar 25, 2025. It is now read-only.

Commit 515f911

Browse files
Rikard TegnanderTigge
authored andcommitted
fix(core): dragging locked segment
Fixes: #271
1 parent 1c05957 commit 515f911

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

packages/core/src/DraggableList/index.tsx

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,19 @@ export const DraggableList: FC<DraggableListProps> = ({
125125
const dragIndexRef = useRef<number | undefined>()
126126
const dropIndexRef = useRef<number | undefined>()
127127

128-
const onDragStart = useCallback<DragEventHandler<HTMLDivElement>>(e => {
129-
// Needed for Firefox
130-
// You need to set some data in the dataTransfer member
131-
// of the event when the drag start in Firefox
132-
e.dataTransfer.setData('text', '')
133-
dragIndexRef.current = Number(e.currentTarget.dataset.index)
134-
}, [])
128+
const onDragStart = useCallback<DragEventHandler<HTMLDivElement>>(
129+
e => {
130+
// Needed for Firefox
131+
// You need to set some data in the dataTransfer member
132+
// of the event when the drag start in Firefox
133+
e.dataTransfer.setData('text', '')
134+
const dragIndex = Number(e.currentTarget.dataset.index)
135+
if (locked[dragIndex] !== true) {
136+
dragIndexRef.current = Number(e.currentTarget.dataset.index)
137+
}
138+
},
139+
[locked]
140+
)
135141

136142
const onDragOver = useCallback<DragEventHandler<HTMLDivElement>>(
137143
e => {

0 commit comments

Comments
 (0)