diff options
Diffstat (limited to 'amd')
-rw-r--r-- | amd/build/display.min.js | 1 | ||||
-rw-r--r-- | amd/src/display.js | 28 |
2 files changed, 29 insertions, 0 deletions
diff --git a/amd/build/display.min.js b/amd/build/display.min.js new file mode 100644 index 0000000..cd5da13 --- /dev/null +++ b/amd/build/display.min.js @@ -0,0 +1 @@ +define(["jquery","core/config","core/notification"],function(a,b,c){return{init:function(){a(".algebra_answer").on("input paste keyup",null,null,function(){var d=a(this).attr("id"),e=d.replace(":","_"),f=a("#"+e+"_vars").html(),g=a(this).val(),h={vars:f,expr:g,sesskey:b.sesskey};a.post(b.wwwroot+"/question/type/algebra/ajax.php",h,null,"json").done(function(b){a("#"+e+"_display").html('<span class="filter_mathjaxloader_equation">'+b+"</span>"),MathJax.Hub.Queue(["Typeset",MathJax.Hub])}).fail(function(a,b,d){c.exception(d)})})}}});
\ No newline at end of file diff --git a/amd/src/display.js b/amd/src/display.js new file mode 100644 index 0000000..e2131b7 --- /dev/null +++ b/amd/src/display.js @@ -0,0 +1,28 @@ +define(['jquery', 'core/config', 'core/notification'], function($, config, notification) { + return { + init: function() { + $(".algebra_answer").on('input paste keyup', null, null, function() { + // Convert answer id to valid javascript name. + var id = $(this).attr('id'); + var display = id.replace(':', '_'); + var varnames = $('#' + display + '_vars').html(); + var currentanswer = $(this).val(); + var params = { + vars: varnames, + expr: currentanswer, + sesskey: config.sesskey, + }; + $.post(config.wwwroot + '/question/type/algebra/ajax.php', params, null, 'json') + .done(function(data) { + // Replace TeX form in page. + $('#' + display + '_display').html("<span class=\"filter_mathjaxloader_equation\">" + data +"</span>"); + // MathJax update. + MathJax.Hub.Queue(["Typeset", MathJax.Hub]); + }) + .fail(function(jqXHR, status, error) { + notification.exception(error); + }); + }); + } + }; +});
\ No newline at end of file |