Merge pull request #5217 from xyflow/refactor/selection-changes

Refactor/selection changes
This commit is contained in:
Moritz Klack
2025-04-15 13:36:33 +02:00
committed by GitHub
4 changed files with 27 additions and 21 deletions
@@ -19,13 +19,13 @@ const selector = (s: ReactFlowState) => {
const selectedEdges = [];
for (const [, node] of s.nodeLookup) {
if (node.selected && (s.elementsSelectable || node.selectable)) {
if (node.selected) {
selectedNodes.push(node.internals.userNode);
}
}
for (const [, edge] of s.edgeLookup) {
if (edge.selected && (s.elementsSelectable || edge.selectable)) {
if (edge.selected) {
selectedEdges.push(edge);
}
}
+5 -1
View File
@@ -316,7 +316,11 @@ const createStore = ({
get().panZoom?.setClickDistance(clickDistance);
},
resetSelectedElements: () => {
const { edges, nodes, triggerNodeChanges, triggerEdgeChanges } = get();
const { edges, nodes, triggerNodeChanges, triggerEdgeChanges, elementsSelectable } = get();
if (!elementsSelectable) {
return;
}
const nodeChanges = nodes.reduce<NodeSelectionChange[]>(
(res, node) => (node.selected ? [...res, createSelectionChange(node.id, false)] : res),