fix(react): select nodes with selection in uncontrolled flows
This commit is contained in:
@@ -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({
|
||||||
|
|||||||
Reference in New Issue
Block a user