Index: lams_tool_assessment/web/includes/javascript/chart.js =================================================================== diff -u -r8a1b8b9cba5668f9c9b47a716093214aeec87f30 -r62f565df2936fcc7978cb55d3e6b3f9f5a9621a5 --- lams_tool_assessment/web/includes/javascript/chart.js (.../chart.js) (revision 8a1b8b9cba5668f9c9b47a716093214aeec87f30) +++ lams_tool_assessment/web/includes/javascript/chart.js (.../chart.js) (revision 62f565df2936fcc7978cb55d3e6b3f9f5a9621a5) @@ -1,26 +1,11 @@ -function drawCompletionCharts(toolContentId, useGroups,animate) { - $.ajax({ - 'url' : WEB_APP_URL + 'monitoring/getCompletionChartsData.do', - 'data': { - 'toolContentId' : toolContentId - }, - 'dataType' : 'json', - 'success' : function(data) { - // draw charts for the first time - drawActivityCompletionChart(data, animate); - drawAnsweredQuestionsChart(data, useGroups, animate); - } - }); +function drawCompletionCharts(toolContentId, useGroups, animate) { - if (activityCompletionChart == null && answeredQuestionsChart == null && COMPLETION_CHART_UPDATE_INTERVAL > 0) { - if (typeof completionChartInterval != 'undefined' && completionChartInterval) { - window.clearInterval(completionChartInterval); - } - - // set up update interval for the charts - completionChartInterval = window.setInterval(function(){ - drawCompletionCharts(toolContentId, useGroups,animate); - }, COMPLETION_CHART_UPDATE_INTERVAL); + const source = new EventSource( WEB_APP_URL + 'monitoring/getCompletionChartsDataFlux.do?toolContentId=' + toolContentId); + + source.onmessage = function (event) { + var data = JSON.parse(event.data); + drawActivityCompletionChart(data, animate); + drawAnsweredQuestionsChart(data, useGroups, animate); } }