Posted 26 April 2022, 12:31 am EST
Hii ,
How to differentiate whether User Clicked Enter after entering value in Edit Mode or He clicked Escape button , as both trigger EditEnded and EditEnding events.
Forums Home / Spread / SpreadJS
Posted by: seshareddy.kamaganiguntla on 26 April 2022, 12:31 am EST
Posted 26 April 2022, 12:31 am EST
Hii ,
How to differentiate whether User Clicked Enter after entering value in Edit Mode or He clicked Escape button , as both trigger EditEnded and EditEnding events.
Posted 27 April 2022, 4:57 am EST
Hi,
This is expected behavior Edit Ended is only responsible for notifying the edit mode. However, if you want to distinguish between edit ended with Esc key. You may override the reserved key method. Please refer to the following code snippet and let me know wif you ace any issues.
var sheet1 = spread.getSheet(0);
let style = new GC.Spread.Sheets.Style();
let escClicked = false;
let spreadNS = GC.Spread.Sheets;
let old = spreadNS.CellTypes.Text.prototype.isReservedKey;
spreadNS.CellTypes.Text.prototype.isReservedKey = function (e, context) {
if (context.isEditing && e.keyCode === GC.Spread.Commands.Key.esc) {
escClicked = true;
}
old.apply(this, arguments);
};
sheet1.bind("EditEnded", (e, args) => {
if (escClicked) {
escClicked = false;
console.log("Edit end using Esc");
} else {
console.log("endit ended with value");
}
});
sample: https://codesandbox.io/s/beautiful-framework-3j8dvz?file=/src/index.js:170-789
isReservedKey: https://www.grapecity.com/spreadjs/docs/latest/online/SpreadJS~GC.Spread.Sheets.CellTypes.Base~isReservedKey.html
Ragards,
Avinash