Skip to content

Commit

Permalink
refactor(node-renderer): use default type if type is invalid closes x…
Browse files Browse the repository at this point in the history
  • Loading branch information
moklick committed May 22, 2022
1 parent b6dd9d1 commit 37d473c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
13 changes: 12 additions & 1 deletion example/src/DragHandle/index.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { MouseEvent } from 'react';
import ReactFlow, { Node, Edge, useNodesState, useEdgesState } from 'react-flow-renderer';

import DragHandleNode from './DragHandleNode';
Expand All @@ -17,13 +18,23 @@ const initialNodes: Node[] = [
},
];

const onNodeClick = (_: MouseEvent, node: Node) => console.log('click', node);

const initialEdges: Edge[] = [];

const DragHandleFlow = () => {
const [nodes, , onNodesChange] = useNodesState(initialNodes);
const [edges] = useEdgesState(initialEdges);

return <ReactFlow nodes={nodes} onNodesChange={onNodesChange} edges={edges} nodeTypes={nodeTypes} />;
return (
<ReactFlow
nodes={nodes}
onNodesChange={onNodesChange}
edges={edges}
nodeTypes={nodeTypes}
onNodeClick={onNodeClick}
/>
);
};

export default DragHandleFlow;
10 changes: 6 additions & 4 deletions src/container/NodeRenderer/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,15 +70,17 @@ const NodeRenderer = (props: NodeRendererProps) => {
return (
<div className="react-flow__nodes react-flow__container">
{nodes.map((node) => {
const nodeType = node.type || 'default';
let nodeType = node.type || 'default';

// @ts-ignore
if (process.env.NODE_ENV === 'development') {
if (!props.nodeTypes[nodeType]) {
if (!props.nodeTypes[nodeType]) {
// @ts-ignore
if (process.env.NODE_ENV === 'development') {
console.warn(
`[React Flow]: Node type "${nodeType}" not found. Using fallback type "default". Help: https://reactflow.dev/error#300`
);
}

nodeType = 'default';
}

const NodeComponent = (props.nodeTypes[nodeType] || props.nodeTypes.default) as ComponentType<WrapNodeProps>;
Expand Down

0 comments on commit 37d473c

Please sign in to comment.