diff --git a/app/assets/javascripts/discourse/app/controllers/insert-hyperlink.js b/app/assets/javascripts/discourse/app/controllers/insert-hyperlink.js index 73aad0c7892..dab1a788b57 100644 --- a/app/assets/javascripts/discourse/app/controllers/insert-hyperlink.js +++ b/app/assets/javascripts/discourse/app/controllers/insert-hyperlink.js @@ -58,6 +58,7 @@ export default Controller.extend(ModalFunctionality, { event.stopPropagation(); } else { this.send("closeModal"); + document.querySelector(".d-editor-input")?.focus(); } break; } diff --git a/app/assets/javascripts/discourse/tests/acceptance/composer-hyperlink-test.js b/app/assets/javascripts/discourse/tests/acceptance/composer-hyperlink-test.js index 274a262020c..852e548dae1 100644 --- a/app/assets/javascripts/discourse/tests/acceptance/composer-hyperlink-test.js +++ b/app/assets/javascripts/discourse/tests/acceptance/composer-hyperlink-test.js @@ -98,5 +98,13 @@ acceptance("Composer - Hyperlink", function (needs) { query(".link-url").value.includes("http"), "replaces link url field with internal link" ); + + await triggerKeyEvent(".insert-link", "keydown", "Escape"); + + assert.strictEqual( + document.activeElement.classList.contains("d-editor-input"), + true, + "focus stays on composer after dismissing modal using Esc key" + ); }); });