27 lines
1.3 KiB
TypeScript
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),
|
|
}
|
|
}
|