summaryrefslogtreecommitdiffstats
path: root/theme/javascript/core
diff options
context:
space:
mode:
Diffstat (limited to 'theme/javascript/core')
-rwxr-xr-xtheme/javascript/core/exercise.js63
-rw-r--r--theme/javascript/core/font-settings.js22
-rwxr-xr-xtheme/javascript/core/navigation.js8
-rw-r--r--theme/javascript/core/quiz.js56
4 files changed, 3 insertions, 146 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
- };
-});
diff --git a/theme/javascript/core/font-settings.js b/theme/javascript/core/font-settings.js
index dbc0879..63177ee 100644
--- a/theme/javascript/core/font-settings.js
+++ b/theme/javascript/core/font-settings.js
@@ -15,20 +15,6 @@ define([
"sans": 1
};
- var togglePopover = function(e) {
- var $dropdown = $("#font-settings-wrapper .dropdown-menu");
-
- $dropdown.toggleClass("open");
- e.stopPropagation();
- e.preventDefault();
- };
-
- var closePopover = function(e) {
- var $dropdown = $("#font-settings-wrapper .dropdown-menu");
-
- $dropdown.removeClass("open");
- };
-
var enlargeFontSize = function(e){
if (fontState.size < 4){
fontState.size++;
@@ -106,12 +92,8 @@ define([
$(document).on('click', "#enlarge-font-size", enlargeFontSize);
$(document).on('click', "#reduce-font-size", reduceFontSize);
- $(document).on('click', "#font-settings-wrapper .font-family-list li", changeFontFamily);
- $(document).on('click', "#font-settings-wrapper .color-theme-list button", changeColorTheme);
-
- $(document).on('click', ".book-header .toggle-font-settings", togglePopover);
- $(document).on('click', "#font-settings-wrapper .dropdown-menu", function(e){ e.stopPropagation(); });
- $(document).on("click", closePopover);
+ $(document).on('click', "#font-settings-wrapper .font-family-list .button", changeFontFamily);
+ $(document).on('click', "#font-settings-wrapper .color-theme-list .button", changeColorTheme);
};
return {
diff --git a/theme/javascript/core/navigation.js b/theme/javascript/core/navigation.js
index bcf7e65..3749419 100755
--- a/theme/javascript/core/navigation.js
+++ b/theme/javascript/core/navigation.js
@@ -4,11 +4,9 @@ define([
"core/events",
"core/state",
"core/progress",
- "core/exercise",
- "core/quiz",
"core/loading",
"core/search"
-], function($, URL, events, state, progress, exercises, quiz, loading, search) {
+], function($, URL, events, state, progress, loading, search) {
var prev, next;
var usePushState = (typeof history.pushState !== "undefined");
@@ -76,10 +74,6 @@ define([
var preparePage = function() {
var $pageWrapper = $(".book-body .page-wrapper");
- // Bind exercises/quiz
- exercises.init();
- quiz.init();
-
// Show progress
progress.show();
diff --git a/theme/javascript/core/quiz.js b/theme/javascript/core/quiz.js
deleted file mode 100644
index d34af48..0000000
--- a/theme/javascript/core/quiz.js
+++ /dev/null
@@ -1,56 +0,0 @@
-define([
- "jQuery",
- "utils/execute",
- "core/events",
- "core/state"
-], function($, execute, events, state){
- // Bind an exercise
- var prepareQuiz = function($quiz) {
-
- $quiz.find(".quiz-answers input").click(function(e) {
- e.preventDefault();
- });
-
- // Submit: test code
- $quiz.find(".action-submit").click(function(e) {
- e.preventDefault();
- events.trigger("exercise.submit", {type: "quiz"});
- $quiz.find("tr.alert-danger,li.alert-danger").removeClass("alert-danger");
- $quiz.find(".alert-success,.alert-danger").addClass("hidden");
-
- $quiz.find(".question").each(function(q) {
- var result = true;
-
- var $questions = $(this).find(".question-content").find("input[type=radio], input[type=checkbox]");
- var $answers = $(this).find(".question-answers").find("input[type=radio], input[type=checkbox]");
-
- $questions.each(function(i) {
- var correct = $(this).is(":checked") === $answers.slice(i).first().is(":checked");
- result = result && correct;
- if (!correct) {
- $(this).closest("tr, li").addClass("alert-danger");
- }
- });
- $(this).find(result ? "div.alert-success" : "div.alert-danger").toggleClass("hidden");
- });
-
- });
-
- $quiz.find(".action-solution").click(function(e) {
- e.preventDefault();
- $quiz.find(".question-content, .question-answers").toggleClass("hidden");
- });
- };
-
- // Prepare all exercise
- var init = function() {
- state.$book.find("section.quiz").each(function() {
- prepareQuiz($(this));
- });
- };
-
- return {
- init: init,
- prepare: prepareQuiz
- };
-}); \ No newline at end of file