Skip to content

Commit ebc604d

Browse files
committed
fix(core): simplify event emit definitions to avoid hitting complexity limit of TS (#1585)
* fix(core): simplify event emit definitions Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> * chore(changeset): add Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> --------- Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
1 parent 1d772af commit ebc604d

File tree

2 files changed

+54
-34
lines changed

2 files changed

+54
-34
lines changed

.changeset/ninety-olives-dress.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@vue-flow/core": patch
3+
---
4+
5+
Simplify event emits definitions to avoid hitting complexity limit of TS.

packages/core/src/types/flow.ts

Lines changed: 49 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -237,15 +237,46 @@ export interface FlowProps {
237237
*/
238238
export type FlowOptions = FlowProps
239239

240+
export type EdgeMouseEvents =
241+
| 'edgeContextMenu'
242+
| 'edgeMouseEnter'
243+
| 'edgeMouseMove'
244+
| 'edgeMouseLeave'
245+
| 'edgeDoubleClick'
246+
| 'edgeClick'
247+
| 'edgeUpdateStart'
248+
| 'edgeUpdateEnd'
249+
250+
export type NodeMouseEvents =
251+
| 'nodeContextMenu'
252+
| 'nodeMouseEnter'
253+
| 'nodeMouseMove'
254+
| 'nodeMouseLeave'
255+
| 'nodeDoubleClick'
256+
| 'nodeClick'
257+
258+
export type NodeDragEvents = 'nodeDragStart' | 'nodeDrag' | 'nodeDragStop'
259+
260+
export type MiniMapNodeEvents =
261+
| 'miniMapNodeClick'
262+
| 'miniMapNodeDoubleClick'
263+
| 'miniMapNodeMouseEnter'
264+
| 'miniMapNodeMouseMove'
265+
| 'miniMapNodeMouseLeave'
266+
267+
export type PaneMouseEvents = 'paneClick' | 'paneContextMenu' | 'paneMouseEnter' | 'paneMouseMove' | 'paneMouseLeave'
268+
240269
export interface FlowEmits {
241270
(event: 'nodesChange', changes: NodeChange[]): void
242271
(event: 'edgesChange', changes: EdgeChange[]): void
243272
(event: 'nodesInitialized'): void
244-
(event: 'miniMapNodeClick', nodeMouseEvent: NodeMouseEvent): void
245-
(event: 'miniMapNodeDoubleClick', nodeMouseEvent: NodeMouseEvent): void
246-
(event: 'miniMapNodeMouseEnter', nodeMouseEvent: NodeMouseEvent): void
247-
(event: 'miniMapNodeMouseMove', nodeMouseEvent: NodeMouseEvent): void
248-
(event: 'miniMapNodeMouseLeave', nodeMouseEvent: NodeMouseEvent): void
273+
274+
/** @deprecated use `init` instead */
275+
(event: 'paneReady', paneEvent: VueFlowStore): void
276+
(event: 'init', paneEvent: VueFlowStore): void
277+
(event: 'updateNodeInternals'): void
278+
(event: 'error', error: VueFlowError): void
279+
249280
(event: 'connect', connectionEvent: Connection): void
250281
(
251282
event: 'connectStart',
@@ -261,49 +292,33 @@ export interface FlowEmits {
261292
} & OnConnectStartParams,
262293
): void
263294
(event: 'clickConnectEnd', connectionEvent?: MouseEvent): void
295+
264296
(event: 'moveStart', moveEvent: { event: D3ZoomEvent<HTMLDivElement, any>; flowTransform: ViewportTransform }): void
265297
(event: 'move', moveEvent: { event: D3ZoomEvent<HTMLDivElement, any>; flowTransform: ViewportTransform }): void
266298
(event: 'moveEnd', moveEvent: { event: D3ZoomEvent<HTMLDivElement, any>; flowTransform: ViewportTransform }): void
299+
267300
(event: 'selectionDragStart', selectionEvent: NodeDragEvent): void
268301
(event: 'selectionDrag', selectionEvent: NodeDragEvent): void
269302
(event: 'selectionDragStop', selectionEvent: NodeDragEvent): void
270303
(event: 'selectionContextMenu', selectionEvent: { event: MouseEvent; nodes: GraphNode[] }): void
271304
(event: 'selectionStart', selectionEvent: MouseEvent): void
272305
(event: 'selectionEnd', selectionEvent: MouseEvent): void
306+
273307
(event: 'viewportChangeStart', viewport: ViewportTransform): void
274308
(event: 'viewportChange', viewport: ViewportTransform): void
275309
(event: 'viewportChangeEnd', viewport: ViewportTransform): void
276-
/** @deprecated use `init` instead */
277-
(event: 'paneReady', paneEvent: VueFlowStore): void
278-
(event: 'init', paneEvent: VueFlowStore): void
279-
(event: 'paneScroll', paneEvent: WheelEvent | undefined): void
280-
(event: 'paneClick', paneEvent: MouseEvent): void
281-
(event: 'paneContextMenu', paneEvent: MouseEvent): void
282-
(event: 'paneMouseEnter', paneEvent: MouseEvent): void
283-
(event: 'paneMouseMove', paneEvent: MouseEvent): void
284-
(event: 'paneMouseLeave', paneEvent: MouseEvent): void
285-
(event: 'updateNodeInternals'): void
286-
(event: 'error', error: VueFlowError): void
287310

288-
(event: 'edgeContextMenu', edgeMouseEvent: EdgeMouseEvent): void
289-
(event: 'edgeMouseEnter', edgeMouseEvent: EdgeMouseEvent): void
290-
(event: 'edgeMouseMove', edgeMouseEvent: EdgeMouseEvent): void
291-
(event: 'edgeMouseLeave', edgeMouseEvent: EdgeMouseEvent): void
292-
(event: 'edgeDoubleClick', edgeMouseEvent: EdgeMouseEvent): void
293-
(event: 'edgeClick', edgeMouseEvent: EdgeMouseEvent): void
294-
(event: 'edgeUpdateStart', edgeMouseEvent: EdgeMouseEvent): void
311+
(event: 'paneScroll', paneScrollEvent: WheelEvent | undefined): void
312+
(event: PaneMouseEvents, paneMouseEvent: MouseEvent): void
313+
295314
(event: 'edgeUpdate', edgeUpdateEvent: EdgeUpdateEvent): void
296-
(event: 'edgeUpdateEnd', edgeMouseEvent: EdgeMouseEvent): void
297-
298-
(event: 'nodeDoubleClick', nodeMouseEvent: NodeMouseEvent): void
299-
(event: 'nodeClick', nodeMouseEvent: NodeMouseEvent): void
300-
(event: 'nodeMouseEnter', nodeMouseEvent: NodeMouseEvent): void
301-
(event: 'nodeMouseMove', nodeMouseEvent: NodeMouseEvent): void
302-
(event: 'nodeMouseLeave', nodeMouseEvent: NodeMouseEvent): void
303-
(event: 'nodeContextMenu', nodeMouseEvent: NodeMouseEvent): void
304-
(event: 'nodeDragStart', nodeDragEvent: NodeDragEvent): void
305-
(event: 'nodeDrag', nodeDragEvent: NodeDragEvent): void
306-
(event: 'nodeDragStop', nodeDragEvent: NodeDragEvent): void
315+
(event: EdgeMouseEvents, edgeMouseEvent: EdgeMouseEvent): void
316+
317+
(event: NodeMouseEvents, nodeMouseEvent: NodeMouseEvent): void
318+
319+
(event: NodeDragEvents, nodeDragEvent: NodeDragEvent): void
320+
321+
(event: MiniMapNodeEvents, nodeMouseEvent: NodeMouseEvent): void
307322

308323
/** v-model event definitions */
309324
(event: 'update:modelValue', value: FlowElements): void

0 commit comments

Comments
 (0)