Files
territory-assigner/script.js
2025-12-06 18:23:43 +01:00

63 lines
1.7 KiB
JavaScript

/**
* JavaScript Territory Manager
*/
// Conferma prima di eliminare
document.querySelectorAll('form[onsubmit*="confirm"]').forEach(form => {
form.addEventListener('submit', function(e) {
if (!confirm('Sei sicuro di voler procedere?')) {
e.preventDefault();
}
});
});
// Auto-hide flash messages dopo 5 secondi
document.addEventListener('DOMContentLoaded', function() {
const alerts = document.querySelectorAll('.alert');
alerts.forEach(alert => {
setTimeout(() => {
alert.style.transition = 'opacity 0.5s';
alert.style.opacity = '0';
setTimeout(() => alert.remove(), 500);
}, 5000);
});
});
// Copia link negli appunti
function copyLink() {
const linkInput = document.getElementById('share_link');
if (linkInput) {
linkInput.select();
linkInput.setSelectionRange(0, 99999); // Per mobile
try {
document.execCommand('copy');
alert('Link copiato negli appunti!');
} catch (err) {
console.error('Errore nella copia:', err);
}
}
}
// Validazione form
document.querySelectorAll('form').forEach(form => {
form.addEventListener('submit', function(e) {
const requiredFields = form.querySelectorAll('[required]');
let isValid = true;
requiredFields.forEach(field => {
if (!field.value.trim()) {
isValid = false;
field.style.borderColor = 'var(--danger)';
} else {
field.style.borderColor = 'var(--border)';
}
});
if (!isValid) {
e.preventDefault();
alert('Compila tutti i campi obbligatori');
}
});
});