From bc863f20fadc317c897f88a7cd667be4b76f7471 Mon Sep 17 00:00:00 2001 From: Jonatan Heyman Date: Wed, 11 Jun 2025 23:17:39 +0200 Subject: [PATCH] Prevent editor from loosing focus when line number gutter is clicked --- src/editor/block/block.js | 8 +++++++- src/editor/editor.js | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/editor/block/block.js b/src/editor/block/block.js index dd311a7..ce5ed0f 100644 --- a/src/editor/block/block.js +++ b/src/editor/block/block.js @@ -265,7 +265,13 @@ export const blockLineNumbers = lineNumbers({ } } return "" - } + }, + domEventHandlers: { + click(view, line, event) { + // editor should not loose focus when clicking on the line numbers + view.docView.dom.focus() + }, + }, }) diff --git a/src/editor/editor.js b/src/editor/editor.js index f09562d..2d0f4e2 100644 --- a/src/editor/editor.js +++ b/src/editor/editor.js @@ -83,7 +83,7 @@ export class HeynoteEditor { heynoteCopyCut(this), //minimalSetup, - this.lineNumberCompartment.of(showLineNumberGutter ? [lineNumbers(), blockLineNumbers] : []), + this.lineNumberCompartment.of(showLineNumberGutter ? blockLineNumbers : []), customSetup, this.foldGutterCompartment.of(showFoldGutter ? [foldGutter()] : []), this.closeBracketsCompartment.of(bracketClosing ? [getCloseBracketsExtensions()] : []), @@ -369,7 +369,7 @@ export class HeynoteEditor { setLineNumberGutter(show) { this.view.dispatch({ - effects: this.lineNumberCompartment.reconfigure(show ? [lineNumbers(), blockLineNumbers] : []), + effects: this.lineNumberCompartment.reconfigure(show ? blockLineNumbers : []), }) }