From 8ad4a477c15f928323da24aff4188bd7f0dca1d9 Mon Sep 17 00:00:00 2001 From: Jean-Michel Vedrine Date: Fri, 2 Feb 2018 16:53:59 +0100 Subject: Ajax dynamic formula display --- amd/src/display.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 amd/src/display.js (limited to 'amd/src') 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("" + data +""); + // MathJax update. + MathJax.Hub.Queue(["Typeset", MathJax.Hub]); + }) + .fail(function(jqXHR, status, error) { + notification.exception(error); + }); + }); + } + }; +}); \ No newline at end of file -- cgit v1.2.3