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

View File

@@ -130,25 +130,24 @@ function useDrag({
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) => {
setDragging(false);
if (dragItems.current) {
const { updateNodePositions, nodeInternals, onNodeDragStop, onSelectionDragStop } = store.getState();
const onStop = nodeId ? onNodeDragStop : wrapSelectionDragFunc(onSelectionDragStop);
updateNodePositions(dragItems.current, false, false);
updateNodePositions(dragItems.current, false, false);
if (onStop) {
const [currentNode, nodes] = getEventHandlerParams({
nodeId,
dragItems: dragItems.current,
nodeInternals,
});
onStop(event.sourceEvent as MouseEvent, currentNode, nodes);
}
if (onStop) {
const [currentNode, nodes] = getEventHandlerParams({
nodeId,
dragItems: dragItems.current,
nodeInternals,
});
onStop(event.sourceEvent as MouseEvent, currentNode, nodes);
}
});
}
})
.filter((event: MouseEvent) => {
const target = event.target as HTMLDivElement;