From 0de971930eb39470b80639ec5306174de1ef8c99 Mon Sep 17 00:00:00 2001 From: kankanol <1317894008@163.com> Date: Wed, 18 May 2022 13:05:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20pageUp=20=E5=92=8C=20pageD?= =?UTF-8?q?own=20=E6=8C=89=E9=94=AE=E6=98=A0=E5=B0=84=E4=BB=A5=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E9=83=A8=E5=88=86=E6=BF=80=E5=85=89=E7=AC=94=E7=BF=BB?= =?UTF-8?q?=E9=A1=B5=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/configs/hotkey.ts | 2 ++ src/hooks/useGlobalHotkey.ts | 10 ++++++++++ src/hooks/useMoveElement.ts | 6 ++++++ src/views/Screen/hooks/useExecPlay.ts | 5 +++-- .../components/element/TableElement/EditableTable.vue | 4 ++-- 5 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/configs/hotkey.ts b/src/configs/hotkey.ts index 1c420b4c..ccac64c4 100644 --- a/src/configs/hotkey.ts +++ b/src/configs/hotkey.ts @@ -22,6 +22,8 @@ export const enum KEYS { TAB = 'TAB', BACKSPACE = 'BACKSPACE', ESC = 'ESCAPE', + PAGEUP = 'PAGEUP', + PAGEDOWN = 'PAGEDOWN', } export const HOTKEY_DOC = [ diff --git a/src/hooks/useGlobalHotkey.ts b/src/hooks/useGlobalHotkey.ts index 1dac5518..f0afcb26 100644 --- a/src/hooks/useGlobalHotkey.ts +++ b/src/hooks/useGlobalHotkey.ts @@ -242,6 +242,16 @@ export default () => { e.preventDefault() tabActiveElement() } + if (key === KEYS.PAGEUP) { + if (disableHotkeys.value) return + e.preventDefault() + move(KEYS.UP) + } + if (key === KEYS.PAGEDOWN) { + if (disableHotkeys.value) return + e.preventDefault() + move(KEYS.DOWN) + } } const keyupListener = () => { diff --git a/src/hooks/useMoveElement.ts b/src/hooks/useMoveElement.ts index 64630dee..d8ba157c 100644 --- a/src/hooks/useMoveElement.ts +++ b/src/hooks/useMoveElement.ts @@ -35,6 +35,12 @@ export default () => { case KEYS.DOWN: top = top + step break + case KEYS.PAGEUP: + top = top - step + break + case KEYS.PAGEDOWN: + top = top + step + break default: break } return { ...el, left, top } diff --git a/src/views/Screen/hooks/useExecPlay.ts b/src/views/Screen/hooks/useExecPlay.ts index a799e73d..24ae5863 100644 --- a/src/views/Screen/hooks/useExecPlay.ts +++ b/src/views/Screen/hooks/useExecPlay.ts @@ -182,12 +182,13 @@ export default () => { const keydownListener = (e: KeyboardEvent) => { const key = e.key.toUpperCase() - if (key === KEYS.UP || key === KEYS.LEFT) execPrev() + if (key === KEYS.UP || key === KEYS.LEFT || key === KEYS.PAGEUP) execPrev() else if ( key === KEYS.DOWN || key === KEYS.RIGHT || key === KEYS.SPACE || - key === KEYS.ENTER + key === KEYS.ENTER || + key === KEYS.PAGEDOWN ) execNext() } diff --git a/src/views/components/element/TableElement/EditableTable.vue b/src/views/components/element/TableElement/EditableTable.vue index 5c40686d..2813ed20 100644 --- a/src/views/components/element/TableElement/EditableTable.vue +++ b/src/views/components/element/TableElement/EditableTable.vue @@ -505,12 +505,12 @@ export default defineComponent({ e.preventDefault() tabActiveCell() } - if (e.ctrlKey && key === KEYS.UP) { + if (e.ctrlKey && (key === KEYS.UP || key === KEYS.PAGEUP)) { e.preventDefault() const rowIndex = +selectedCells.value[0].split('_')[0] insertRow(rowIndex) } - if (e.ctrlKey && key === KEYS.DOWN) { + if (e.ctrlKey && (key === KEYS.DOWN || key === KEYS.PAGEDOWN)) { e.preventDefault() const rowIndex = +selectedCells.value[0].split('_')[0] insertRow(rowIndex + 1)