From 852016885de3094f001019d743b02a5cc8328b50 Mon Sep 17 00:00:00 2001 From: Ramesh Mane <101566080+rameshmane7218@users.noreply.github.com> Date: Sat, 2 Mar 2024 07:32:38 +0000 Subject: [PATCH] fix(nc-gui): prevent ctrl+s keypress in formview --- .../nc-gui/components/smartsheet/Form.vue | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/nc-gui/components/smartsheet/Form.vue b/packages/nc-gui/components/smartsheet/Form.vue index 131daf02df..d8022bcbfc 100644 --- a/packages/nc-gui/components/smartsheet/Form.vue +++ b/packages/nc-gui/components/smartsheet/Form.vue @@ -612,6 +612,30 @@ useEventListener( }, true, ) + +useEventListener( + document, + 'keydown', + (e: KeyboardEvent) => { + const cmdOrCtrl = isMac() ? e.metaKey : e.ctrlKey + + switch (e.key.toLowerCase()) { + case 's': + if ( + cmdOrCtrl && + !( + ['input', 'textarea'].includes((e.target as any).nodeName.toLowerCase()) || + (e.target as any)?.getAttribute('contenteditable') + ) + ) { + e.preventDefault() + updateView() + } + break + } + }, + true, +)