Digital Rights Protection Compliance Monitor

Digital Rights Protection Compliance Monitor

Assess and monitor your compliance with key digital rights regulations.

Identify Your Digital Properties

List the primary digital assets your business owns or operates.

${asset.url || 'No identifier provided'}

${asset.complianceItems.map(item => `

${item.name}

${item.status}

${item.recommendation}

`).join('')}
`).join(''); } // --- PDF DOWNLOAD FUNCTION --- function renderPdfContent(data) { const statusClassMap = { 'Compliant': 'pdf-status-compliant', 'Needs Review': 'pdf-status-review', 'Action Required': 'pdf-status-action', }; return data.map(asset => `

${asset.name}

${asset.complianceItems.map(item => `
${item.name} ${item.status}
Recommendation: ${item.recommendation}
`).join('')}
`).join(''); } async function downloadPDF() { downloadPdfButton.disabled = true; pdfLoadingMessage.classList.remove('hidden'); const data = getDashboardData(); const pdfContainer = document.getElementById('pdf-clone-container'); const pdfTitle = document.createElement('h2'); pdfTitle.id = 'pdf-title-clone'; pdfTitle.textContent = 'Digital Rights Compliance Dashboard'; const pdfContent = document.createElement('div'); pdfContent.id = 'pdf-content-wrapper'; pdfContent.innerHTML = renderPdfContent(data); pdfContainer.innerHTML = ''; pdfContainer.appendChild(pdfTitle); pdfContainer.appendChild(pdfContent); pdfContainer.style.display = 'block'; try { const canvas = await html2canvas(pdfContainer, { scale: 2, useCORS: true }); const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'p', unit: 'px', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = (canvas.height * pdfWidth) / canvas.width; pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight); pdf.save('Digital-Rights-Compliance-Dashboard.pdf'); } catch (error) { console.error("Error generating PDF:", error); alert("An error occurred while generating the PDF."); } finally { downloadPdfButton.disabled = false; pdfLoadingMessage.classList.add('hidden'); pdfContainer.style.display = 'none'; } } // --- EVENT LISTENER ATTACHMENT --- prevButton.addEventListener('click', () => navigateTabs(-1)); nextButton.addEventListener('click', () => navigateTabs(1)); downloadPdfButton.addEventListener('click', downloadPDF); tabButtons.forEach(button => { button.addEventListener('click', () => { showTab(parseInt(button.dataset.tab, 10)); }); }); // --- INITIALIZATION --- showTab(1); });
Scroll to Top