Story Point Dashboard

Story Point Dashboard

Project Summary

Total Stories

0

Total Story Points

0

Completed Story Points

0

Remaining Story Points

0

Completion Progress

0%

Story Status Distribution

Detailed Story List

ID Story Name Story Points Status Assigned To

${totalStoriesElem.textContent}

Total Story Points

${totalStoryPointsElem.textContent}

Completed Story Points

${completedStoryPointsElem.textContent}

Remaining Story Points

${remainingPointsElem.textContent}

`; pdfContentWrapper.appendChild(summarySection); // Add completion progress bar const completionProgressSection = document.createElement('div'); completionProgressSection.innerHTML = `

Completion Progress

${completionProgressBar.textContent}
`; pdfContentWrapper.appendChild(completionProgressSection); // Add status distribution const statusDistributionSection = document.createElement('div'); statusDistributionSection.innerHTML = `

Story Status Distribution

${statusDistributionElem.innerHTML}
`; pdfContentWrapper.appendChild(statusDistributionSection); // Add detailed story list table const storyListSection = document.createElement('div'); storyListSection.innerHTML = `

Detailed Story List

${dashboardStoryTableBody.innerHTML}
ID Story Name Story Points Status Assigned To
`; pdfContentWrapper.appendChild(storyListSection); // Options for html2pdf const options = { margin: 10, filename: 'Story_Point_Dashboard.pdf', image: { type: 'jpeg', quality: 0.98 }, html2canvas: { scale: 2, logging: true, dpi: 192, letterRendering: true }, jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }, pagebreak: { mode: ['avoid-all', 'css', 'legacy'] } }; // Generate PDF from the temporary content wrapper html2pdf().from(pdfContentWrapper).set(options).save(); // Clean up the temporary div (optional, as it's not appended to the DOM) pdfContentWrapper.remove(); } /** * Loads initial sample data for the dashboard. * Relevant to USA context. */ function loadSampleData() { stories = [ { id: 'story_001', storyName: 'Implement User Authentication', storyPoints: 8, status: 'Done', assignedTo: 'Alice Johnson' }, { id: 'story_002', storyName: 'Design Database Schema', storyPoints: 5, status: 'In Progress', assignedTo: 'Bob Williams' }, { id: 'story_003', storyName: 'Develop Product Catalog Page', storyPoints: 13, status: 'To Do', assignedTo: 'Charlie Brown' }, { id: 'story_004', storyName: 'Set up Payment Gateway Integration', storyPoints: 8, status: 'Blocked', assignedTo: 'Alice Johnson' }, { id: 'story_005', storyName: 'Create Admin Dashboard', storyPoints: 21, status: 'In Progress', assignedTo: 'Bob Williams' }, { id: 'story_006', storyName: 'Optimize Image Loading', storyPoints: 3, status: 'Done', assignedTo: 'Charlie Brown' }, { id: 'story_007', storyName: 'User Profile Management', storyPoints: 5, status: 'To Do', assignedTo: 'Alice Johnson' } ]; }
Scroll to Top