EDUCATOR-3764 Mathjax accessibility inclusion inside edx-platform

This commit is contained in:
DawoudSheraz
2018-12-04 16:29:15 +05:00
parent 0858ae233a
commit e954eb01a0
12 changed files with 49 additions and 17 deletions

View File

@@ -42,6 +42,15 @@ if (typeof MathJax === 'undefined') {
});
};
};
vendorScript.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_SVG';
// Automatic loading of Mathjax accessibility files
window.MathJax = {
menuSettings: {
collapsible: true,
autocollapse: true,
explorer: true
}
};
vendorScript.src = 'https://cdn.jsdelivr.net/npm/mathjax@2.7.5/MathJax.js?config=TeX-MML-AM_SVG';
document.body.appendChild(vendorScript);
}

View File

@@ -482,10 +482,10 @@
this.postMathJaxProcessor(this.markdownWithHighlight(element.text()))
);
this.typesetMathJax(element);
};
DiscussionUtil.typesetMathJax = function(element) {
if (typeof MathJax !== 'undefined' && MathJax !== null) {
MathJax.Hub.Queue(['Typeset', MathJax.Hub, element[0]]);
}

View File

@@ -59,13 +59,12 @@
this.renderAttrs();
this.$('span.timeago').timeago();
this.convertMath();
this.$('.post-body');
this.$('h1,h3');
return this;
};
DiscussionThreadShowView.prototype.convertMath = function() {
DiscussionUtil.convertMath(this.$('.post-body'));
DiscussionUtil.typesetMathJax(this.$('.post-body'));
};
DiscussionThreadShowView.prototype.edit = function(event) {

View File

@@ -317,7 +317,10 @@
if (options.focusAddedResponse) {
this.focusToTheAddedResponse(view.el);
}
DiscussionUtil.typesetMathJax(view.$el.find('.js-response-list'));
// Typeset the response when initially loaded for any forum
DiscussionUtil.typesetMathJax(view.$el);
return view;
};
DiscussionThreadView.prototype.renderAddResponseButton = function() {
@@ -345,7 +348,7 @@
};
DiscussionThreadView.prototype.submitComment = function(event) {
var body, comment, url;
var body, comment, url, view;
event.preventDefault();
url = this.model.urlFor('reply');
body = this.getWmdContent('reply-body');
@@ -365,7 +368,7 @@
user_id: window.user.get('id')
});
comment.set('thread', this.model.get('thread'));
this.renderResponseToList(comment, '.js-response-list', {
view = this.renderResponseToList(comment, '.js-response-list', {
focusAddedResponse: true
});
this.model.addComment();
@@ -379,8 +382,9 @@
body: body
},
success: function(data) {
comment.updateInfo(data.annotated_content_info);
return comment.set(data.content);
comment.updateInfo(data.annotated_content_info);
comment.set(data.content);
DiscussionUtil.typesetMathJax(view.$el.find('.response-body'));
}
});
};

View File

@@ -72,6 +72,8 @@
ResponseCommentShowView.prototype.convertMath = function() {
DiscussionUtil.convertMath(this.$el.find('.response-body'));
DiscussionUtil.typesetMathJax(this.$el.find('.response-body'));
};
ResponseCommentShowView.prototype._delete = function(event) {

View File

@@ -82,7 +82,9 @@
ThreadResponseView.prototype.render = function() {
this.$el.addClass('response_' + this.model.get('id'));
this.$el.html(this.renderTemplate());
// Setting the HTML through utils to cope for tag-less text
edx.HtmlUtils.setHtml(this.$el, edx.HtmlUtils.HTML(this.renderTemplate()));
this.delegateEvents();
this.renderShowView();
this.renderAttrs();
@@ -309,6 +311,7 @@
event.preventDefault();
this.createShowView();
this.renderShowView();
DiscussionUtil.typesetMathJax(this.$el.find('.response-body'));
return this.showCommentForm();
};
@@ -342,6 +345,7 @@
});
self.createShowView();
self.renderShowView();
DiscussionUtil.typesetMathJax(self.$el.find('.response-body'));
return self.showCommentForm();
}
});

View File

@@ -75,9 +75,20 @@
}
</script>
<script type="text/javascript">
// Activating Mathjax accessibility files
window.MathJax = {
menuSettings: {
collapsible: true,
autocollapse: true,
explorer: true
}
};
</script>
<!-- This must appear after all mathjax-config blocks, so it is after the imports from the other templates.
It can't be run through static.url because MathJax uses crazy url introspection to do lazy loading of
MathJax extension libraries -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_SVG"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@2.7.5/MathJax.js?config=TeX-MML-AM_SVG"></script>
%endif