From dae1c53a91489cf1a26cfd2adc4db61e4630e3b8 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Tue, 29 Nov 2022 13:57:39 +0800 Subject: [PATCH] feat(nc-gui): skip keydown logic if drawer / modal is active --- .../nc-gui/components/cell/DatePicker.vue | 9 +++++---- .../nc-gui/components/cell/DateTimePicker.vue | 19 ++++++++++++++----- packages/nc-gui/components/monaco/Editor.vue | 2 +- .../nc-gui/components/smartsheet/Grid.vue | 4 ++-- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/packages/nc-gui/components/cell/DatePicker.vue b/packages/nc-gui/components/cell/DatePicker.vue index 1f3469fea4..c0c662732d 100644 --- a/packages/nc-gui/components/cell/DatePicker.vue +++ b/packages/nc-gui/components/cell/DatePicker.vue @@ -7,6 +7,7 @@ import { ReadonlyInj, computed, inject, + isDrawerOrModalExist, ref, useSelectedCellKeyupListener, watch, @@ -76,8 +77,8 @@ useSelectedCellKeyupListener(active, (e: KeyboardEvent) => { switch (e.key) { case 'Enter': e.stopPropagation() - // if expanded form is active skip resetting the active cell - if (document.querySelector('.nc-drawer-expanded-form.active')) { + // skip if drawer / modal is active + if (isDrawerOrModalExist()) { return } if (!open.value) { @@ -93,8 +94,8 @@ useSelectedCellKeyupListener(active, (e: KeyboardEvent) => { } break case 'Escape': - // if expanded form is active skip resetting the active cell - if (document.querySelector('.nc-drawer-expanded-form.active')) { + // skip if drawer / modal is active + if (isDrawerOrModalExist()) { return } if (open.value) { diff --git a/packages/nc-gui/components/cell/DateTimePicker.vue b/packages/nc-gui/components/cell/DateTimePicker.vue index ce7245348c..8819d23ce7 100644 --- a/packages/nc-gui/components/cell/DateTimePicker.vue +++ b/packages/nc-gui/components/cell/DateTimePicker.vue @@ -1,6 +1,15 @@