sample-ui-component-library 0.0.45-dev → 0.0.46-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -28,15 +28,12 @@ export const BehavioralGraphBuilder = forwardRef(({connectBehaviors, deleteTrans
|
|
|
28
28
|
return () => observer.disconnect();
|
|
29
29
|
}, []);
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
// States
|
|
32
32
|
const [edges, setEdges] = useState([]);
|
|
33
33
|
const [nodes, setNodes] = useState([]);
|
|
34
34
|
const [selections, setSelections] = useState([]);
|
|
35
|
-
'1'
|
|
36
|
-
const onNodeLink =(_event, from, to) => {
|
|
37
|
-
connectBehaviors(from, to);
|
|
38
|
-
}
|
|
39
35
|
|
|
36
|
+
// API Methods and Imperative Handle
|
|
40
37
|
const updateEngine = useCallback((engine) => {
|
|
41
38
|
if (engine) {
|
|
42
39
|
const { nodes, edges } = designToNodes(engine);
|
|
@@ -53,50 +50,57 @@ export const BehavioralGraphBuilder = forwardRef(({connectBehaviors, deleteTrans
|
|
|
53
50
|
|
|
54
51
|
useImperativeHandle(ref, () => api, [api]);
|
|
55
52
|
|
|
53
|
+
|
|
54
|
+
// Callbacks
|
|
56
55
|
const handleWheel = useCallback((e) => {
|
|
57
|
-
|
|
58
|
-
canvasRef.current.zoomIn()
|
|
59
|
-
} else {
|
|
60
|
-
canvasRef.current.zoomOut();
|
|
61
|
-
}
|
|
56
|
+
(e.deltaY < 0)?canvasRef.current.zoomIn():canvasRef.current.zoomOut();
|
|
62
57
|
}, [canvasRef]);
|
|
63
58
|
|
|
59
|
+
const nodeClick = useCallback((e, node) => {
|
|
60
|
+
setSelections([node.id]);
|
|
61
|
+
selectBehavior(node.id);
|
|
62
|
+
}, [selectBehavior]);
|
|
63
|
+
|
|
64
|
+
const nodeRemove = useCallback((e, node) => {
|
|
65
|
+
deleteBehavior(node);
|
|
66
|
+
setSelections([]);
|
|
67
|
+
}, [deleteBehavior]);
|
|
68
|
+
|
|
69
|
+
const edgeClick = useCallback((e, edge) => {
|
|
70
|
+
setSelections([edge.id]);
|
|
71
|
+
}, []);
|
|
72
|
+
|
|
73
|
+
const edgeRemove = useCallback((e, edge) => {
|
|
74
|
+
deleteTransition(edge);
|
|
75
|
+
setSelections([]);
|
|
76
|
+
}, [deleteTransition]);
|
|
77
|
+
|
|
78
|
+
const canvasClick = useCallback((e) => {
|
|
79
|
+
selectBehavior(null);
|
|
80
|
+
setSelections([]);
|
|
81
|
+
}, [selectBehavior]);
|
|
82
|
+
|
|
83
|
+
const nodeLink = useCallback((e, from, to) => {
|
|
84
|
+
if (!to) return;
|
|
85
|
+
connectBehaviors(from, to);
|
|
86
|
+
}, [connectBehaviors]);
|
|
87
|
+
|
|
64
88
|
return (
|
|
65
89
|
<div onWheel={handleWheel} ref={containerRef} className="canvas-wrapper">
|
|
66
90
|
<Canvas
|
|
91
|
+
panType="drag"
|
|
92
|
+
fit
|
|
93
|
+
center
|
|
67
94
|
ref={canvasRef}
|
|
68
95
|
nodes={nodes}
|
|
69
96
|
edges={edges}
|
|
70
97
|
width={size.width}
|
|
71
98
|
height={size.height}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
setSelections([node.id]);
|
|
78
|
-
selectBehavior(node.id);
|
|
79
|
-
}}
|
|
80
|
-
onRemove={(event, node) => {
|
|
81
|
-
deleteBehavior(node);
|
|
82
|
-
setSelections([]);
|
|
83
|
-
}}
|
|
84
|
-
/>
|
|
85
|
-
}
|
|
86
|
-
edge={
|
|
87
|
-
<Edge
|
|
88
|
-
onClick={(event, edge) => {
|
|
89
|
-
setSelections([edge.id]);
|
|
90
|
-
}}
|
|
91
|
-
onRemove={(event, edge) => {
|
|
92
|
-
deleteTransition(edge);
|
|
93
|
-
setSelections([]);
|
|
94
|
-
}}
|
|
95
|
-
/>
|
|
96
|
-
}
|
|
97
|
-
onCanvasClick={(event) => {setSelections([]);}}
|
|
98
|
-
fit
|
|
99
|
-
center
|
|
99
|
+
selections={selections}
|
|
100
|
+
onNodeLink={nodeLink}
|
|
101
|
+
node={ <Node onClick={nodeClick} onRemove={nodeRemove} /> }
|
|
102
|
+
edge={ <Edge onClick={edgeClick} onRemove={edgeRemove}/> }
|
|
103
|
+
onCanvasClick={canvasClick}
|
|
100
104
|
/>
|
|
101
105
|
</div>
|
|
102
106
|
)
|
|
@@ -104,5 +108,7 @@ export const BehavioralGraphBuilder = forwardRef(({connectBehaviors, deleteTrans
|
|
|
104
108
|
|
|
105
109
|
BehavioralGraphBuilder.propTypes = {
|
|
106
110
|
connectBehaviors: PropTypes.func.isRequired,
|
|
107
|
-
|
|
111
|
+
deleteTransition: PropTypes.func.isRequired,
|
|
112
|
+
deleteBehavior: PropTypes.func.isRequired,
|
|
113
|
+
selectBehavior: PropTypes.func.isRequired,
|
|
108
114
|
}
|