Files
vue-flow/packages/core/src/composables/useZoomPanHelper.ts
T

27 lines
1.3 KiB
TypeScript

import { useVueFlow } from './useVueFlow'
import { useViewport } from './useViewport'
import type { ComputedGetters, State, ViewportFunctions } from '~/types'
/**
* @deprecated use {@link useVueFlow} instead (all viewport functions are also available in {@link useVueFlow})
*/
export function useZoomPanHelper(vueFlowId?: string): ViewportFunctions {
const state = $(useVueFlow({ id: vueFlowId }))
const viewportHelper = useViewport(state as State, state as unknown as ComputedGetters)
return {
fitView: (params) => viewportHelper.value.fitView(params),
zoomIn: (transitionOpts) => viewportHelper.value.zoomIn(transitionOpts),
zoomOut: (transitionOpts) => viewportHelper.value.zoomOut(transitionOpts),
zoomTo: (zoomLevel, transitionOpts) => viewportHelper.value.zoomTo(zoomLevel, transitionOpts),
setViewport: (params, transitionOpts) => viewportHelper.value.setViewport(params, transitionOpts),
setTransform: (params, transitionOpts) => viewportHelper.value.setTransform(params, transitionOpts),
getViewport: () => viewportHelper.value.getViewport(),
getTransform: () => viewportHelper.value.getTransform(),
setCenter: (x, y, opts) => viewportHelper.value.setCenter(x, y, opts),
fitBounds: (params, opts) => viewportHelper.value.fitBounds(params, opts),
project: (params) => viewportHelper.value.project(params),
}
}