feat(renderer): pass nodeTypes
This commit is contained in:
@@ -54,7 +54,7 @@ const GraphView = (props) => {
|
||||
|
||||
return (
|
||||
<div className="react-graph__renderer">
|
||||
<NodeRenderer />
|
||||
<NodeRenderer nodeTypes={props.nodeTypes} />
|
||||
<EdgeRenderer width={graphContext.state.width} height={graphContext.state.height} />
|
||||
<div className="react-graph__zoomnode" ref={zoomNode} />
|
||||
</div>
|
||||
|
||||
@@ -9,7 +9,22 @@ class NodeRenderer extends PureComponent {
|
||||
|
||||
renderNode(d, onNodeClick) {
|
||||
const nodeType = d.data.type || 'default';
|
||||
const NodeComponent = this.props.nodeTypes[nodeType] || DefaultNode;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<NodeComponent
|
||||
|
||||
+2
-1
@@ -9,7 +9,7 @@ import './style.css';
|
||||
class ReactGraph extends PureComponent {
|
||||
render() {
|
||||
const {
|
||||
style, onNodeClick, children, onLoad, onMove, onChange, elements
|
||||
style, onNodeClick, children, onLoad, onMove, onChange, elements, nodeTypes
|
||||
} = this.props;
|
||||
|
||||
const { nodes, edges } = separateElements(elements);
|
||||
@@ -21,6 +21,7 @@ class ReactGraph extends PureComponent {
|
||||
onLoad={onLoad}
|
||||
onMove={onMove}
|
||||
onChange={onChange}
|
||||
nodeTypes={nodeTypes}
|
||||
/>
|
||||
{children}
|
||||
</Provider>
|
||||
|
||||
Reference in New Issue
Block a user