Biosafety Dashboard
Training Compliance
0%
Equipment Alerts
0
Recent Incidents
0
Critical Equipment Status
Incident Log (Last 90 Days)
Log Personnel Training
Update Equipment Status
No incidents logged.
'; }; pBioApp.openTab = function(tabName) { this.currentTab = tabName; document.querySelectorAll('.p-bio-tab-content').forEach(c => c.classList.remove('active')); document.querySelectorAll('.p-bio-tab-button').forEach(b => b.classList.remove('active')); document.getElementById(`p-bio-${tabName}`).classList.add('active'); document.querySelector(`.p-bio-tab-button[data-tab='${tabName}']`).classList.add('active'); this.updateNavButtons(); }; pBioApp.navigateTabs = function(direction) { const tabs = ['Dashboard', 'Config']; const nextIndex = tabs.indexOf(this.currentTab) + direction; if (nextIndex >= 0 && nextIndex < tabs.length) this.openTab(tabs[nextIndex]); }; pBioApp.updateNavButtons = function() { const prevBtn = document.getElementById('p-bio-prevBtn'); const nextBtn = document.getElementById('p-bio-nextBtn'); prevBtn.style.visibility = (this.currentTab === 'Dashboard') ? 'hidden' : 'visible'; nextBtn.style.visibility = (this.currentTab === 'Config') ? 'hidden' : 'visible'; }; pBioApp.generatePDF = function() { html2pdf().from(document.getElementById('p-bio-tool-content-for-pdf')).set({ margin: 0.5, filename: 'Biosafety_Dashboard.pdf', image: { type: 'jpeg', quality: 0.98 }, html2canvas: { scale: 2, useCORS: true }, jsPDF: { unit: 'in', format: 'letter', orientation: 'landscape' } }).save(); }; pBioApp.init(); });