diff options
Diffstat (limited to 'theme/javascript/core/exercise.js')
-rwxr-xr-x | theme/javascript/core/exercise.js | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/theme/javascript/core/exercise.js b/theme/javascript/core/exercise.js deleted file mode 100755 index 52791a4..0000000 --- a/theme/javascript/core/exercise.js +++ /dev/null @@ -1,63 +0,0 @@ -define([ - "jQuery", - "ace/ace", - "ace/theme-tomorrow", - "ace/mode-javascript", - "utils/execute", - "core/events", - "core/state" -], function($, _ace, _aceTheme, _aceMode, execute, events, state){ - - // Bind an exercise - var prepareExercise = function($exercise) { - var codeSolution = $exercise.find(".code-solution").text(); - var codeValidation = $exercise.find(".code-validation").text(); - var codeContext = $exercise.find(".code-context").text(); - - var editor = ace.edit($exercise.find(".editor").get(0)); - editor.setTheme("ace/theme/tomorrow"); - editor.getSession().setUseWorker(false); - editor.getSession().setMode("ace/mode/javascript"); - - editor.commands.addCommand({ - name: "submit", - bindKey: "Ctrl-Return|Cmd-Return", - exec: function() { - $exercise.find(".action-submit").click(); - } - }); - - // Submit: test code - $exercise.find(".action-submit").click(function(e) { - e.preventDefault(); - - events.trigger("exercise.submit", {type: "code"}); - - execute("javascript", editor.getValue(), codeValidation, codeContext, function(err, result) { - $exercise.toggleClass("return-error", err != null); - $exercise.toggleClass("return-success", err == null); - if (err) $exercise.find(".alert-danger").text(err.message || err); - }); - }); - - // Set solution - $exercise.find(".action-solution").click(function(e) { - e.preventDefault(); - - editor.setValue(codeSolution); - editor.gotoLine(0); - }); - }; - - // Prepare all exercise - var init = function() { - state.$book.find("section.exercise").each(function() { - prepareExercise($(this)); - }); - }; - - return { - init: init, - prepare: prepareExercise - }; -}); |