Court Order Compliance Tracker

Court Order Compliance Tracker

Disclaimer: This tool is for informational and tracking purposes only and does not constitute legal advice. Always consult with a legal professional regarding court order compliance.

Completed

${inProgress + notStarted}

Pending

${overdue}

Overdue

Compliance Task Details

`; if (tasks.length === 0) { reportHTML += '

No compliance tasks were added.

'; } else { tasks.forEach(task => { const isTaskOverdue = task.status !== 'Completed' && new Date(task.due) < today; const statusClass = isTaskOverdue ? statusColors['Overdue'] : statusColors[task.status]; const formattedDueDate = task.due ? new Date(task.due).toLocaleDateString() : 'N/A'; reportHTML += `

${task.desc}

${isTaskOverdue ? 'Overdue' : task.status}

Due: ${formattedDueDate}

Notes:

${task.notes}

`; }); } reportHTML += `
`; reportWrapper.innerHTML = reportHTML; downloadSection.classList.remove('hidden'); } function downloadPDF() { const { jsPDF } = window.jspdf; const contentToCapture = document.getElementById('pdf-content'); if (!contentToCapture) return; html2canvas(contentToCapture, { scale: 2 }).then(canvas => { const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const margin = 40; const contentWidth = pdfWidth - (margin * 2); const contentHeight = (canvas.height * contentWidth) / canvas.width; pdf.addImage(imgData, 'PNG', margin, margin, contentWidth, contentHeight); pdf.save('Court-Order-Compliance-Report.pdf'); }); } // --- Event Listeners --- tabs.forEach((tab, index) => tab.addEventListener('click', () => switchTab(index))); nextBtn.addEventListener('click', () => { if (currentTab < tabs.length - 1) switchTab(currentTab + 1); }); prevBtn.addEventListener('click', () => { if (currentTab > 0) switchTab(currentTab - 1); }); addTaskBtn.addEventListener('click', addTaskRow); document.getElementById('download-pdf-btn').addEventListener('click', downloadPDF); // --- Initial Setup --- updateNavButtons(); addTaskRow(); // Start with one empty task row });
Scroll to Top