chore: remove deleteSelectedElements method

This commit is contained in:
chang_su
2022-10-25 14:43:44 +08:00
parent f39936e508
commit b6ec8b70b2
4 changed files with 0 additions and 88 deletions
@@ -65,7 +65,6 @@ const UseZoomPanHelperFlow = () => {
addEdges,
getNodes,
getEdges,
deleteSelectedElements,
deleteElements
} = useReactFlow();
@@ -120,10 +119,6 @@ const UseZoomPanHelperFlow = () => {
deleteElements(selectedNodes, selectedEdges);
}, [deleteElements, nodes, edges])
const deleteSelectedElements2 = useCallback(() => {
deleteSelectedElements();
}, [deleteSelectedElements])
const deleteSomeElements = useCallback(() => {
deleteElements(['2'],['e1-3'])
}, [])
@@ -13,7 +13,6 @@ interface HookParams {
export default ({ deleteKeyCode, multiSelectionKeyCode }: HookParams): void => {
const store = useStoreApi();
const { deleteElements } = useReactFlow();
// const { deleteSelectedElements } = useReactFlow();
const deleteKeyPressed = useKeyPress(deleteKeyCode);
const multiSelectionKeyPressed = useKeyPress(multiSelectionKeyCode);
-80
View File
@@ -114,84 +114,6 @@ export default function useReactFlow<NodeData = any, EdgeData = any>(): ReactFlo
};
}, []);
const deleteSelectedElements = useCallback<Instance.DeleteSelectedElements>(() => {
const {
nodeInternals,
edges,
hasDefaultNodes,
hasDefaultEdges,
onNodesDelete,
onEdgesDelete,
onNodesChange,
onEdgesChange,
} = store.getState();
const nodes = Array.from(nodeInternals.values());
const nodesToRemove = nodes.reduce<Node[]>((res, node) => {
const parentSelected = !node.selected && node.parentNode && res.find((n) => n.id === node.parentNode);
const deletable = typeof node.deletable === 'boolean' ? node.deletable : true;
if (deletable && (node.selected || parentSelected)) {
res.push(node);
}
return res;
}, []);
const deletableEdges = edges.filter((e) => (typeof e.deletable === 'boolean' ? e.deletable : true));
const selectedEdges = deletableEdges.filter((e) => e.selected);
if (nodesToRemove || selectedEdges) {
const connectedEdges = getConnectedEdges(nodesToRemove, deletableEdges);
const edgesToRemove = [...selectedEdges, ...connectedEdges];
const edgeIdsToRemove = edgesToRemove.reduce<string[]>((res, edge) => {
if (!res.includes(edge.id)) {
res.push(edge.id);
}
return res;
}, []);
if (hasDefaultEdges || hasDefaultNodes) {
if (hasDefaultEdges) {
store.setState({
edges: edges.filter((e) => !edgeIdsToRemove.includes(e.id)),
});
}
if (hasDefaultNodes) {
nodesToRemove.forEach((node) => {
nodeInternals.delete(node.id);
});
store.setState({
nodeInternals: new Map(nodeInternals),
});
}
}
if (edgeIdsToRemove.length > 0) {
onEdgesDelete?.(edgesToRemove);
if (onEdgesChange) {
onEdgesChange(
edgeIdsToRemove.map((id) => ({
id,
type: 'remove',
}))
);
}
}
if (nodesToRemove.length > 0) {
onNodesDelete?.(nodesToRemove);
if (onNodesChange) {
const nodeChanges: NodeChange[] = nodesToRemove.map((n) => ({ id: n.id, type: 'remove' }));
onNodesChange(nodeChanges);
}
}
store.setState({ nodesSelectionActive: false });
}
}, []);
const deleteElements = useCallback<Instance.DeleteElements>((nodeIds, edgeIds) => {
const {
nodeInternals,
@@ -279,7 +201,6 @@ export default function useReactFlow<NodeData = any, EdgeData = any>(): ReactFlo
addNodes,
addEdges,
toObject,
deleteSelectedElements,
deleteElements,
};
}, [
@@ -293,7 +214,6 @@ export default function useReactFlow<NodeData = any, EdgeData = any>(): ReactFlo
addNodes,
addEdges,
toObject,
deleteSelectedElements,
deleteElements,
]);
}
-2
View File
@@ -24,7 +24,6 @@ export namespace Instance {
export type GetEdge<EdgeData> = (id: string) => Edge<EdgeData> | undefined;
export type AddEdges<EdgeData> = (payload: Edge<EdgeData>[] | Edge<EdgeData>) => void;
export type ToObject<NodeData = any, EdgeData = any> = () => ReactFlowJsonObject<NodeData, EdgeData>;
export type DeleteSelectedElements = () => void;
export type DeleteElements = (nodeIds: string[], edgeIds: string[]) => void
}
@@ -39,6 +38,5 @@ export type ReactFlowInstance<NodeData = any, EdgeData = any> = {
getEdge: Instance.GetEdge<EdgeData>;
toObject: Instance.ToObject<NodeData, EdgeData>;
deleteElements: Instance.DeleteElements;
deleteSelectedElements: Instance.DeleteSelectedElements;
viewportInitialized: boolean;
} & Omit<ViewportHelperFunctions, 'initialized'>;