63 lines
1.7 KiB
JavaScript
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');
|
|
}
|
|
});
|
|
});
|