Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java =================================================================== diff -u -r7dd66b6ceff2f45df32f0cca72018901f6c92133 -r7995d20f4e604098bb81ddf134697767dd2412a4 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java (.../MonitoringController.java) (revision 7dd66b6ceff2f45df32f0cca72018901f6c92133) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java (.../MonitoringController.java) (revision 7995d20f4e604098bb81ddf134697767dd2412a4) @@ -975,17 +975,17 @@ boolean useNewUI = WebUtil.readBooleanParam(request, "newUI", true); return "monitor" + (useNewUI ? "5" : ""); } - + @RequestMapping("/displaySequenceTab") public String displaySequenceTab() { return "monitor-sequence-tab"; } - + @RequestMapping("/displayLearnersTab") public String displayLearnersTab() { return "monitor-learners-tab"; } - + @RequestMapping("/displayGradebookTab") public String displayGradebookTab() { return "monitor-gradebook-tab"; @@ -1096,20 +1096,23 @@ Integer notCompletedLearnersCount = possibleLearnersCount - completedLearnersCount - startedLearnersCount; ObjectNode responseJSON = JsonNodeFactory.instance.objectNode(); - ObjectNode notStartedJSON = JsonNodeFactory.instance.objectNode(); - notStartedJSON.put("name", messageService.getMessage("lesson.chart.not.completed")); - notStartedJSON.put("value", Math.round(notCompletedLearnersCount.doubleValue() / possibleLearnersCount * 100)); - responseJSON.withArray("data").add(notStartedJSON); - ObjectNode startedJSON = JsonNodeFactory.instance.objectNode(); startedJSON.put("name", messageService.getMessage("lesson.chart.started")); startedJSON.put("value", Math.round((startedLearnersCount.doubleValue()) / possibleLearnersCount * 100)); + startedJSON.put("raw", startedLearnersCount); responseJSON.withArray("data").add(startedJSON); ObjectNode completedJSON = JsonNodeFactory.instance.objectNode(); completedJSON.put("name", messageService.getMessage("lesson.chart.completed")); completedJSON.put("value", Math.round(completedLearnersCount.doubleValue() / possibleLearnersCount * 100)); + completedJSON.put("raw", completedLearnersCount); responseJSON.withArray("data").add(completedJSON); + + ObjectNode notStartedJSON = JsonNodeFactory.instance.objectNode(); + notStartedJSON.put("name", messageService.getMessage("lesson.chart.not.completed")); + notStartedJSON.put("value", Math.round(notCompletedLearnersCount.doubleValue() / possibleLearnersCount * 100)); + notStartedJSON.put("raw", notCompletedLearnersCount); + responseJSON.withArray("data").add(notStartedJSON); response.setContentType("application/json;charset=utf-8"); return responseJSON.toString(); Index: lams_monitoring/web/includes/javascript/monitorLesson5.js =================================================================== diff -u -r732a4ae6cac3f936d7bee690671dc0a8c0200f8a -r7995d20f4e604098bb81ddf134697767dd2412a4 --- lams_monitoring/web/includes/javascript/monitorLesson5.js (.../monitorLesson5.js) (revision 732a4ae6cac3f936d7bee690671dc0a8c0200f8a) +++ lams_monitoring/web/includes/javascript/monitorLesson5.js (.../monitorLesson5.js) (revision 7995d20f4e604098bb81ddf134697767dd2412a4) @@ -545,8 +545,6 @@ $('#lesson-instructions').html(response.lessonInstructions); } }); - - drawLessonCompletionChart(); /* drawChart('pie', 'chartDiv', @@ -572,12 +570,14 @@ let ctx = document.getElementById('completion-chart').getContext('2d'), - data = [], - labels = []; + percent = [], + labels = [], + raw = []; $(response.data).each(function(){ labels.push(this.name); - data.push(this.value); + percent.push(this.value); + raw.push(this.raw); }); new Chart(ctx, { @@ -591,23 +591,27 @@ } }, datasets : [ { - data : data, - backgroundColor : [ 'rgba(5, 204, 214, 1)', - 'rgba(255, 195, 55, 1)', + data : percent, + backgroundColor : [ 'rgba(255, 195, 55, 1)', 'rgba(253, 60, 165, 1)', + 'rgba(5, 204, 214, 1)' ], borderWidth : 0 } ], labels : labels }, options : { - responsive: true, - layout : { - padding : { - top: 0, - bottom: 0, - right: 0, - left: 0 + tooltips : { + enabled : true, + callbacks: { + label : function(tooltipItem, data) { + var index = tooltipItem.index, + label = labels[index], + value = percent[index], + rawValue = raw[index]; + + return label + ": " + rawValue + " (" + value + "%)"; + } } }, legend : { @@ -620,10 +624,11 @@ return data.labels.map(function(label, i) { var meta = chart.getDatasetMeta(0), style = meta.controller.getStyle(i), - value = data.datasets[0].data[i]; + value = data.datasets[0].data[i], + rawValue = raw[i]; return { - text: label + ": " + value, + text: label + ": " + rawValue + " (" + value + "%)", fillStyle: style.backgroundColor, strokeStyle: style.borderColor, lineWidth: style.borderWidth, @@ -1350,6 +1355,8 @@ } sequenceRefreshInProgress = true; + drawLessonCompletionChart(); + sequenceCanvas = $('#sequenceCanvas'); sequenceCanvas.css('visibility', 'hidden'); @@ -1456,7 +1463,7 @@ } var learnerTotalCount = learnerCount + response.completedLearnerCount; - $('#learnersStartedPossibleCell').html(''+learnerTotalCount + ' / ' + response.numberPossibleLearners+''); + // $('#learnersStartedPossibleCell').html(''+learnerTotalCount + ' / ' + response.numberPossibleLearners+''); addCompletedLearnerIcons(response.completedLearners, response.completedLearnerCount, learnerTotalCount); $.each(response.activities, function(activityIndex, activity){ Index: lams_monitoring/web/monitor5.jsp =================================================================== diff -u -rcf1e40771398e8396287472da80d1a833b138879 -r7995d20f4e604098bb81ddf134697767dd2412a4 --- lams_monitoring/web/monitor5.jsp (.../monitor5.jsp) (revision cf1e40771398e8396287472da80d1a833b138879) +++ lams_monitoring/web/monitor5.jsp (.../monitor5.jsp) (revision 7995d20f4e604098bb81ddf134697767dd2412a4) @@ -306,9 +306,11 @@ + +