Full Log
| Behavior |
Trigger |
Outcome |
`;
data.forEach(item => {
dashboardHTML += `
| ${item.behavior} |
${item.trigger} |
${item.outcome} |
`;
});
dashboardHTML += `
`;
dashboardOutput.innerHTML = dashboardHTML;
}
function downloadPDF() {
const data = getLogData();
if (data.length === 0) {
console.warn("No data to export.");
return;
}
const { jsPDF } = window.jspdf;
const doc = new jsPDF();
const tableData = data.map(item => [item.behavior, item.trigger, item.outcome]);
doc.setFontSize(18);
doc.text('Behavioral Insights Report', 14, 22);
doc.setFontSize(11);
doc.setTextColor(100);
doc.text(`Report as of: ${new Date().toLocaleDateString()}`, 14, 30);
doc.autoTable({
head: [['Behavior', 'Trigger', 'Outcome']],
body: tableData,
startY: 35,
theme: 'grid',
headStyles: { fillColor: [147, 51, 234] }, // Purple-600
});
doc.save('Behavioral-Insights-Report.pdf');
}
// --- Event Listeners ---
addLogBtn.addEventListener('click', addLogForm);
downloadPdfBtn.addEventListener('click', downloadPDF);
// --- Initial Setup ---
updateNavButtons();
generateDashboard();
});