From aa78fde6a92f66b84d626e114d8b54a5fb6ece0c Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Wed, 14 Nov 2012 07:19:43 -0500
Subject: [PATCH] - Added function for IPv6 prefixes in multiserver mirror setups to nginx plugin.

---
 interface/web/js/scrigo.js.php |   63 +++++++++++++++----------------
 1 files changed, 31 insertions(+), 32 deletions(-)

diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php
index b3029f3..1051905 100644
--- a/interface/web/js/scrigo.js.php
+++ b/interface/web/js/scrigo.js.php
@@ -12,6 +12,7 @@
 var requestsRunning = 0;
 var indicatorPaddingH = -1;
 var indicatorPaddingW = -1;
+var indicatorCompleted = false;
 redirect = '';
 
 function reportError(request) {
@@ -25,33 +26,31 @@
 function showLoadIndicator() {
     requestsRunning += 1;
     
-    var indicator = jQuery('#ajaxloader');
-    if(indicator.length < 1) {
-        indicator = jQuery('<div id="ajaxloader" style="display: none;"></div>');
-        indicator.appendTo('body');
+    if(requestsRunning < 2) {
+        var indicator = jQuery('#ajaxloader');
+        if(indicator.length < 1) {
+            indicator = jQuery('<div id="ajaxloader" style="display: none;"></div>');
+            indicator.appendTo('body');
+        }
+        var parent = jQuery('#content');
+        if(parent.length < 1) return;
+        indicatorCompleted = false;
+        
+        var atx = parent.offset().left + 150; //((parent.outerWidth(true) - indicator.outerWidth(true)) / 2);
+        var aty = parent.offset().top + 150;
+        indicator.css( {'left': atx, 'top': aty } ).fadeIn('fast', function() {
+            // check if loader should be hidden immediately
+            indicatorCompleted = true;
+            if(requestsRunning < 1) $(this).fadeOut('fast', function() { $(this).hide();});
+        });
     }
-    var parent = jQuery('#content');
-    if(parent.length < 1) return;
-    
-    var atx = parent.offset().left + 150; //((parent.outerWidth(true) - indicator.outerWidth(true)) / 2);
-    var aty = parent.offset().top + 150;
-    indicator.css( {'left': atx, 'top': aty } ).fadeIn('fast');
-    
-    /*var atx = parent.offset().left;
-    var aty = parent.offset().top;
-    if(indicatorPaddingW == -1) indicatorPaddingW = parseInt(indicator.css('padding-left')) + parseInt(indicator.css('padding-right'));
-    if(indicatorPaddingH == -1) indicatorPaddingH = parseInt(indicator.css('padding-top')) + parseInt(indicator.css('padding-bottom'));
-    var atw = parent.outerWidth() - indicatorPaddingW;
-    var ath = parent.outerHeight() - indicatorPaddingH;
-    
-    indicator.css( {'left': atx, 'top': aty, 'width': atw, 'height': ath } ).fadeIn('fast');*/
 }
 
 function hideLoadIndicator() {
     requestsRunning -= 1;
     if(requestsRunning < 1) {
-        jQuery('#ajaxloader').fadeOut('fast', function() { jQuery('#ajaxloader').hide(); } );
         requestsRunning = 0; // just for the case...
+        if(indicatorCompleted == true) jQuery('#ajaxloader').fadeOut('fast', function() { jQuery('#ajaxloader').hide(); } );
     }
 }
 
@@ -93,7 +92,6 @@
 												showLoadIndicator();
 											},
 											success: function(data, textStatus, jqXHR) {
-                                                hideLoadIndicator();
 												if(jqXHR.responseText != '') {
 													if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
 														var parts = jqXHR.responseText.split(':');
@@ -106,6 +104,7 @@
 													}
 												}
 												loadMenus();
+                                                hideLoadIndicator();
 											},
 											error: function() {
                                                 hideLoadIndicator();
@@ -135,7 +134,6 @@
 												showLoadIndicator();
 											},
 											success: function(data, textStatus, jqXHR) {
-                                                hideLoadIndicator();
 												if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
 													var parts = jqXHR.responseText.split(':');
 													//alert(parts[1]);
@@ -151,6 +149,7 @@
                                                     pageFormChanged = false;
 												}
 												loadMenus();
+                                                hideLoadIndicator();
 											},
 											error: function() {
                                                 hideLoadIndicator();
@@ -176,7 +175,6 @@
 												showLoadIndicator();
 											},
 											success: function(data, textStatus, jqXHR) {
-                                                hideLoadIndicator();
 												if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
 													var parts = jqXHR.responseText.split(':');
 													//alert(parts[1]);
@@ -188,6 +186,7 @@
                                                     onAfterContentLoad();
                                                     pageFormChanged = false;
 												}
+                                                hideLoadIndicator();
 											},
 											error: function(jqXHR, textStatus, errorThrown) {
                                                 hideLoadIndicator();
@@ -214,7 +213,6 @@
 												showLoadIndicator();
 											},
 											success: function(data, textStatus, jqXHR) {
-                                                hideLoadIndicator();
 												if(successMessage) alert(successMessage);
 												if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
 													var parts = jqXHR.responseText.split(':');
@@ -227,6 +225,7 @@
                                                     onAfterContentLoad();
                                                     pageFormChanged = false;
 												}
+                                                hideLoadIndicator();
 											},
 											error: function(jqXHR, textStatus, errorThrown) {
                                                 hideLoadIndicator();
@@ -288,7 +287,6 @@
 												showLoadIndicator();
 											},
 											success: function(data, textStatus, jqXHR) {
-                                                hideLoadIndicator();
 												if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
 													var parts = jqXHR.responseText.split(':');
 													loadContent(parts[1]);
@@ -305,6 +303,7 @@
                                                     onAfterContentLoad();
                                                     pageFormChanged = false;
 												}
+                                                hideLoadIndicator();
 											},
 											error: function() {
                                                 hideLoadIndicator();
@@ -323,7 +322,6 @@
 												showLoadIndicator();
 											},
 											success: function(data, textStatus, jqXHR) {
-                                                hideLoadIndicator();
 												if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
 													var parts = jqXHR.responseText.split(":");
 													loadContent(parts[1]);
@@ -332,6 +330,7 @@
                                                     onAfterContentLoad();
                                                     pageFormChanged = false;
 												}
+                                                hideLoadIndicator();
 											},
 											error: function() {
                                                 hideLoadIndicator();
@@ -437,14 +436,14 @@
 											url: pagename,
 											dataType: "html",
 											beforeSend: function() {
-												showLoadIndicator();
+//												showLoadIndicator();
 											},
 											success: function(data, textStatus, jqXHR) {
-                                                hideLoadIndicator();
+//                                                hideLoadIndicator();
 												jQuery('#'+elementid).html(jqXHR.responseText);
 											},
 											error: function() {
-                                                hideLoadIndicator();
+//                                                hideLoadIndicator();
 												reportError('Ajax Request was not successful. 118');
 											}
 										});
@@ -455,10 +454,10 @@
 											url: pagename,
 											dataType: "html",
 											beforeSend: function() {
-												showLoadIndicator();
+//												showLoadIndicator();
 											},
 											success: function(data, textStatus, jqXHR) {
-                                                hideLoadIndicator();
+//                                                hideLoadIndicator();
 												var teste = jqXHR.responseText;
 												var elemente = teste.split('#');
 												el=document.getElementById(elementid);
@@ -472,7 +471,7 @@
 												}
 											},
 											error: function() {
-                                                hideLoadIndicator();
+//                                                hideLoadIndicator();
 												reportError('Ajax Request was not successful. 119');
 											}
 										});

--
Gitblit v1.9.1