Commit b8c6c785 by Waqas Khalid

LaTeX not rendering properly in peer assessment

Latex was not working properly in peer assessment
as we were trying to render the Latex and Mathjax
rendering on string instead of element in the DOM.
Mathjax works when we apply it on the element which
is present in the DOM.

TNL-1350
parent d0800d19
......@@ -70,7 +70,7 @@ describe("OpenAssessment.BaseView", function() {
// Create a new stub server
server = new StubServer();
server.renderLatex = jasmine.createSpy('renderLatex')
// Create the object under test
var el = $("#openassessment").get(0);
view = new OpenAssessment.BaseView(runtime, el, server);
......
......@@ -100,6 +100,7 @@ describe("OpenAssessment.ResponseView", function() {
// Create stub objects
server = new StubServer();
server.renderLatex = jasmine.createSpy('renderLatex')
fileUploader = new StubFileUploader();
baseView = new StubBaseView();
......
......@@ -79,7 +79,7 @@ describe("OpenAssessment.StaffInfoView", function() {
beforeEach(function() {
// Create a new stub server
server = new StubServer();
server.renderLatex = jasmine.createSpy('renderLatex')
// Create the stub base view
baseView = new StubBaseView();
});
......@@ -112,7 +112,6 @@ describe("OpenAssessment.StaffInfoView", function() {
// Load the fixture for the container page that DOES include a course staff section
loadFixtures('oa_base_course_staff.html');
assertStaffInfoAjaxCall(true);
});
it("Does NOT load staff info if the page does NOT contain a course staff section", function() {
......
......@@ -49,7 +49,7 @@ describe("OpenAssessment.StudentTrainingView", function() {
// Create a new stub server
server = new StubServer();
server.renderLatex = jasmine.createSpy('renderLatex')
// Create the stub base view
baseView = new StubBaseView();
......
......@@ -27,6 +27,7 @@ OpenAssessment.GradeView.prototype = {
function(html) {
// Load the HTML and install event handlers
$('#openassessment__grade', view.element).replaceWith(html);
view.server.renderLatex($('#openassessment__grade', view.element));
view.installHandlers();
}
).fail(function(errMsg) {
......
......@@ -27,6 +27,7 @@ OpenAssessment.LeaderboardView.prototype = {
function(html) {
// Load the HTML and install event handlers
$('#openassessment__leaderboard', view.element).replaceWith(html);
view.server.renderLatex($('#openassessment__leaderboard', view.element));
}
).fail(function(errMsg) {
baseView.showLoadError('leaderboard', errMsg);
......
......@@ -26,6 +26,7 @@ OpenAssessment.MessageView.prototype = {
function(html) {
//Load the HTML
$('#openassessment__message', view.element).replaceWith(html);
view.server.renderLatex($('#openassessment__message', view.element));
}
).fail(function(errMsg) {
baseView.showLoadError('message', errMsg);
......
......@@ -28,6 +28,7 @@ OpenAssessment.PeerView.prototype = {
function(html) {
// Load the HTML and install event handlers
$('#openassessment__peer-assessment', view.element).replaceWith(html);
view.server.renderLatex($('#openassessment__peer-assessment', view.element));
view.installHandlers(false);
}
).fail(function(errMsg) {
......@@ -51,6 +52,7 @@ OpenAssessment.PeerView.prototype = {
function(html) {
// Load the HTML and install event handlers
$('#openassessment__peer-assessment', view.element).replaceWith(html);
view.server.renderLatex($('#openassessment__peer-assessment', view.element));
view.installHandlers(true);
}
).fail(function(errMsg) {
......
......@@ -44,6 +44,7 @@ OpenAssessment.ResponseView.prototype = {
function(html) {
// Load the HTML and install event handlers
$('#openassessment__response', view.element).replaceWith(html);
view.server.renderLatex($('#openassessment__response', view.element));
view.installHandlers();
view.setAutoSaveEnabled(true);
}
......
......@@ -28,6 +28,7 @@ OpenAssessment.SelfView.prototype = {
function(html) {
// Load the HTML and install event handlers
$('#openassessment__self-assessment', view.element).replaceWith(html);
view.server.renderLatex($('#openassessment__self-assessment', view.element));
view.installHandlers();
}
).fail(function(errMsg) {
......
......@@ -32,6 +32,7 @@ OpenAssessment.StaffInfoView.prototype = {
function(html) {
// Load the HTML and install event handlers
$('#openassessment__staff-info', view.element).replaceWith(html);
view.server.renderLatex($('#openassessment__staff-info', view.element));
view.installHandlers();
}
).fail(function(errMsg) {
......
......@@ -28,6 +28,7 @@ OpenAssessment.StudentTrainingView.prototype = {
function(html) {
// Load the HTML and install event handlers
$('#openassessment__student-training', view.element).replaceWith(html);
view.server.renderLatex($('#openassessment__student-training', view.element));
view.installHandlers();
}
).fail(function(errMsg) {
......
......@@ -64,7 +64,6 @@ if (typeof OpenAssessment.Server == "undefined" || !OpenAssessment.Server) {
dataType: "html"
}).done(function(data) {
defer.resolveWith(this, [data]);
that.renderLatex(data);
}).fail(function(data) {
defer.rejectWith(this, [gettext('This section could not be loaded.')]);
});
......@@ -78,11 +77,9 @@ if (typeof OpenAssessment.Server == "undefined" || !OpenAssessment.Server) {
element: The element to modify.
**/
renderLatex: function(element) {
$('.allow--latex', element).each(
function() {
MathJax.Hub.Queue(['Typeset', MathJax.Hub, this]);
}
);
element.filter(".allow--latex").each(function() {
MathJax.Hub.Queue(['Typeset', MathJax.Hub, this]);
});
},
/**
......@@ -111,7 +108,6 @@ if (typeof OpenAssessment.Server == "undefined" || !OpenAssessment.Server) {
data: {continue_grading: true}
}).done(function(data) {
defer.resolveWith(this, [data]);
view.renderLatex(data);
}).fail(function(data) {
defer.rejectWith(this, [gettext('This section could not be loaded.')]);
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment