// Custom JavaScript for the manufacturing app // Confirm before deleting items function confirmDelete(message) { return confirm(message || "Are you sure you want to delete this item?"); } // Toggle visibility of elements function toggleVisibility(elementId) { const element = document.getElementById(elementId); if (element) { element.style.display = element.style.display === 'none' ? 'block' : 'none'; } } // Initialize tooltips document.addEventListener('DOMContentLoaded', function() { // Initialize Bootstrap tooltips var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl); }); // Initialize Bootstrap popovers var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); var popoverList = popoverTriggerList.map(function (popoverTriggerEl) { return new bootstrap.Popover(popoverTriggerEl); }); // Add confirmation to delete buttons var deleteButtons = document.querySelectorAll('.delete-button'); deleteButtons.forEach(function(button) { button.addEventListener('click', function(e) { if (!confirmDelete("Are you sure you want to delete this item?")) { e.preventDefault(); } }); }); }); // Print functionality function printPage() { window.print(); } // Format currency function formatCurrency(amount) { return new Intl.NumberFormat('id-ID', { style: 'currency', currency: 'IDR' }).format(amount); } // Format number function formatNumber(number) { return new Intl.NumberFormat('id-ID').format(number); } // Toggle sidebar on mobile function toggleSidebar() { const sidebar = document.getElementById('sidebarMenu'); if (sidebar) { sidebar.classList.toggle('show'); } } // Auto-hide alerts after 5 seconds document.addEventListener('DOMContentLoaded', function() { const alerts = document.querySelectorAll('.alert'); alerts.forEach(function(alert) { setTimeout(function() { alert.classList.remove('show'); alert.classList.add('hide'); }, 5000); }); });