ldc-supportweb/resources/ts/bo/base/common.ts
2025-06-19 11:46:01 +02:00

50 lines
1.7 KiB
TypeScript

import type { SweetAlertResult } from "sweetalert2";
import sweetalert from "../../modules/sweetalertConfirm";
window.addEventListener("DOMContentLoaded", () => {
/**
* Popup delete item.
*/
const elements = document.getElementsByClassName("confirmDeleteTS") as HTMLCollectionOf<Element>;
for (const element of elements) {
element.addEventListener("submit", function (e) {
e.preventDefault();
const el = e.target;
if (!el || !(el instanceof HTMLFormElement)) {
throw new Error(
"confirmDoneJS can only be executed on an exising form"
);
}
const event = e as SubmitEvent;
let submitter: HTMLButtonElement | null = null;
if (event.submitter) {
submitter = event.submitter as HTMLButtonElement;
} else {
submitter = document.activeElement as HTMLButtonElement;
}
const tickets_number = submitter?.dataset.tickets ?? "0";
const invoices_number = submitter?.dataset.invoices ?? "0";
const message = `Toutes les données vont être perdues.
<br>Tickets concernés : ${tickets_number}
Devis concernées : ${invoices_number}`;
sweetalert.methods.confirm(
"Êtes-vous sûr ?",
message,
el as HTMLFormElement,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
function (response: SweetAlertResult<any>) {
(el as HTMLFormElement).submit();
},
{ icon: "warning" },
true
);
return false;
});
}
});