Skip to content

Commit 4e50efe

Browse files
committed
fix(core,types): use separate interfaces for node/edge events
1 parent 10d0a11 commit 4e50efe

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

packages/core/src/types/flow.ts

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,19 @@ export interface FlowProps {
210210
// Todo: Remove in next major version
211211
export type FlowOptions = FlowProps
212212

213-
export interface FlowEmits {
214-
(event: 'nodesChange', changes: NodeChange[]): void
215-
(event: 'edgesChange', changes: EdgeChange[]): void
213+
interface EdgeEvents {
214+
(event: 'edgeContextMenu', edgeMouseEvent: EdgeMouseEvent): void
215+
(event: 'edgeMouseEnter', edgeMouseEvent: EdgeMouseEvent): void
216+
(event: 'edgeMouseMove', edgeMouseEvent: EdgeMouseEvent): void
217+
(event: 'edgeMouseLeave', edgeMouseEvent: EdgeMouseEvent): void
218+
(event: 'edgeDoubleClick', edgeMouseEvent: EdgeMouseEvent): void
219+
(event: 'edgeClick', edgeMouseEvent: EdgeMouseEvent): void
220+
(event: 'edgeUpdateStart', edgeMouseEvent: EdgeMouseEvent): void
221+
(event: 'edgeUpdate', edgeUpdateEvent: EdgeUpdateEvent): void
222+
(event: 'edgeUpdateEnd', edgeMouseEvent: EdgeMouseEvent): void
223+
}
224+
225+
interface NodeEvents {
216226
(event: 'nodeDoubleClick', nodeMouseEvent: NodeMouseEvent): void
217227
(event: 'nodeClick', nodeMouseEvent: NodeMouseEvent): void
218228
(event: 'nodeMouseEnter', nodeMouseEvent: NodeMouseEvent): void
@@ -222,6 +232,11 @@ export interface FlowEmits {
222232
(event: 'nodeDragStart', nodeDragEvent: NodeDragEvent): void
223233
(event: 'nodeDrag', nodeDragEvent: NodeDragEvent): void
224234
(event: 'nodeDragStop', nodeDragEvent: NodeDragEvent): void
235+
}
236+
237+
export interface FlowEmits extends NodeEvents, EdgeEvents {
238+
(event: 'nodesChange', changes: NodeChange[]): void
239+
(event: 'edgesChange', changes: EdgeChange[]): void
225240
(event: 'nodesInitialized'): void
226241
(event: 'miniMapNodeClick', nodeMouseEvent: NodeMouseEvent): void
227242
(event: 'miniMapNodeDoubleClick', nodeMouseEvent: NodeMouseEvent): void
@@ -264,15 +279,6 @@ export interface FlowEmits {
264279
(event: 'paneMouseEnter', paneEvent: MouseEvent): void
265280
(event: 'paneMouseMove', paneEvent: MouseEvent): void
266281
(event: 'paneMouseLeave', paneEvent: MouseEvent): void
267-
(event: 'edgeContextMenu', edgeMouseEvent: EdgeMouseEvent): void
268-
(event: 'edgeMouseEnter', edgeMouseEvent: EdgeMouseEvent): void
269-
(event: 'edgeMouseMove', edgeMouseEvent: EdgeMouseEvent): void
270-
(event: 'edgeMouseLeave', edgeMouseEvent: EdgeMouseEvent): void
271-
(event: 'edgeDoubleClick', edgeMouseEvent: EdgeMouseEvent): void
272-
(event: 'edgeClick', edgeMouseEvent: EdgeMouseEvent): void
273-
(event: 'edgeUpdateStart', edgeMouseEvent: EdgeMouseEvent): void
274-
(event: 'edgeUpdate', edgeUpdateEvent: EdgeUpdateEvent): void
275-
(event: 'edgeUpdateEnd', edgeMouseEvent: EdgeMouseEvent): void
276282
(event: 'updateNodeInternals'): void
277283
(event: 'error', error: VueFlowError): void
278284

0 commit comments

Comments
 (0)