2024-10-14 23:09:27 +02:00
|
|
|
import { Application } from "@hotwired/stimulus";
|
2024-02-02 09:05:04 -06:00
|
|
|
|
2024-10-14 23:09:27 +02:00
|
|
|
const application = Application.start();
|
2024-02-02 09:05:04 -06:00
|
|
|
|
|
|
|
// Configure Stimulus development experience
|
2024-10-14 23:09:27 +02:00
|
|
|
application.debug = false;
|
|
|
|
window.Stimulus = application;
|
2024-02-02 09:05:04 -06:00
|
|
|
|
2024-03-29 17:33:49 +00:00
|
|
|
Turbo.setConfirmMethod((message) => {
|
|
|
|
const dialog = document.getElementById("turbo-confirm");
|
|
|
|
|
|
|
|
try {
|
2024-04-30 16:40:31 +01:00
|
|
|
const { title, body, accept, acceptClass } = JSON.parse(message);
|
2024-03-29 17:33:49 +00:00
|
|
|
|
|
|
|
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;
|
|
|
|
}
|
2024-04-30 16:40:31 +01:00
|
|
|
|
|
|
|
if (acceptClass) {
|
|
|
|
document.getElementById("turbo-confirm-accept").className = acceptClass;
|
|
|
|
}
|
2024-03-29 17:33:49 +00:00
|
|
|
} catch (e) {
|
|
|
|
document.getElementById("turbo-confirm-title").innerText = message;
|
|
|
|
}
|
|
|
|
|
|
|
|
dialog.showModal();
|
|
|
|
|
|
|
|
return new Promise((resolve) => {
|
2024-10-14 23:09:27 +02:00
|
|
|
dialog.addEventListener(
|
|
|
|
"close",
|
|
|
|
() => {
|
|
|
|
resolve(dialog.returnValue === "confirm");
|
|
|
|
},
|
|
|
|
{ once: true },
|
|
|
|
);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
export { application };
|