fix: adjust canvas scaling after panel drag (#1268)
This commit is contained in:
parent
c7da8376fc
commit
f912d399e8
|
@ -10,7 +10,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { ref, computed, watch, nextTick } from 'vue'
|
import { ref, computed, watch, nextTick, onMounted, onUnmounted } from 'vue'
|
||||||
import { useLayout, useCanvas } from '@opentiny/tiny-engine-meta-register'
|
import { useLayout, useCanvas } from '@opentiny/tiny-engine-meta-register'
|
||||||
import { canvasState } from '../container'
|
import { canvasState } from '../container'
|
||||||
|
|
||||||
|
@ -90,6 +90,9 @@ export default {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const draggablePanel = ref(null)
|
||||||
|
watch(() => useLayout().getPluginWidth(draggablePanel.value), setScale, { flush: 'post' })
|
||||||
|
|
||||||
watch(() => useLayout().getDimension().width, setScale, { flush: 'post', immediate: true })
|
watch(() => useLayout().getDimension().width, setScale, { flush: 'post', immediate: true })
|
||||||
|
|
||||||
watch(() => useLayout().leftFixedPanelsStorage.value, setScale, { flush: 'post' })
|
watch(() => useLayout().leftFixedPanelsStorage.value, setScale, { flush: 'post' })
|
||||||
|
@ -98,6 +101,11 @@ export default {
|
||||||
() => useLayout().getPluginState().render,
|
() => useLayout().getPluginState().render,
|
||||||
(value) => {
|
(value) => {
|
||||||
const currentFixed = useLayout().getPluginState().fixedPanels.includes(value)
|
const currentFixed = useLayout().getPluginState().fixedPanels.includes(value)
|
||||||
|
const isPanelResizable = useLayout().isPanelWidthResizable(value)
|
||||||
|
|
||||||
|
if (isPanelResizable) {
|
||||||
|
draggablePanel.value = value
|
||||||
|
}
|
||||||
|
|
||||||
if (!value || currentFixed) {
|
if (!value || currentFixed) {
|
||||||
setScale()
|
setScale()
|
||||||
|
@ -129,6 +137,18 @@ export default {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const handleResize = () => {
|
||||||
|
setScale()
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
window.addEventListener('resize', handleResize)
|
||||||
|
})
|
||||||
|
|
||||||
|
onUnmounted(() => {
|
||||||
|
window.removeEventListener('resize', handleResize)
|
||||||
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
onMouseDown,
|
onMouseDown,
|
||||||
onMouseMove,
|
onMouseMove,
|
||||||
|
|
Loading…
Reference in New Issue