fix(nodetypes): use default when type not found

This commit is contained in:
moklick
2019-07-16 13:42:18 +02:00
parent 53581a846b
commit a431148890
2 changed files with 7 additions and 2 deletions
+6 -1
View File
@@ -1,11 +1,16 @@
import React, { PureComponent } from 'react'; import React, { PureComponent } from 'react';
import { Consumer } from '../GraphContext'; import { Consumer } from '../GraphContext';
class NodeRenderer extends PureComponent { class NodeRenderer extends PureComponent {
renderNode(d, onNodeClick) { renderNode(d, onNodeClick) {
const nodeType = d.data.type || 'default'; 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 ( return (
<NodeComponent <NodeComponent
+1 -1
View File
@@ -14,7 +14,7 @@ export function createNodeTypes(nodeTypes) {
.keys(nodeTypes) .keys(nodeTypes)
.filter(k => !['input', 'default', 'output'].includes(k)) .filter(k => !['input', 'default', 'output'].includes(k))
.reduce((res, key) => { .reduce((res, key) => {
res[key] = wrapNode(nodeTypes[key]); res[key] = wrapNode(nodeTypes[key] || DefaultNode);
return res; return res;
}, {}); }, {});