mysterious-toddler-20573
03/14/2023, 1:21 AMgentle-salesclerk-37089
03/14/2023, 2:20 AMgentle-salesclerk-37089
03/14/2023, 2:21 AMgentle-salesclerk-37089
03/14/2023, 2:21 AMgentle-salesclerk-37089
03/14/2023, 2:21 AMmysterious-toddler-20573
03/14/2023, 2:31 AMrefined-manchester-67193
03/14/2023, 8:31 AMtall-dinner-62086
03/14/2023, 3:27 PMacceptable-father-23552
03/14/2023, 3:28 PMacceptable-father-23552
03/14/2023, 3:29 PMtall-dinner-62086
03/14/2023, 3:30 PMacceptable-father-23552
03/14/2023, 3:33 PMtall-dinner-62086
03/14/2023, 3:35 PMacceptable-father-23552
03/14/2023, 3:41 PMacceptable-father-23552
03/14/2023, 3:46 PMacceptable-father-23552
03/14/2023, 3:46 PMacceptable-father-23552
03/14/2023, 3:48 PMacceptable-father-23552
03/14/2023, 3:49 PMacceptable-father-23552
03/14/2023, 3:52 PMlimited-teacher-83117
03/14/2023, 4:25 PMjs
document.addEventListener('DOMContentLoaded', function () {
document.body.addEventListener('htmx:beforeSwap', function (evt) {
const status = evt.detail.xhr.status
if (status === 400 || status === 500) {
// Stops the error from logging in the console
evt.detail.isError = false
// Create an error dialog box
const errorDialog = document.createElement('div')
errorDialog.classList.add('error-message')
errorDialog.innerText = evt.detail.serverResponse
errorDialog.setAttribute('onclick', 'this.remove()')
// Get the nav and place the element after it
const nav = document.querySelector('.site-nav')
nav.insertAdjacentElement('afterend', errorDialog)
errorDialog.scrollIntoView()
}
})
})
I think I adapted this from the documentation somewhere. There's some room for improvement (what if it errors twice?) but it's one basic way to hook inrefined-manchester-67193
03/14/2023, 4:55 PMrefined-manchester-67193
03/14/2023, 5:07 PMrefreshOnHistoryMiss=true
here?
EDIT: Never mind, tried that, didn't workrefined-manchester-67193
03/14/2023, 5:21 PMmysterious-toddler-20573
03/14/2023, 5:24 PMVary
issue described here: https://htmx.org/docs/#cachingbulky-kilobyte-96254
03/14/2023, 5:27 PMrefined-manchester-67193
03/14/2023, 5:31 PMdocument.addEventListener("DOMContentLoaded", function (event) {
htmx.config.historyCacheSize = 0;
}
Apparently this sometimes might not run "...because the DOMContentLoaded event was already fired at this point." (source: https://stackoverflow.com/a/39993724/5013234)bulky-kilobyte-96254
03/14/2023, 5:33 PMHX-Refresh
and HX-Redirect
seems to work, but only if the status code is >=400eager-plumber-49649
03/14/2023, 5:48 PMkeyup changed
does not work when used with a css selector like keyup changed from:#something
or keyup from:#something changed
(not sure which would actually by correct).
It works when used like keyup from:#something
though, that's strange.
Another event that could be documented as alternative to keyup changed
is input
. 🙂 It fires when input changed. It also works when used like input from:#something