feature(deleteElements): add deleteElements method

This commit is contained in:
chang_su
2022-10-24 23:37:46 +08:00
parent dc4c3217cb
commit f39936e508
5 changed files with 111 additions and 7 deletions
+11 -2
View File
@@ -12,14 +12,23 @@ interface HookParams {
export default ({ deleteKeyCode, multiSelectionKeyCode }: HookParams): void => {
const store = useStoreApi();
const { deleteSelectedElements } = useReactFlow();
const { deleteElements } = useReactFlow();
// const { deleteSelectedElements } = useReactFlow();
const deleteKeyPressed = useKeyPress(deleteKeyCode);
const multiSelectionKeyPressed = useKeyPress(multiSelectionKeyCode);
useEffect(() => {
if (deleteKeyPressed) {
deleteSelectedElements();
const {
nodeInternals,
edges,
} = store.getState();
const nodes = Array.from(nodeInternals.values());
const nodeIds = nodes.filter(node => node.selected).map(node => node.id);
const edgeIds = edges.filter(edge => edge.selected).map(edge => edge.id);
deleteElements(nodeIds, edgeIds);
store.setState({ nodesSelectionActive: false });
}
}, [deleteKeyPressed]);