refactor(core,viewport): replace watchEffect with onMounted/onBeforeUnmount

This commit is contained in:
braks
2024-02-05 07:51:12 +01:00
committed by Braks
parent 1ed6dbe0d9
commit d001d802b5
@@ -1,5 +1,5 @@
import type { Ref } from 'vue' import type { Ref } from 'vue'
import { watchEffect } from 'vue' import { onBeforeUnmount, onMounted } from 'vue'
import { ErrorCode, VueFlowError, getDimensions } from '../utils' import { ErrorCode, VueFlowError, getDimensions } from '../utils'
import { useVueFlow } from './useVueFlow' import { useVueFlow } from './useVueFlow'
import { useWindow } from './useWindow' import { useWindow } from './useWindow'
@@ -11,7 +11,7 @@ export function useResizeHandler(viewportEl: Ref<HTMLDivElement | null>): void {
let resizeObserver: ResizeObserver let resizeObserver: ResizeObserver
watchEffect((onCleanup) => { onMounted(() => {
const rendererNode = viewportEl.value const rendererNode = viewportEl.value
const updateDimensions = () => { const updateDimensions = () => {
@@ -25,7 +25,7 @@ export function useResizeHandler(viewportEl: Ref<HTMLDivElement | null>): void {
emits.error(new VueFlowError(ErrorCode.MISSING_VIEWPORT_DIMENSIONS)) emits.error(new VueFlowError(ErrorCode.MISSING_VIEWPORT_DIMENSIONS))
} }
dimensions.value = size dimensions.value = { width: size.width || 500, height: size.height || 500 }
} }
updateDimensions() updateDimensions()
@@ -36,7 +36,7 @@ export function useResizeHandler(viewportEl: Ref<HTMLDivElement | null>): void {
resizeObserver.observe(rendererNode) resizeObserver.observe(rendererNode)
} }
onCleanup(() => { onBeforeUnmount(() => {
window.removeEventListener('resize', updateDimensions) window.removeEventListener('resize', updateDimensions)
if (resizeObserver && rendererNode) { if (resizeObserver && rendererNode) {