document.addEventListener('DOMContentLoaded', function () { // Chart for submissions per survey fetch('api.php?action=submissions_per_survey') .then(response => response.json()) .then(data => { const ctx = document.getElementById('submissions-chart').getContext('2d'); new Chart(ctx, { type: 'bar', data: { labels: data.labels, datasets: [{ label: '# of Submissions', data: data.values, backgroundColor: 'rgba(75, 192, 192, 0.2)', borderColor: 'rgba(75, 192, 192, 1)', borderWidth: 1 }] }, options: { scales: { y: { beginAtZero: true } } } }); }); // Charts for each survey's questions fetch('api.php?action=survey_question_analytics') .then(response => response.json()) .then(surveys => { const container = document.getElementById('survey-charts-container'); surveys.forEach(survey => { const surveyRow = document.createElement('div'); surveyRow.className = 'row'; const surveyTitle = document.createElement('h2'); surveyTitle.innerText = `Survey: ${survey.title}`; container.appendChild(surveyTitle); container.appendChild(surveyRow); survey.questions.forEach(question => { if (question.type === 'rating' || question.type === 'multiple-choice') { const col = document.createElement('div'); col.className = 'col-md-6'; const card = document.createElement('div'); card.className = 'card mb-4'; const cardHeader = document.createElement('div'); cardHeader.className = 'card-header'; cardHeader.innerHTML = `