38 lines
1.4 KiB
JavaScript
38 lines
1.4 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function() {
|
|
// Auto-dismiss alerts after 5 seconds
|
|
const alerts = document.querySelectorAll('.alert-dismissible');
|
|
alerts.forEach(alert => {
|
|
setTimeout(() => {
|
|
const bsAlert = new bootstrap.Alert(alert);
|
|
bsAlert.close();
|
|
}, 5000);
|
|
});
|
|
|
|
// Simple search filter for members table
|
|
const searchInput = document.querySelector('input[placeholder="Search members..."]');
|
|
if (searchInput) {
|
|
searchInput.addEventListener('input', function() {
|
|
const query = this.value.toLowerCase();
|
|
const rows = document.querySelectorAll('tbody tr');
|
|
|
|
rows.forEach(row => {
|
|
const text = row.textContent.toLowerCase();
|
|
if (text.includes(query)) {
|
|
row.style.display = '';
|
|
} else {
|
|
row.style.display = 'none';
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
// Confirmation for delete actions
|
|
const deleteButtons = document.querySelectorAll('.bi-trash');
|
|
deleteButtons.forEach(btn => {
|
|
btn.closest('button').addEventListener('click', function(e) {
|
|
if (!confirm('Are you sure you want to delete this record? This action cannot be undone.')) {
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
});
|
|
}); |