feat(nodetypes): custome types

This commit is contained in:
moklick
2019-07-16 13:06:47 +02:00
parent da1bf6f5ad
commit 587fb88fa3
7 changed files with 55 additions and 45 deletions
+1 -28
View File
@@ -1,30 +1,11 @@
import React, { PureComponent } from 'react';
import { Consumer } from '../GraphContext';
import DefaultNode from './NodeTypes/DefaultNode';
import InputNode from './NodeTypes/InputNode';
import OutputNode from './NodeTypes/OutputNode';
class NodeRenderer extends PureComponent {
renderNode(d, onNodeClick) {
const nodeType = d.data.type || 'default';
let NodeComponent = null;
switch (nodeType) {
case 'input': {
NodeComponent = this.props.nodeTypes.input || InputNode; break;
}
case 'default': {
NodeComponent = this.props.nodeTypes.default || DefaultNode; break;
}
case 'output': {
NodeComponent = this.props.nodeTypes.output || OutputNode; break;
}
default: {
NodeComponent = this.props.nodeTypes[nodeType] || DefaultNode;
}
}
const NodeComponent = this.props.nodeTypes[nodeType];
return (
<NodeComponent
@@ -55,12 +36,4 @@ class NodeRenderer extends PureComponent {
}
}
NodeRenderer.defaultProps = {
nodeTypes: {
input: InputNode,
default: DefaultNode,
output: OutputNode
}
};
export default NodeRenderer;