From f9afb810825343b67045ae2ee0f7f92b481e2bdc Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Sat, 29 Oct 2011 11:14:38 +0100
Subject: [PATCH] allow nesting calls to djr.loading()

---
 server/djrandom/frontend/static/js/djr/djr.js | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/server/djrandom/frontend/static/js/djr/djr.js b/server/djrandom/frontend/static/js/djr/djr.js
index 3f9f0f6..d3d6a52 100644
--- a/server/djrandom/frontend/static/js/djr/djr.js
+++ b/server/djrandom/frontend/static/js/djr/djr.js
@@ -9,7 +9,8 @@ djr = {};
 // Global state (with Player instance).
 djr.state = {
   backend: null,
-  player: null
+  player: null,
+  loadingCount: 0
 };
 
 // Initialize the Player and add all our onclick handlers.
@@ -158,9 +159,15 @@ djr.player = function() {
 };
 
 // Show/hide the 'loader' animated GIF.
+// Keep a counter so we can nest calls.
 djr.loading = function(active) {
   var loader = $('#loaderImg');
   if (active) {
+    djr.state.loaderCount += 1;
+  } else {
+    djr.state.loaderCount -= 1;
+  }
+  if (djr.state.loaderCount > 0) {
     loader.show();
   } else {
     loader.hide();
-- 
GitLab