refactor(drag-handlers): always trigger dragStop when there is a dragStart closes #1424, #2341

This commit is contained in:
moklick
2022-09-01 10:58:12 +02:00
parent 4d3db3fb1a
commit c4cac4caa6
+15 -16
View File
@@ -130,25 +130,24 @@ function useDrag({
onDrag(event.sourceEvent as MouseEvent, currentNode, nodes); onDrag(event.sourceEvent as MouseEvent, currentNode, nodes);
} }
} }
})
.on('end', (event) => {
setDragging(false);
if (dragItems.current) {
const { updateNodePositions, nodeInternals, onNodeDragStop, onSelectionDragStop } = store.getState();
const onStop = nodeId ? onNodeDragStop : wrapSelectionDragFunc(onSelectionDragStop);
event.on('end', (event) => { updateNodePositions(dragItems.current, false, false);
setDragging(false);
if (dragItems.current) {
const { updateNodePositions, nodeInternals, onNodeDragStop, onSelectionDragStop } = store.getState();
const onStop = nodeId ? onNodeDragStop : wrapSelectionDragFunc(onSelectionDragStop);
updateNodePositions(dragItems.current, false, false); if (onStop) {
const [currentNode, nodes] = getEventHandlerParams({
if (onStop) { nodeId,
const [currentNode, nodes] = getEventHandlerParams({ dragItems: dragItems.current,
nodeId, nodeInternals,
dragItems: dragItems.current, });
nodeInternals, onStop(event.sourceEvent as MouseEvent, currentNode, nodes);
});
onStop(event.sourceEvent as MouseEvent, currentNode, nodes);
}
} }
}); }
}) })
.filter((event: MouseEvent) => { .filter((event: MouseEvent) => {
const target = event.target as HTMLDivElement; const target = event.target as HTMLDivElement;