foundation-rails
foundation-rails copied to clipboard
is-reveal-open and turbolinks
- place a link in your reveal modal to another part of your app enabled with turbolinks
- click the link
- sometimes the screen is frozen
- inspect the html document and the
is-reveal-open
class is present - remove the class and all returns to normal
Perhaps there is a way to prevent this behaviour without a custom workaround.
Same issue here. Destroying or closing the dialog in one of the turbolinks events before navigating away doesn't seem to remove the is-reveal-open
class.
My current hack to deal with this is to just manually remove the class:
$(document).on('turbolinks:before-render', function() {
$('html').removeClass('is-reveal-open')
})
Well, I had some other issues with the modal not closing properly and now I've settled on the following as a solution that seems to work just fine now:
$(document).on('turbolinks:before-cache', function() {
if (document.documentElement.classList.contains('is-reveal-open')) {
$('#dialog').foundation('close')
}
})
Noticed more issues when using reveal and turbolinks. If you navigate to a page that uses a reveal modal, and then click back and then forward again via the history, multiple reveal divs are created with the same dom id. Even if you close the modal before navigating away, the multiple reveal divs appear.
I have no current solution for this so far.
Any updates on this? It's still an issue using the latest versions for both