23 lines
839 B
JavaScript
23 lines
839 B
JavaScript
{
|
||
const data = document.currentScript.dataset;
|
||
const isDebug = data.debug === "True";
|
||
|
||
if (isDebug) {
|
||
document.addEventListener("htmx:beforeOnLoad", function (event) {
|
||
const xhr = event.detail.xhr;
|
||
if (xhr.status == 500 || xhr.status == 404) {
|
||
// Tell htmx to stop processing this response
|
||
event.stopPropagation();
|
||
|
||
document.children[0].innerHTML = xhr.response;
|
||
|
||
// Run Django’s inline script
|
||
// (1, eval) wtf - see https://stackoverflow.com/questions/9107240/1-evalthis-vs-evalthis-in-javascript
|
||
(1, eval)(document.scripts[0].innerText);
|
||
// Need to directly call Django’s onload function since browser won’t
|
||
window.onload();
|
||
}
|
||
});
|
||
}
|
||
}
|