Turbo/hotwire turbo:after-stream-render.
based on https://nts.strzibny.name/rails-turbo-after-stream-render/
Turbo comes with turbo:before-stream-render but unfortunately doesn’t ship with the equivalent turbo:after-stream-render.
reference: https://turbo.hotwired.dev/reference/events
solution:
// application.js
const afterRenderEvent = new Event("turbo:after-stream-render");
addEventListener("turbo:before-stream-render", (event) => {
const originalRender = event.detail.render
event.detail.render = function (streamElement) {
originalRender(streamElement)
document.dispatchEvent(afterRenderEvent);
}
})