Selaa lähdekoodia

feat: set workflow zoom range for shortcut (#7563)

tags/0.7.2
Yi Xiao 1 vuosi sitten
vanhempi
commit
a71fc18530
No account linked to committer's email address
1 muutettua tiedostoa jossa 17 lisäystä ja 4 poistoa
  1. 17
    4
      web/app/components/workflow/hooks/use-shortcuts.ts

+ 17
- 4
web/app/components/workflow/hooks/use-shortcuts.ts Näytä tiedosto

@@ -37,12 +37,25 @@ export const useShortcuts = (): void => {
const { handleLayout } = useWorkflowOrganize()

const {
zoomIn,
zoomOut,
zoomTo,
getZoom,
fitView,
} = useReactFlow()

// Zoom out to a minimum of 0.5 for shortcut
const constrainedZoomOut = () => {
const currentZoom = getZoom()
const newZoom = Math.max(currentZoom - 0.1, 0.5)
zoomTo(newZoom)
}

// Zoom in to a maximum of 1 for shortcut
const constrainedZoomIn = () => {
const currentZoom = getZoom()
const newZoom = Math.min(currentZoom + 0.1, 1)
zoomTo(newZoom)
}

const shouldHandleShortcut = useCallback((e: KeyboardEvent) => {
const { showFeaturesPanel } = workflowStore.getState()
return !showFeaturesPanel && !isEventTargetInputArea(e.target as HTMLElement)
@@ -165,7 +178,7 @@ export const useShortcuts = (): void => {
useKeyPress(`${getKeyboardKeyCodeBySystem('ctrl')}.dash`, (e) => {
if (shouldHandleShortcut(e)) {
e.preventDefault()
zoomOut()
constrainedZoomOut()
handleSyncWorkflowDraft()
}
}, {
@@ -176,7 +189,7 @@ export const useShortcuts = (): void => {
useKeyPress(`${getKeyboardKeyCodeBySystem('ctrl')}.equalsign`, (e) => {
if (shouldHandleShortcut(e)) {
e.preventDefault()
zoomIn()
constrainedZoomIn()
handleSyncWorkflowDraft()
}
}, {

Loading…
Peruuta
Tallenna