fix: workflow zoomin/out shortcuts (#4283)

This commit is contained in:
zxhlyh 2024-05-11 10:38:12 +08:00 committed by GitHub
parent 1e451991db
commit 13f4ed6e0e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 21 additions and 3 deletions

View File

@ -19,6 +19,7 @@ import {
import {
getKeyboardKeyCodeBySystem,
getKeyboardKeyNameBySystem,
isEventTargetInputArea,
} from '../utils'
import ShortcutsName from '../shortcuts-name'
import TipPopup from './tip-popup'
@ -128,10 +129,13 @@ const ZoomInOut: FC = () => {
})
useKeyPress('shift.1', (e) => {
e.preventDefault()
if (workflowReadOnly)
return
if (isEventTargetInputArea(e.target as HTMLElement))
return
e.preventDefault()
zoomTo(1)
handleSyncWorkflowDraft()
}, {
@ -140,10 +144,13 @@ const ZoomInOut: FC = () => {
})
useKeyPress('shift.2', (e) => {
e.preventDefault()
if (workflowReadOnly)
return
if (isEventTargetInputArea(e.target as HTMLElement))
return
e.preventDefault()
zoomTo(2)
handleSyncWorkflowDraft()
}, {
@ -152,10 +159,13 @@ const ZoomInOut: FC = () => {
})
useKeyPress('shift.5', (e) => {
e.preventDefault()
if (workflowReadOnly)
return
if (isEventTargetInputArea(e.target as HTMLElement))
return
e.preventDefault()
zoomTo(0.5)
handleSyncWorkflowDraft()
}, {

View File

@ -406,3 +406,11 @@ export const getTopLeftNodePosition = (nodes: Node[]) => {
y: minY,
}
}
export const isEventTargetInputArea = (target: HTMLElement) => {
if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA')
return true
if (target.contentEditable === 'true')
return true
}