From 8f6635bacfa792a2bc3701bcfb44159f5e571b60 Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Tue, 8 Aug 2023 18:24:03 +0200 Subject: [PATCH] [Editor] Avoid to add a new line when hitting enter with a selected freetext editor --- src/display/editor/freetext.js | 2 ++ test/integration/freetext_editor_spec.js | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/display/editor/freetext.js b/src/display/editor/freetext.js index 5b4081256..0e3fc3a0b 100644 --- a/src/display/editor/freetext.js +++ b/src/display/editor/freetext.js @@ -485,6 +485,8 @@ class FreeTextEditor extends AnnotationEditor { keydown(event) { if (event.target === this.div && event.key === "Enter") { this.enterInEditMode(); + // Avoid to add an unwanted new line. + event.preventDefault(); } } diff --git a/test/integration/freetext_editor_spec.js b/test/integration/freetext_editor_spec.js index 604461b6c..e69c0c364 100644 --- a/test/integration/freetext_editor_spec.js +++ b/test/integration/freetext_editor_spec.js @@ -104,7 +104,20 @@ describe("FreeText Editor", () => { await waitForSelectedEditor(page, getEditorSelector(0)); await waitForStorageEntries(page, 1); - const content = await page.$eval(getEditorSelector(0), el => + let content = await page.$eval(getEditorSelector(0), el => + el.innerText.trimEnd() + ); + expect(content).withContext(`In ${browserName}`).toEqual(data); + + // Edit again. + await page.keyboard.press("Enter"); + await page.waitForTimeout(10); + + // Commit. + await page.keyboard.press("Escape"); + await page.waitForTimeout(10); + + content = await page.$eval(getEditorSelector(0), el => el.innerText.trimEnd() ); expect(content).withContext(`In ${browserName}`).toEqual(data);