Add Custom Turbo Confirm Modal (#580)

* Add turbo confirm dialog

* Add default fallback check

* Fix locale typo and swap element type

* Replaced locale folder and removed static strings from Turbo.setConfirmMethod

* Normalize shared/en.yml
This commit is contained in:
Cristiano Crolla
2024-03-29 17:33:49 +00:00
committed by GitHub
parent b1bfdef8ff
commit 7fa77b4fd7
5 changed files with 63 additions and 1 deletions

View File

@@ -6,4 +6,34 @@ const application = Application.start()
application.debug = false
window.Stimulus = application
Turbo.setConfirmMethod((message) => {
const dialog = document.getElementById("turbo-confirm");
try {
const { title, body, accept } = JSON.parse(message);
if (title) {
document.getElementById("turbo-confirm-title").innerHTML = title;
}
if (body) {
document.getElementById("turbo-confirm-body").innerHTML = body;
}
if (accept) {
document.getElementById("turbo-confirm-accept").innerHTML = accept;
}
} catch (e) {
document.getElementById("turbo-confirm-title").innerText = message;
}
dialog.showModal();
return new Promise((resolve) => {
dialog.addEventListener("close", () => {
resolve(dialog.returnValue == "confirm")
}, { once: true })
})
})
export { application }