mirror of
https://github.com/we-promise/sure.git
synced 2026-04-07 14:31:25 +00:00
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:
@@ -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 }
|
||||
|
||||
Reference in New Issue
Block a user