Reload frames with morphing to pervent blink when re-rendering columns

This commit is contained in:
Jorge Manrubia
2025-09-26 16:38:04 +02:00
parent 5c52b6b056
commit f5c7d3d35b
6 changed files with 31 additions and 12 deletions
@@ -0,0 +1,18 @@
import { Controller } from "@hotwired/stimulus"
import { Turbo } from "@hotwired/turbo-rails"
export default class extends Controller {
morphRender({ detail }) {
detail.render = function (currentElement, newElement) {
Turbo.morphChildren(currentElement, newElement)
}
}
morphReload(event) {
const newElement = event.detail.newElement
if (newElement && newElement.tagName === "TURBO-FRAME") {
event.preventDefault()
this.element.reload()
}
}
}