Finish tool edit page

This commit is contained in:
2024-02-01 16:52:53 +08:00
parent 28140543c4
commit 2b566aeb85
10 changed files with 479 additions and 68 deletions

View File

@@ -458,26 +458,48 @@ const HideScrollbar = forwardRef<HideScrollbarElement, HideScrollbarProps>(
useEffect(() => {
rootRef.current?.removeEventListener('wheel', wheelListenerRef.current)
if (isPreventAnyScroll) {
const handleDefaultWheel = (event: WheelEvent) => {
if (!event.altKey && !event.ctrlKey) {
if (isPreventScroll) {
event.preventDefault()
return
}
if (isPreventVerticalScroll && !event.shiftKey && !event.deltaX) {
event.preventDefault()
return
}
if (isPreventHorizontalScroll && (event.shiftKey || !event.deltaY)) {
event.preventDefault()
return
}
const handleDefaultWheel = (event: WheelEvent) => {
if (!event.altKey && !event.ctrlKey) {
if (isPreventScroll) {
event.preventDefault()
return
}
if (
isPreventVerticalScroll &&
verticalScrollbarLength < 100 &&
!event.shiftKey &&
!event.deltaX
) {
event.preventDefault()
return
}
if (isPreventHorizontalScroll && (event.shiftKey || !event.deltaY)) {
event.preventDefault()
return
}
let length = verticalScrollbarLength
setVerticalScrollbarLength((prevState) => {
length = prevState
return prevState
})
console.log(length)
if (
!isPreventHorizontalScroll &&
length >= 100 &&
!event.shiftKey &&
!event.deltaX
) {
event.preventDefault()
rootRef.current?.scrollTo({
left: rootRef.current?.scrollLeft + event.deltaY,
behavior: 'smooth'
})
return
}
}
wheelListenerRef.current = handleDefaultWheel
rootRef.current?.addEventListener('wheel', handleDefaultWheel, { passive: false })
}
wheelListenerRef.current = handleDefaultWheel
rootRef.current?.addEventListener('wheel', handleDefaultWheel, { passive: false })
}, [
isPreventAnyScroll,
isPreventHorizontalScroll,