From 38766f35889cce58840621bf9ca0dac3a103cc66 Mon Sep 17 00:00:00 2001 From: Ivan <8611739+IRBorisov@users.noreply.github.com> Date: Thu, 5 Sep 2024 20:28:25 +0300 Subject: [PATCH] B: Save ordering when selection changes --- .../frontend/src/pages/OssPage/EditorOssGraph/OssFlow.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rsconcept/frontend/src/pages/OssPage/EditorOssGraph/OssFlow.tsx b/rsconcept/frontend/src/pages/OssPage/EditorOssGraph/OssFlow.tsx index 204415d5..9b0ac2d0 100644 --- a/rsconcept/frontend/src/pages/OssPage/EditorOssGraph/OssFlow.tsx +++ b/rsconcept/frontend/src/pages/OssPage/EditorOssGraph/OssFlow.tsx @@ -56,7 +56,11 @@ function OssFlow({ isModified, setIsModified }: OssFlowProps) { const onSelectionChange = useCallback( ({ nodes }: { nodes: Node[] }) => { - controller.setSelected(nodes.map(node => Number(node.id))); + const ids = nodes.map(node => Number(node.id)); + controller.setSelected(prev => [ + ...prev.filter(nodeID => ids.includes(nodeID)), + ...ids.filter(nodeID => !prev.includes(Number(nodeID))) + ]); }, [controller] );