Spaces:
Running
Running
function init_sub_page(slug) { | |
console.log(`init_sub_page ${slug}`); | |
document.addEventListener("htmx:configRequest", (event) => { | |
if (!event.detail.path.startsWith(`/${slug}`)) { | |
event.detail.path = `/${slug}${event.detail.path}`; | |
} | |
}); | |
document.addEventListener("htmx:afterRequest", (event) => { | |
let req = event.detail.requestConfig; | |
let detail = { | |
verb: req.verb, | |
path: req.path.slice(slug.length + 1), | |
parameters: Object.fromEntries(req.formData), | |
headers: req.headers, | |
response: event.detail.xhr.response, | |
}; | |
window.parent.document.dispatchEvent( | |
new CustomEvent("SubappAfterRequest", { detail }) | |
); | |
}); | |
} | |
function init_main_page() { | |
console.log("init_main_page"); | |
window.document.addEventListener( | |
"SubappAfterRequest", | |
(e) => { | |
htmx.ajax("PUT", "/requests", { | |
target: "#request-list", | |
values: e.detail, | |
swap: "afterbegin", | |
}); | |
}, | |
false | |
); | |
} | |