Conflicts: cms/djangoapps/contentstore/tests/utils.py cms/djangoapps/contentstore/views/import_export.py cms/djangoapps/contentstore/views/tests/test_import_export.py common/djangoapps/student/views.py lms/djangoapps/class_dashboard/dashboard_data.py lms/djangoapps/instructor/views/instructor_dashboard.py lms/static/js/staff_debug_actions.js lms/templates/notes.html lms/templates/staff_problem_info.html
107 lines
3.5 KiB
JavaScript
107 lines
3.5 KiB
JavaScript
<%page args="id_opened_prefix, id_grade_prefix, id_attempt_prefix, id_tooltip_prefix, course_id, allSubsectionTooltipArr, allProblemTooltipArr, **kwargs"/>
|
|
<%!
|
|
import json
|
|
from django.core.urlresolvers import reverse
|
|
%>
|
|
|
|
$(function () {
|
|
|
|
d3.json("${reverse('all_sequential_open_distrib', kwargs=dict(course_id=course_id.to_deprecated_string()))}", function(error, json) {
|
|
var section, paramOpened, barGraphOpened, error;
|
|
var i, curr_id;
|
|
var errorMessage = gettext('Unable to retrieve data, please try again later.');
|
|
|
|
error = json.error;
|
|
if (error) {
|
|
$('.metrics-left .loading').text(errorMessage);
|
|
return
|
|
}
|
|
|
|
i = 0;
|
|
for (section in json) {
|
|
curr_id = "#${id_opened_prefix}"+i;
|
|
paramOpened = {
|
|
data: json[section].data,
|
|
width: $(curr_id).width(),
|
|
height: $(curr_id).height()-25, // Account for header
|
|
tag: "opened"+i,
|
|
bVerticalXAxisLabel : true,
|
|
bLegend : false,
|
|
margin: {left:0},
|
|
};
|
|
|
|
// Construct array of tooltips for all sections for the "Download Subsection Data" button.
|
|
var sectionTooltipArr = new Array();
|
|
paramOpened.data.forEach( function(element, index, array) {
|
|
sectionTooltipArr[index] = element.stackData[0].tooltip;
|
|
});
|
|
allSubsectionTooltipArr[i] = sectionTooltipArr;
|
|
|
|
barGraphOpened = edx_d3CreateStackedBarGraph(paramOpened, d3.select(curr_id).append("svg"),
|
|
d3.select("#${id_tooltip_prefix}"+i));
|
|
barGraphOpened.scale.stackColor.range(["#555555","#555555"]);
|
|
|
|
if (paramOpened.data.length > 0) {
|
|
barGraphOpened.drawGraph();
|
|
|
|
$('svg').siblings('.loading').remove();
|
|
} else {
|
|
$('svg').siblings('.loading').text(errorMessage);
|
|
}
|
|
|
|
i+=1;
|
|
}
|
|
});
|
|
|
|
d3.json("${reverse('all_problem_grade_distribution', kwargs=dict(course_id=course_id.to_deprecated_string()))}", function(error, json) {
|
|
var section, paramGrade, barGraphGrade, error;
|
|
var i, curr_id;
|
|
var errorMessage = gettext('Unable to retrieve data, please try again later.');
|
|
|
|
error = json.error;
|
|
if (error) {
|
|
$('.metrics-right .loading').text(errorMessage);
|
|
return
|
|
}
|
|
|
|
i = 0;
|
|
for (section in json) {
|
|
curr_id = "#${id_grade_prefix}"+i;
|
|
paramGrade = {
|
|
data: json[section].data,
|
|
width: $(curr_id).width(),
|
|
height: $(curr_id).height()-25, // Account for header
|
|
tag: "grade"+i,
|
|
bVerticalXAxisLabel : true,
|
|
};
|
|
|
|
// Construct array of tooltips for all sections for the "Download Problem Data" button.
|
|
var sectionTooltipArr = new Array();
|
|
paramGrade.data.forEach( function(element, index, array) {
|
|
var stackDataArr = new Array();
|
|
for (var j = 0; j < element.stackData.length; j++) {
|
|
stackDataArr[j] = element.stackData[j].tooltip
|
|
}
|
|
sectionTooltipArr[index] = stackDataArr;
|
|
});
|
|
allProblemTooltipArr[i] = sectionTooltipArr;
|
|
|
|
barGraphGrade = edx_d3CreateStackedBarGraph(paramGrade, d3.select(curr_id).append("svg"),
|
|
d3.select("#${id_tooltip_prefix}"+i));
|
|
barGraphGrade.scale.stackColor.domain([0,50,100]).range(["#e13f29","#cccccc","#17a74d"]);
|
|
barGraphGrade.legend.width += 2;
|
|
|
|
if ( paramGrade.data.length > 0 ) {
|
|
barGraphGrade.drawGraph();
|
|
|
|
$('svg').siblings('.loading').remove();
|
|
} else {
|
|
$('svg').siblings('.loading').text(errorMessage);
|
|
}
|
|
|
|
i+=1;
|
|
}
|
|
|
|
});
|
|
|
|
}); |