diff options
Diffstat (limited to 'theme/javascript/core')
-rw-r--r-- | theme/javascript/core/loading.js | 18 | ||||
-rwxr-xr-x | theme/javascript/core/navigation.js | 9 |
2 files changed, 23 insertions, 4 deletions
diff --git a/theme/javascript/core/loading.js b/theme/javascript/core/loading.js new file mode 100644 index 0000000..193531f --- /dev/null +++ b/theme/javascript/core/loading.js @@ -0,0 +1,18 @@ +define([ + "jQuery" +], function($) { + var showLoading = function(p) { + var $book = $(".book"); + + $book.addClass("is-loading"); + p.always(function() { + $book.removeClass("is-loading"); + }); + + return p; + }; + + return { + show: showLoading + }; +});
\ No newline at end of file diff --git a/theme/javascript/core/navigation.js b/theme/javascript/core/navigation.js index d8dc8b9..e614392 100755 --- a/theme/javascript/core/navigation.js +++ b/theme/javascript/core/navigation.js @@ -6,8 +6,9 @@ define([ "core/search", "core/progress", "core/exercise", - "core/quiz" -], function($, path, events, state, search, progress, exercises, quiz) { + "core/quiz", + "core/loading" +], function($, path, events, state, search, progress, exercises, quiz, loading) { var prev, next; var githubCountStars, githubCountWatch; @@ -23,7 +24,7 @@ define([ return } - return $.get(url) + return loading.show($.get(url) .done(function (html) { // Push url to history if (push) history.pushState({ path: url }, null, url); @@ -59,7 +60,7 @@ define([ }) .fail(function (e) { location.href = relativeUrl; - }); + })); }; var updateGitHubCounts = function() { |