49 lines
2.0 KiB
JavaScript
49 lines
2.0 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function () {
|
|
// Confirmation data-confirm sur les formulaires (evite confirm() inline bloqué par CSP)
|
|
document.querySelectorAll('form[data-confirm]').forEach(function (form) {
|
|
form.addEventListener('submit', function (e) {
|
|
var msg = form.getAttribute('data-confirm') || 'Confirmer ?';
|
|
if (!window.confirm(msg)) {
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
});
|
|
|
|
// Sélection globale articles
|
|
var checkAll = document.getElementById('check-all');
|
|
if (checkAll) {
|
|
checkAll.addEventListener('change', function () {
|
|
document.querySelectorAll('.bulk-check').forEach(function (cb) {
|
|
cb.checked = checkAll.checked;
|
|
});
|
|
});
|
|
}
|
|
|
|
// Indicateurs de traitement formulaire SMTP (config + tester connexion)
|
|
var smtpForm = document.getElementById('smtp-config-form');
|
|
if (smtpForm) {
|
|
smtpForm.addEventListener('submit', function (e) {
|
|
var clicked = e.submitter;
|
|
if (!clicked) return;
|
|
smtpForm.querySelectorAll('button[type="submit"]').forEach(function (btn) {
|
|
btn.disabled = true;
|
|
});
|
|
var isSave = clicked.id === 'smtp-save-btn';
|
|
clicked.innerHTML = '<span class="spinner-border spinner-border-sm me-1" role="status" aria-hidden="true"></span>'
|
|
+ (isSave ? 'Enregistrement…' : 'En cours…');
|
|
});
|
|
}
|
|
|
|
// Indicateur de traitement envoi email de test
|
|
var smtpTestForm = document.getElementById('smtp-test-form');
|
|
if (smtpTestForm) {
|
|
smtpTestForm.addEventListener('submit', function () {
|
|
var btn = document.getElementById('smtp-send-btn');
|
|
if (btn) {
|
|
btn.disabled = true;
|
|
btn.innerHTML = '<span class="spinner-border spinner-border-sm me-1" role="status" aria-hidden="true"></span>En cours…';
|
|
}
|
|
});
|
|
}
|
|
});
|