From d2c4e21cca21adef53e9e7757033ec1df58c63da Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 8 Jun 2022 19:10:41 +0530 Subject: [PATCH 1/3] fix: Dont save if value is same --- src/cellmanager.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/cellmanager.js b/src/cellmanager.js index a796297..23c6b1d 100644 --- a/src/cellmanager.js +++ b/src/cellmanager.js @@ -517,9 +517,12 @@ export default class CellManager { } promise = valuePromise.then((value) => { - const done = editor.setValue(value, rowIndex, col); const oldValue = this.getCell(colIndex, rowIndex).content; + if (oldValue === value) return; + + const done = editor.setValue(value, rowIndex, col); + // update cell immediately this.updateCell(colIndex, rowIndex, value); $cell.focus(); From 42a236d9c8cfa12db35b21fdd1c19e17040c060a Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 8 Jun 2022 19:11:57 +0530 Subject: [PATCH 2/3] fix: use left, right, up, down keys while editing cell value --- src/cellmanager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cellmanager.js b/src/cellmanager.js index 23c6b1d..6e5357b 100644 --- a/src/cellmanager.js +++ b/src/cellmanager.js @@ -643,7 +643,7 @@ export default class CellManager { } focusCellInDirection(direction) { - if (!this.$focusedCell) { + if (!this.$focusedCell || (this.$editingCell && ['left', 'right', 'up', 'down'].includes(direction))) { return false; } else if (this.$editingCell && ['tab', 'shift+tab'].includes(direction)) { this.deactivateEditing(); From d6a6c16fdf202888d69a33063f20bd88c901f7d7 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 8 Jun 2022 19:51:19 +0530 Subject: [PATCH 3/3] chore: minor fix --- src/cellmanager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cellmanager.js b/src/cellmanager.js index 6e5357b..5510eeb 100644 --- a/src/cellmanager.js +++ b/src/cellmanager.js @@ -519,7 +519,7 @@ export default class CellManager { promise = valuePromise.then((value) => { const oldValue = this.getCell(colIndex, rowIndex).content; - if (oldValue === value) return; + if (oldValue === value) return false; const done = editor.setValue(value, rowIndex, col);