diff --git a/packages/core/src/composables/useOnInitHandler.ts b/packages/core/src/composables/useOnInitHandler.ts index 67a1af28..9d7eee8c 100644 --- a/packages/core/src/composables/useOnInitHandler.ts +++ b/packages/core/src/composables/useOnInitHandler.ts @@ -7,6 +7,7 @@ export function useOnInitHandler() { watch(vfInstance.viewportInitialized, (isInitialized) => { if (isInitialized) { setTimeout(() => { + vfInstance.emits.init(vfInstance) vfInstance.emits.paneReady(vfInstance) }, 1) } diff --git a/packages/core/src/store/hooks.ts b/packages/core/src/store/hooks.ts index da98ca53..60ee5dbf 100644 --- a/packages/core/src/store/hooks.ts +++ b/packages/core/src/store/hooks.ts @@ -30,6 +30,7 @@ export function createHooks(): FlowHooks { clickConnectStart: createExtendedEventHook(), clickConnectEnd: createExtendedEventHook(), paneReady: createExtendedEventHook(), + init: createExtendedEventHook(), move: createExtendedEventHook(), moveStart: createExtendedEventHook(), moveEnd: createExtendedEventHook(), diff --git a/packages/core/src/types/flow.ts b/packages/core/src/types/flow.ts index b07e84f4..dac0aaf7 100644 --- a/packages/core/src/types/flow.ts +++ b/packages/core/src/types/flow.ts @@ -250,7 +250,9 @@ export interface FlowEmits { (event: 'viewportChangeStart', viewport: ViewportTransform): void (event: 'viewportChange', viewport: ViewportTransform): void (event: 'viewportChangeEnd', viewport: ViewportTransform): void + /** @deprecated use `init` instead */ (event: 'paneReady', paneEvent: VueFlowStore): void + (event: 'init', paneEvent: VueFlowStore): void (event: 'paneScroll', paneEvent: WheelEvent | undefined): void (event: 'paneClick', paneEvent: MouseEvent): void (event: 'paneContextMenu', paneEvent: MouseEvent): void diff --git a/packages/core/src/types/hooks.ts b/packages/core/src/types/hooks.ts index 555f0b91..cad49e44 100644 --- a/packages/core/src/types/hooks.ts +++ b/packages/core/src/types/hooks.ts @@ -63,7 +63,9 @@ export interface FlowEvents { event?: MouseEvent | TouchEvent } & OnConnectStartParams clickConnectEnd: MouseEvent | TouchEvent | undefined + /** @deprecated use `init` instead */ paneReady: VueFlowStore + init: VueFlowStore move: { event: D3ZoomEvent | WheelEvent; flowTransform: ViewportTransform } moveStart: { event: D3ZoomEvent | WheelEvent; flowTransform: ViewportTransform } moveEnd: { event: D3ZoomEvent | WheelEvent; flowTransform: ViewportTransform }