diff --git a/src/core/drive/morph_renderer.js b/src/core/drive/morph_renderer.js index 70ac6b585..2c5d14874 100644 --- a/src/core/drive/morph_renderer.js +++ b/src/core/drive/morph_renderer.js @@ -29,7 +29,6 @@ export class MorphRenderer extends PageRenderer { this.isMorphingTurboFrame = this.#isFrameReloadedWithMorph(currentElement) Idiomorph.morph(currentElement, newElement, { - ignoreActiveValue: true, morphStyle: morphStyle, callbacks: { beforeNodeAdded: this.#shouldAddElement, diff --git a/src/tests/fixtures/page_refresh.html b/src/tests/fixtures/page_refresh.html index 0dad87edb..35cb44354 100644 --- a/src/tests/fixtures/page_refresh.html +++ b/src/tests/fixtures/page_refresh.html @@ -14,6 +14,14 @@ const application = Application.start() + addEventListener("focusin", ({ target }) => { + if (target instanceof HTMLInputElement && !target.hasAttribute("data-turbo-permanent")) { + target.toggleAttribute("data-turbo-permanent", true) + + target.addEventListener("focusout", () => target.toggleAttribute("data-turbo-permanent", false), { once: true }) + } + }) + addEventListener("turbo:morph-element", ({ target }) => { for (const { element, context } of application.controllers) { if (element === target) {