From a4cc14ce268a3083754e5344b56aa3b5db98402e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonatan=20K=C5=82osko?= Date: Wed, 7 Dec 2022 19:51:14 +0100 Subject: [PATCH] Ignore universal shortcuts inside inputs in cell output --- assets/js/hooks/session.js | 49 ++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/assets/js/hooks/session.js b/assets/js/hooks/session.js index 7f6098baa..e4e627f32 100644 --- a/assets/js/hooks/session.js +++ b/assets/js/hooks/session.js @@ -301,28 +301,35 @@ const Session = { const key = event.key; const keyBuffer = this.keyBuffer; - // Universal shortcuts - if (cmd && shift && !alt && key === "Enter") { - cancelEvent(event); - this.queueFullCellsEvaluation(true); - return; - } else if (!cmd && shift && !alt && key === "Enter") { - cancelEvent(event); - if (isEvaluable(this.focusedCellType())) { - this.queueFocusedCellEvaluation(); + // Universal shortcuts (ignore editable elements in cell output) + if ( + !( + isEditableElement(event.target) && + event.target.closest(`[data-el-outputs-container]`) + ) + ) { + if (cmd && shift && !alt && key === "Enter") { + cancelEvent(event); + this.queueFullCellsEvaluation(true); + return; + } else if (!cmd && shift && !alt && key === "Enter") { + cancelEvent(event); + if (isEvaluable(this.focusedCellType())) { + this.queueFocusedCellEvaluation(); + } + this.moveFocus(1); + return; + } else if (cmd && !alt && key === "Enter") { + cancelEvent(event); + if (isEvaluable(this.focusedCellType())) { + this.queueFocusedCellEvaluation(); + } + return; + } else if (cmd && key === "s") { + cancelEvent(event); + this.saveNotebook(); + return; } - this.moveFocus(1); - return; - } else if (cmd && !alt && key === "Enter") { - cancelEvent(event); - if (isEvaluable(this.focusedCellType())) { - this.queueFocusedCellEvaluation(); - } - return; - } else if (cmd && key === "s") { - cancelEvent(event); - this.saveNotebook(); - return; } if (this.insertMode) {