Timeline Generator

Add New Event

Event Manager

Project Milestones

Chronological view of 0 events.

Project Metadata

Project Milestones

Prepared by on

Timeline Visualization

Event Data Table

Date Title Description

No events defined.

'; return; } sortedEvents.forEach(event => { // Manager List View const div = document.createElement('div'); div.className = 'event-list-item'; div.innerHTML = `
${event.title} (${formatDate(event.date)})
`; container.appendChild(div); // PDF Data Table Row Copy const tr = document.createElement('tr'); tr.innerHTML = ` ${formatDate(event.date)} ${event.title} ${event.description} `; tbody.appendChild(tr); }); } // --- PDF Export --- function generatePDF() { const previewElement = document.getElementById('timeline-vis'); const pdfContainer = document.getElementById('pdf-template'); const pdfVisCopy = document.getElementById('pdf-timeline-copy'); // 1. Prepare PDF Structure const visClone = previewElement.cloneNode(true); visClone.removeAttribute('id'); visClone.style.maxWidth = '600px'; // Ensure it fits the PDF width pdfVisCopy.innerHTML = ''; pdfVisCopy.appendChild(visClone); // 2. Generate PDF pdfContainer.style.display = 'block'; const opt = { margin: 0.5, filename: 'Project_Timeline_Report.pdf', image: { type: 'jpeg', quality: 0.98 }, html2canvas: { scale: 2 }, jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' } }; html2pdf().set(opt).from(pdfContainer).save().then(() => { // Clean up pdfContainer.style.display = 'none'; pdfVisCopy.innerHTML = ''; }); } return { switchTab, updateMeta, addEvent, deleteEvent, generatePDF }; })();
Scroll to Top