From a43114889036ba1f3f8bfa6d3112115bde5a3d6a Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 16 Jul 2019 13:42:18 +0200 Subject: [PATCH] fix(nodetypes): use default when type not found --- src/NodeRenderer/index.js | 7 ++++++- src/NodeRenderer/utils.js | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/NodeRenderer/index.js b/src/NodeRenderer/index.js index 6c91cd9a..c70820d8 100644 --- a/src/NodeRenderer/index.js +++ b/src/NodeRenderer/index.js @@ -1,11 +1,16 @@ import React, { PureComponent } from 'react'; import { Consumer } from '../GraphContext'; + class NodeRenderer extends PureComponent { renderNode(d, onNodeClick) { const nodeType = d.data.type || 'default'; - const NodeComponent = this.props.nodeTypes[nodeType]; + if (!this.props.nodeTypes[nodeType]) { + console.warn(`No node type found for type "${nodeType}". Using fallback type "default".`); + } + + const NodeComponent = this.props.nodeTypes[nodeType] || this.props.nodeTypes.default; return ( !['input', 'default', 'output'].includes(k)) .reduce((res, key) => { - res[key] = wrapNode(nodeTypes[key]); + res[key] = wrapNode(nodeTypes[key] || DefaultNode); return res; }, {});