refactor(edge-renderer): work with edge ids instead of edges, like node renderer

This commit is contained in:
moklick
2023-12-17 13:53:07 +01:00
parent 2bc02547f6
commit 4316e23309
15 changed files with 300 additions and 269 deletions
+6 -6
View File
@@ -3,10 +3,10 @@ import { shallow } from 'zustand/shallow';
import { isEdgeVisible } from '@xyflow/system';
import { useStore } from '../hooks/useStore';
import { type Edge, type ReactFlowState } from '../types';
import { type ReactFlowState } from '../types';
function useVisibleEdges(onlyRenderVisible: boolean): Edge[] {
const edges = useStore(
function useVisibleEdgeIds(onlyRenderVisible: boolean): string[] {
const edgeIds = useStore(
useCallback(
(s: ReactFlowState) => {
const visibleEdges =
@@ -29,14 +29,14 @@ function useVisibleEdges(onlyRenderVisible: boolean): Edge[] {
})
: s.edges;
return visibleEdges;
return visibleEdges.map((edge) => edge.id);
},
[onlyRenderVisible]
),
shallow
);
return edges;
return edgeIds;
}
export default useVisibleEdges;
export default useVisibleEdgeIds;