feat(core): add onError hook
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
@@ -1,64 +1,65 @@
|
||||
import type { Ref } from 'vue'
|
||||
import type { Emits, FlowHooks } from '~/types'
|
||||
import type { FlowHooks } from '~/types'
|
||||
|
||||
// flow event hooks
|
||||
export const createHooks = (): FlowHooks => ({
|
||||
edgesChange: createEventHook(),
|
||||
nodesChange: createEventHook(),
|
||||
nodeDoubleClick: createEventHook(),
|
||||
nodeClick: createEventHook(),
|
||||
nodeMouseEnter: createEventHook(),
|
||||
nodeMouseMove: createEventHook(),
|
||||
nodeMouseLeave: createEventHook(),
|
||||
nodeContextMenu: createEventHook(),
|
||||
nodeDragStart: createEventHook(),
|
||||
nodeDrag: createEventHook(),
|
||||
nodeDragStop: createEventHook(),
|
||||
nodesInitialized: createEventHook(),
|
||||
miniMapNodeClick: createEventHook(),
|
||||
miniMapNodeDoubleClick: createEventHook(),
|
||||
miniMapNodeMouseEnter: createEventHook(),
|
||||
miniMapNodeMouseMove: createEventHook(),
|
||||
miniMapNodeMouseLeave: createEventHook(),
|
||||
connect: createEventHook(),
|
||||
connectStart: createEventHook(),
|
||||
connectEnd: createEventHook(),
|
||||
paneReady: createEventHook(),
|
||||
move: createEventHook(),
|
||||
moveStart: createEventHook(),
|
||||
moveEnd: createEventHook(),
|
||||
selectionDragStart: createEventHook(),
|
||||
selectionDrag: createEventHook(),
|
||||
selectionDragStop: createEventHook(),
|
||||
selectionContextMenu: createEventHook(),
|
||||
selectionStart: createEventHook(),
|
||||
selectionEnd: createEventHook(),
|
||||
viewportChangeStart: createEventHook(),
|
||||
viewportChange: createEventHook(),
|
||||
viewportChangeEnd: createEventHook(),
|
||||
paneScroll: createEventHook(),
|
||||
paneClick: createEventHook(),
|
||||
paneContextMenu: createEventHook(),
|
||||
paneMouseEnter: createEventHook(),
|
||||
paneMouseMove: createEventHook(),
|
||||
paneMouseLeave: createEventHook(),
|
||||
edgeContextMenu: createEventHook(),
|
||||
edgeMouseEnter: createEventHook(),
|
||||
edgeMouseMove: createEventHook(),
|
||||
edgeMouseLeave: createEventHook(),
|
||||
edgeDoubleClick: createEventHook(),
|
||||
edgeClick: createEventHook(),
|
||||
edgeUpdateStart: createEventHook(),
|
||||
edgeUpdate: createEventHook(),
|
||||
edgeUpdateEnd: createEventHook(),
|
||||
updateNodeInternals: createEventHook(),
|
||||
edgesChange: createExtendedEventHook(),
|
||||
nodesChange: createExtendedEventHook(),
|
||||
nodeDoubleClick: createExtendedEventHook(),
|
||||
nodeClick: createExtendedEventHook(),
|
||||
nodeMouseEnter: createExtendedEventHook(),
|
||||
nodeMouseMove: createExtendedEventHook(),
|
||||
nodeMouseLeave: createExtendedEventHook(),
|
||||
nodeContextMenu: createExtendedEventHook(),
|
||||
nodeDragStart: createExtendedEventHook(),
|
||||
nodeDrag: createExtendedEventHook(),
|
||||
nodeDragStop: createExtendedEventHook(),
|
||||
nodesInitialized: createExtendedEventHook(),
|
||||
miniMapNodeClick: createExtendedEventHook(),
|
||||
miniMapNodeDoubleClick: createExtendedEventHook(),
|
||||
miniMapNodeMouseEnter: createExtendedEventHook(),
|
||||
miniMapNodeMouseMove: createExtendedEventHook(),
|
||||
miniMapNodeMouseLeave: createExtendedEventHook(),
|
||||
connect: createExtendedEventHook(),
|
||||
connectStart: createExtendedEventHook(),
|
||||
connectEnd: createExtendedEventHook(),
|
||||
paneReady: createExtendedEventHook(),
|
||||
move: createExtendedEventHook(),
|
||||
moveStart: createExtendedEventHook(),
|
||||
moveEnd: createExtendedEventHook(),
|
||||
selectionDragStart: createExtendedEventHook(),
|
||||
selectionDrag: createExtendedEventHook(),
|
||||
selectionDragStop: createExtendedEventHook(),
|
||||
selectionContextMenu: createExtendedEventHook(),
|
||||
selectionStart: createExtendedEventHook(),
|
||||
selectionEnd: createExtendedEventHook(),
|
||||
viewportChangeStart: createExtendedEventHook(),
|
||||
viewportChange: createExtendedEventHook(),
|
||||
viewportChangeEnd: createExtendedEventHook(),
|
||||
paneScroll: createExtendedEventHook(),
|
||||
paneClick: createExtendedEventHook(),
|
||||
paneContextMenu: createExtendedEventHook(),
|
||||
paneMouseEnter: createExtendedEventHook(),
|
||||
paneMouseMove: createExtendedEventHook(),
|
||||
paneMouseLeave: createExtendedEventHook(),
|
||||
edgeContextMenu: createExtendedEventHook(),
|
||||
edgeMouseEnter: createExtendedEventHook(),
|
||||
edgeMouseMove: createExtendedEventHook(),
|
||||
edgeMouseLeave: createExtendedEventHook(),
|
||||
edgeDoubleClick: createExtendedEventHook(),
|
||||
edgeClick: createExtendedEventHook(),
|
||||
edgeUpdateStart: createExtendedEventHook(),
|
||||
edgeUpdate: createExtendedEventHook(),
|
||||
edgeUpdateEnd: createExtendedEventHook(),
|
||||
updateNodeInternals: createExtendedEventHook(),
|
||||
error: createExtendedEventHook((err) => warn(err.message)),
|
||||
})
|
||||
|
||||
export function useHooks(emit: Emits, hooks: Ref<FlowHooks>) {
|
||||
export function useHooks(emit: (...args: any[]) => void, hooks: Ref<FlowHooks>) {
|
||||
onBeforeMount(() => {
|
||||
for (const [key, value] of Object.entries(hooks.value)) {
|
||||
const listener = (data: any) => {
|
||||
emit(key as Emits extends (event: infer Event) => void ? Event : never, data)
|
||||
emit(key, data)
|
||||
}
|
||||
|
||||
value.on(listener)
|
||||
|
||||
Reference in New Issue
Block a user