From 3ff5497fc44d6b701dfd16164d77d67f002e8fa9 Mon Sep 17 00:00:00 2001 From: DarkPhoenix2704 Date: Thu, 15 Feb 2024 10:25:33 +0000 Subject: [PATCH] fix(nc-gui): add arrow shortcuts --- .../virtual-cell/components/ListChildItems.vue | 10 ++++++++++ .../components/virtual-cell/components/ListItems.vue | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/packages/nc-gui/components/virtual-cell/components/ListChildItems.vue b/packages/nc-gui/components/virtual-cell/components/ListChildItems.vue index 69bb72128e..f4351b3df6 100644 --- a/packages/nc-gui/components/virtual-cell/components/ListChildItems.vue +++ b/packages/nc-gui/components/virtual-cell/components/ListChildItems.vue @@ -179,6 +179,16 @@ watch([filterQueryRef, isDataExist], () => { const linkedShortcuts = (e: KeyboardEvent) => { if (e.key === 'Escape') { vModel.value = false + } else if (e.key === 'ArrowDown') { + e.preventDefault() + try { + e.target?.nextElementSibling?.focus() + } catch (e) {} + } else if (e.key === 'ArrowUp') { + e.preventDefault() + try { + e.target?.previousElementSibling?.focus() + } catch (e) {} } else if (e.key !== 'Tab' && e.key !== 'Shift' && e.key !== 'Enter' && e.key !== ' ') { try { filterQueryRef.value?.focus() diff --git a/packages/nc-gui/components/virtual-cell/components/ListItems.vue b/packages/nc-gui/components/virtual-cell/components/ListItems.vue index bb42c803cb..2fcaa7ea7a 100644 --- a/packages/nc-gui/components/virtual-cell/components/ListItems.vue +++ b/packages/nc-gui/components/virtual-cell/components/ListItems.vue @@ -220,6 +220,16 @@ const onCreatedRecord = (record: any) => { const linkedShortcuts = (e: KeyboardEvent) => { if (e.key === 'Escape') { vModel.value = false + } else if (e.key === 'ArrowDown') { + e.preventDefault() + try { + e.target?.nextElementSibling?.focus() + } catch (e) {} + } else if (e.key === 'ArrowUp') { + e.preventDefault() + try { + e.target?.previousElementSibling?.focus() + } catch (e) {} } else if (e.key !== 'Tab' && e.key !== 'Shift' && e.key !== 'Enter' && e.key !== ' ') { try { filterQueryRef.value?.focus()