From 9ccf78a5168d04d7dd982f8e02dd6353a9f4386b Mon Sep 17 00:00:00 2001 From: Pranav C Date: Thu, 25 Aug 2022 16:18:49 +0530 Subject: [PATCH] refactor(gui-v2): disable delete only if not in editable state Signed-off-by: Pranav C --- .../nc-gui-v2/components/smartsheet/Grid.vue | 346 +++++++++--------- 1 file changed, 174 insertions(+), 172 deletions(-) diff --git a/packages/nc-gui-v2/components/smartsheet/Grid.vue b/packages/nc-gui-v2/components/smartsheet/Grid.vue index 1f0be84c9f..143ad05309 100644 --- a/packages/nc-gui-v2/components/smartsheet/Grid.vue +++ b/packages/nc-gui-v2/components/smartsheet/Grid.vue @@ -174,7 +174,7 @@ const makeEditable = (row: Row, col: ColumnType) => { return } if (!isPkAvail.value && !row.rowMeta.new) { - message.info("Update not allowed for table which doesn't have primary Key") + message.info('Update not allowed for table which doesn\'t have primary Key') return } if (col.ai) { @@ -218,8 +218,10 @@ const onKeyDown = async (e: KeyboardEvent) => { break /** on delete key press clear cell */ case 'Delete': - e.preventDefault() - if (!editEnabled) await clearCell(selected as { row: number; col: number }) + if (!editEnabled) { + e.preventDefault() + await clearCell(selected as { row: number; col: number }) + } break /** on arrow key press navigate through cells */ case 'ArrowRight': @@ -238,35 +240,34 @@ const onKeyDown = async (e: KeyboardEvent) => { e.preventDefault() if (selected.row < data.value.length - 1) selected.row++ break - default: - { - const rowObj = data.value[selected.row] - const columnObj = fields.value[selected.col] - - if (e.metaKey || e.ctrlKey) { - switch (e.keyCode) { - // copy - ctrl/cmd +c - case 67: - await copy(rowObj.row[columnObj.title] || '') - break - } + default: { + const rowObj = data.value[selected.row] + const columnObj = fields.value[selected.col] + + if (!editEnabled && e.metaKey || e.ctrlKey) { + switch (e.keyCode) { + // copy - ctrl/cmd +c + case 67: + await copy(rowObj.row[columnObj.title] || '') + break } + } - if (editEnabled || e.ctrlKey || e.altKey || e.metaKey) { - return - } + if (editEnabled || e.ctrlKey || e.altKey || e.metaKey) { + return + } - /** on letter key press make cell editable and empty */ - if (e?.key?.length === 1) { - if (!isPkAvail && !rowObj.rowMeta.new) { - return message.info("Update not allowed for table which doesn't have primary Key") - } - if (makeEditable(rowObj, columnObj)) { - rowObj.row[columnObj.title] = '' - } - // editEnabled = true + /** on letter key press make cell editable and empty */ + if (e?.key?.length === 1) { + if (!isPkAvail && !rowObj.rowMeta.new) { + return message.info('Update not allowed for table which doesn\'t have primary Key') + } + if (makeEditable(rowObj, columnObj)) { + rowObj.row[columnObj.title] = '' } + // editEnabled = true } + } break } } @@ -317,87 +318,88 @@ const onNavigate = (dir: NavigateDir) => { @contextmenu.prevent="contextMenu = true" > - - -
- + +
+ + +
+ + + +
+ + + +
+ +
- -
- - + + + + - - + + + + + +
+ + + {{ $t('activity.addRow') }} -
- - + + +