Merge pull request #2392 from wbkd/feat/useNodesInitialized

feat(hooks): add useNodesInitialized
This commit is contained in:
Moritz Klack
2022-08-30 22:20:34 +02:00
committed by GitHub
2 changed files with 21 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
import { ReactFlowState } from '../types';
import { internalsSymbol } from '../utils';
import { useStore } from './useStore';
const selector = (s: ReactFlowState) => {
if (s.nodeInternals.size === 0) {
return false;
}
return Array.from(s.nodeInternals.values()).every((n) => n[internalsSymbol]?.handleBounds !== undefined);
};
function useNodesInitialized(): boolean {
const initialized = useStore(selector);
return initialized;
}
export default useNodesInitialized;

View File

@@ -41,5 +41,7 @@ export { default as useKeyPress } from './hooks/useKeyPress';
export * from './hooks/useNodesEdgesState';
export { useStore, useStoreApi } from './hooks/useStore';
export { default as useOnViewportChange } from './hooks/useOnViewportChange';
export { default as useOnSelectionChange } from './hooks/useOnSelectionChange';
export { default as useNodesInitialized } from './hooks/useNodesInitialized';
export * from './types';