fix(react): select nodes with selection in uncontrolled flows

This commit is contained in:
moklick
2024-03-06 18:06:34 +01:00
parent 9ad0aaf277
commit 9565689dfc
+4 -7
View File
@@ -128,7 +128,8 @@ export function Pane({
}; };
const onMouseMove = (event: ReactMouseEvent): void => { const onMouseMove = (event: ReactMouseEvent): void => {
const { userSelectionRect, edges, transform, nodeOrigin, nodes, onNodesChange, onEdgesChange } = store.getState(); const { userSelectionRect, edges, transform, nodeOrigin, nodes, triggerNodeChanges, triggerEdgeChanges } =
store.getState();
if (!isSelecting || !containerBounds.current || !userSelectionRect) { if (!isSelecting || !containerBounds.current || !userSelectionRect) {
return; return;
} }
@@ -172,17 +173,13 @@ export function Pane({
if (prevSelectedNodesCount.current !== selectedNodeIds.size) { if (prevSelectedNodesCount.current !== selectedNodeIds.size) {
prevSelectedNodesCount.current = selectedNodeIds.size; prevSelectedNodesCount.current = selectedNodeIds.size;
const changes = getSelectionChanges(nodes, selectedNodeIds, true) as NodeChange[]; const changes = getSelectionChanges(nodes, selectedNodeIds, true) as NodeChange[];
if (changes.length) { triggerNodeChanges(changes);
onNodesChange?.(changes);
}
} }
if (prevSelectedEdgesCount.current !== selectedEdgeIds.size) { if (prevSelectedEdgesCount.current !== selectedEdgeIds.size) {
prevSelectedEdgesCount.current = selectedEdgeIds.size; prevSelectedEdgesCount.current = selectedEdgeIds.size;
const changes = getSelectionChanges(edges, selectedEdgeIds) as EdgeChange[]; const changes = getSelectionChanges(edges, selectedEdgeIds) as EdgeChange[];
if (changes.length) { triggerEdgeChanges(changes);
onEdgesChange?.(changes);
}
} }
store.setState({ store.setState({