feat(components): add ReactFlowProvider #275

This commit is contained in:
moklick
2020-06-02 18:34:02 +02:00
parent 3f3a79b5f6
commit 5cbeda5c3f
12 changed files with 166 additions and 34 deletions
+31
View File
@@ -0,0 +1,31 @@
import React, { useState } from 'react';
import ReactFlow, { addEdge, ReactFlowProvider } from 'react-flow-renderer';
const onElementClick = element => console.log('click', element);
const initialElements = [
{ id: '1', type: 'input', data: { label: 'Node 1' }, position: { x: 250, y: 5 } },
{ id: '2', data: { label: 'Node 2' }, position: { x: 100, y: 100 } },
{ id: '3', data: { label: 'Node 3' }, position: { x: 400, y: 100 } },
{ id: '4', data: { label: 'Node 4' }, position: { x: 400, y: 200 } },
{ id: 'e1-2', source: '1', target: '2', animated: true },
{ id: 'e1-3', source: '1', target: '3' }
];
const ProviderFlow = () => {
const [elements, setElements] = useState(initialElements);
const onConnect = (params) => setElements(els => addEdge(params, els));
return (
<ReactFlowProvider>
<ReactFlow
elements={elements}
onElementClick={onElementClick}
onConnect={onConnect}
/>
</ReactFlowProvider>
);
}
export default ProviderFlow;
+7 -3
View File
@@ -11,6 +11,7 @@ import Empty from './Empty';
import Edges from './Edges';
import Validation from './Validation';
import Horizontal from './Horizontal';
import Provider from './Provider';
import './index.css';
@@ -19,9 +20,9 @@ const routes = [{
component: Overview,
label: 'Overview'
}, {
path: '/basic',
component: Basic,
label: 'Basic'
path: '/provider',
component: Provider,
label: 'Provider'
}, {
path: '/edges',
component: Edges,
@@ -42,6 +43,9 @@ const routes = [{
path: '/stress',
component: Stress,
label: 'Stress'
}, {
path: '/basic',
component: Basic
}, {
path: '/empty',
component: Empty