fix(viewpane): use resize observer to set viewpane dimensions
This commit is contained in:
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user