fix(viewpane): use resize observer to set viewpane dimensions

This commit is contained in:
braks
2022-10-07 22:55:38 +02:00
committed by Braks
parent 723a03bca1
commit a8d0830dcd
@@ -57,27 +57,22 @@ let transform = $ref({
zoom: clampedZoom, zoom: clampedZoom,
}) })
const { width, height } = useElementBounding(viewportEl) useResizeObserver(viewportEl, () => {
if (!viewportEl.value) return
const stop = watch( const { width, height } = getDimensions(viewportEl.value)
[width, height], dimensions.width = width
([newWidth, newHeight]) => { dimensions.height = height
dimensions.width = newWidth })
dimensions.height = newHeight
},
{ immediate: true },
)
const window = useWindow() const window = useWindow()
if ('screen' in window) { useEventListener(window, 'resize', () => {
useEventListener(window, 'resize', () => { if (!viewportEl.value) return
if (!viewportEl.value) return
const { width, height } = getDimensions(viewportEl.value) const { width, height } = getDimensions(viewportEl.value)
dimensions.width = width dimensions.width = width
dimensions.height = height dimensions.height = height
}) })
}
onBeforeUnmount(stop) onBeforeUnmount(stop)