File tree Expand file tree Collapse file tree 2 files changed +28
-1
lines changed Expand file tree Collapse file tree 2 files changed +28
-1
lines changed Original file line number Diff line number Diff line change @@ -54,6 +54,7 @@ export const Canvas = ({
54
54
onNodeDrag,
55
55
onNodeDragStop,
56
56
onEdgeClick,
57
+ onNodeClick,
57
58
onSelectionDragStop,
58
59
onSelectionContextMenu,
59
60
onSelectionChange,
@@ -110,6 +111,13 @@ export const Canvas = ({
110
111
[ onEdgeClick ] ,
111
112
) ;
112
113
114
+ const _onNodeClick = useCallback (
115
+ ( event : MouseEvent , node : InternalNode ) => {
116
+ onNodeClick ?.( event , convertToExternalNode ( node ) ) ;
117
+ } ,
118
+ [ onNodeClick ] ,
119
+ ) ;
120
+
113
121
const _onSelectionContextMenu = useCallback (
114
122
( event : MouseEvent , nodes : InternalNode [ ] ) => {
115
123
onSelectionContextMenu ?.( event , convertToExternalNodes ( nodes ) ) ;
@@ -149,6 +157,7 @@ export const Canvas = ({
149
157
onNodeDragStop = { _onNodeDragStop }
150
158
onSelectionDragStop = { _onSelectionDragStop }
151
159
onEdgeClick = { _onEdgeClick }
160
+ onNodeClick = { _onNodeClick }
152
161
onSelectionContextMenu = { _onSelectionContextMenu }
153
162
onSelectionChange = { _onSelectionChange }
154
163
{ ...rest }
Original file line number Diff line number Diff line change @@ -19,6 +19,11 @@ export type OnPaneClickHandler = (event: ReactMouseEvent) => void;
19
19
*/
20
20
export type OnEdgeClickHandler = ( event : ReactMouseEvent , edge : EdgeProps ) => void ;
21
21
22
+ /**
23
+ * Called when a node is clicked.
24
+ */
25
+ export type OnNodeClickHandler = ( event : ReactMouseEvent , edge : NodeProps ) => void ;
26
+
22
27
/**
23
28
* Called when a node is right-clicked.
24
29
*/
@@ -103,6 +108,11 @@ export interface DiagramProps {
103
108
*/
104
109
onEdgeClick ?: OnEdgeClickHandler ;
105
110
111
+ /**
112
+ * Callback when the user clicks on a node.
113
+ */
114
+ onNodeClick ?: OnNodeClickHandler ;
115
+
106
116
/**
107
117
* Callback when the user right-clicks on a node.
108
118
*/
@@ -181,7 +191,15 @@ export interface DiagramProps {
181
191
/**
182
192
* Whether to only render elements that are currently visible in the viewport.
183
193
* This can improve performance for large diagrams.
184
- * @defaults true
194
+ * @default true
185
195
*/
186
196
onlyRenderVisibleElements ?: boolean ;
197
+
198
+ /**
199
+ * With a threshold greater than zero you can delay node drag events. If
200
+ * threshold equals 1, you need to drag the node 1 pixel before a drag event
201
+ * is fired. 1 is the default value, so that clicks don’t trigger drag events.
202
+ * @default 1
203
+ */
204
+ nodeDragThreshold ?: number ;
187
205
}
You can’t perform that action at this time.
0 commit comments