refactor(nodes): no jumping nodes on start
This commit is contained in:
@@ -186,6 +186,7 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
|
|||||||
sourcePosition,
|
sourcePosition,
|
||||||
targetPosition,
|
targetPosition,
|
||||||
isHidden,
|
isHidden,
|
||||||
|
isInitialized,
|
||||||
}: WrapNodeProps) => {
|
}: WrapNodeProps) => {
|
||||||
const updateNodeDimensions = useStoreActions((actions) => actions.updateNodeDimensions);
|
const updateNodeDimensions = useStoreActions((actions) => actions.updateNodeDimensions);
|
||||||
const setSelectedElements = useStoreActions((actions) => actions.setSelectedElements);
|
const setSelectedElements = useStoreActions((actions) => actions.setSelectedElements);
|
||||||
@@ -282,6 +283,7 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
|
|||||||
zIndex: selected ? 10 : 3,
|
zIndex: selected ? 10 : 3,
|
||||||
transform: `translate(${xPos}px,${yPos}px)`,
|
transform: `translate(${xPos}px,${yPos}px)`,
|
||||||
pointerEvents: isSelectable || isDraggable || onClick ? 'all' : 'none',
|
pointerEvents: isSelectable || isDraggable || onClick ? 'all' : 'none',
|
||||||
|
visibility: isInitialized ? 'visible' : 'hidden',
|
||||||
...style,
|
...style,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ function renderNode(
|
|||||||
const isDraggable = !!(node.draggable || (nodesDraggable && typeof node.draggable === 'undefined'));
|
const isDraggable = !!(node.draggable || (nodesDraggable && typeof node.draggable === 'undefined'));
|
||||||
const isSelectable = !!(node.selectable || (elementsSelectable && typeof node.selectable === 'undefined'));
|
const isSelectable = !!(node.selectable || (elementsSelectable && typeof node.selectable === 'undefined'));
|
||||||
const isConnectable = !!(node.connectable || (nodesConnectable && typeof node.connectable === 'undefined'));
|
const isConnectable = !!(node.connectable || (nodesConnectable && typeof node.connectable === 'undefined'));
|
||||||
|
const isInitialized = node.__rf.width !== null && node.__rf.height !== null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<NodeComponent
|
<NodeComponent
|
||||||
@@ -64,6 +65,7 @@ function renderNode(
|
|||||||
targetPosition={node.targetPosition}
|
targetPosition={node.targetPosition}
|
||||||
selectNodesOnDrag={props.selectNodesOnDrag}
|
selectNodesOnDrag={props.selectNodesOnDrag}
|
||||||
isHidden={node.isHidden}
|
isHidden={node.isHidden}
|
||||||
|
isInitialized={isInitialized}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -117,7 +117,6 @@
|
|||||||
.react-flow__node-default.selectable,
|
.react-flow__node-default.selectable,
|
||||||
.react-flow__node-input.selectable,
|
.react-flow__node-input.selectable,
|
||||||
.react-flow__node-output.selectable {
|
.react-flow__node-output.selectable {
|
||||||
|
|
||||||
&.selected,
|
&.selected,
|
||||||
&.selected:hover {
|
&.selected:hover {
|
||||||
box-shadow: 0 0 0 1px #333;
|
box-shadow: 0 0 0 1px #333;
|
||||||
@@ -194,4 +193,4 @@
|
|||||||
right: 0;
|
right: 0;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
transform: translate(0, -50%);
|
transform: translate(0, -50%);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,6 +171,7 @@ export interface WrapNodeProps {
|
|||||||
sourcePosition?: Position;
|
sourcePosition?: Position;
|
||||||
targetPosition?: Position;
|
targetPosition?: Position;
|
||||||
isHidden?: boolean;
|
isHidden?: boolean;
|
||||||
|
isInitialized?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type FitViewParams = {
|
export type FitViewParams = {
|
||||||
|
|||||||
Reference in New Issue
Block a user