Merge pull request #9220 from dataease/pr@dev-v2@refactor_wheel2

refactor(数据大屏): 优化鼠标和Mac触控板方向探测逻辑,针对Mac触控板的内外伸缩可以直接控制大屏缩放,鼠标滚轮控制只Y轴方向
This commit is contained in:
王嘉豪 2024-04-19 11:00:27 +08:00 committed by GitHub
commit 0b00da3199
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -63,33 +63,31 @@ const checkDialog = () => {
}
const handleMouseWheel = e => {
if (editMode.value === 'preview' || checkDialog()) {
if (
editMode.value === 'preview' ||
checkDialog() ||
(Math.abs(e.deltaX) !== 0 && Math.abs(e.deltaY) !== 0)
) {
return
}
let dvMain = document.getElementById('dv-main-center')
let dvMainLeftSlide = document.getElementById('dv-main-left-sidebar')
let areaLeftWidth = dvMainLeftSlide.clientWidth
let areaRight = dvMain.clientWidth + areaLeftWidth
if (areaLeftWidth < e.clientX && e.clientX < areaRight) {
const delta = e.wheelDelta ? e.wheelDelta : -e.detail
if ((lastWheelNum === 240 && delta === 240) || delta > 240) {
//
scaleIncrease(3)
} else if ((lastWheelNum === -240 && delta === -240) || delta < -240) {
//
if (e.ctrlKey) {
if (e.deltaY > 0) {
//
scaleDecrease(3)
}
if (delta >= 240 || delta <= -240) {
e.stopPropagation()
e.preventDefault()
}
lastWheelNum = delta
if (e.deltaY < 0) {
//
scaleIncrease(3)
e.stopPropagation()
e.preventDefault()
}
}
}
onMounted(() => {
window.addEventListener('mousewheel', handleMouseWheel, { passive: false })
window.addEventListener('wheel', handleMouseWheel, { passive: false })
setTimeout(() => {
scale.value = canvasStyleData.value.scale
nextTick(() => {
@ -99,7 +97,7 @@ onMounted(() => {
})
onUnmounted(() => {
window.removeEventListener('mousewheel', handleMouseWheel)
window.removeEventListener('wheel', handleMouseWheel)
})
</script>
<template>