refactor(resizeObserver): check if available
This commit is contained in:
@@ -167,9 +167,9 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (nodeElement.current) {
|
if (nodeElement.current) {
|
||||||
const currNode = nodeElement.current;
|
const currNode = nodeElement.current;
|
||||||
resizeObserver.observe(currNode);
|
resizeObserver?.observe(currNode);
|
||||||
|
|
||||||
return () => resizeObserver.unobserve(currNode);
|
return () => resizeObserver?.unobserve(currNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -38,18 +38,20 @@ const NodeRenderer = (props: NodeRendererProps) => {
|
|||||||
[transform[0], transform[1], transform[2]]
|
[transform[0], transform[1], transform[2]]
|
||||||
);
|
);
|
||||||
|
|
||||||
const resizeObserver = useMemo(
|
const resizeObserver = useMemo(() => {
|
||||||
() =>
|
if (typeof ResizeObserver === 'undefined') {
|
||||||
new ResizeObserver((entries) => {
|
return null;
|
||||||
const updates = entries.map((entry) => ({
|
}
|
||||||
id: entry.target.getAttribute('data-id') as string,
|
|
||||||
nodeElement: entry.target as HTMLDivElement,
|
|
||||||
}));
|
|
||||||
|
|
||||||
batchUpdateNodeDimensions({ updates });
|
return new ResizeObserver((entries) => {
|
||||||
}),
|
const updates = entries.map((entry) => ({
|
||||||
[]
|
id: entry.target.getAttribute('data-id') as string,
|
||||||
);
|
nodeElement: entry.target as HTMLDivElement,
|
||||||
|
}));
|
||||||
|
|
||||||
|
batchUpdateNodeDimensions({ updates });
|
||||||
|
});
|
||||||
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="react-flow__nodes" style={transformStyle}>
|
<div className="react-flow__nodes" style={transformStyle}>
|
||||||
|
|||||||
+1
-1
@@ -227,7 +227,7 @@ export interface WrapNodeProps {
|
|||||||
snapToGrid?: boolean;
|
snapToGrid?: boolean;
|
||||||
snapGrid?: SnapGrid;
|
snapGrid?: SnapGrid;
|
||||||
isDragging?: boolean;
|
isDragging?: boolean;
|
||||||
resizeObserver: ResizeObserver;
|
resizeObserver: ResizeObserver | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type FitViewParams = {
|
export type FitViewParams = {
|
||||||
|
|||||||
Reference in New Issue
Block a user