Files
xyflow/packages/core/src/hooks/useVisibleNodes.ts
T

24 lines
592 B
TypeScript

import { useCallback } from 'react';
import { useStore } from '../store';
import { getNodesInside } from '../utils/graph';
import { ReactFlowState } from '../types';
function useVisibleNodes(onlyRenderVisible: boolean) {
const nodes = useStore(
useCallback(
(s: ReactFlowState) => {
return onlyRenderVisible
? getNodesInside(s.nodeInternals, { x: 0, y: 0, width: s.width, height: s.height }, s.transform, true)
: Array.from(s.nodeInternals.values());
},
[onlyRenderVisible]
)
);
return nodes;
}
export default useVisibleNodes;