From 8445649af724acffd59e469a5646ee4cfe6912f0 Mon Sep 17 00:00:00 2001 From: Marius Burkard <m.burkard@pixcept.de> Date: Fri, 17 Jun 2016 18:14:30 +0200 Subject: [PATCH] - prevent some clicks while ajax requests still running --- .../default/assets/javascripts/ispconfig.js | 80 +++++-------------- 1 file changed, 20 insertions(+), 60 deletions(-) diff --git a/interface/web/themes/default/assets/javascripts/ispconfig.js b/interface/web/themes/default/assets/javascripts/ispconfig.js index a2b9907aef..a726d0a220 100644 --- a/interface/web/themes/default/assets/javascripts/ispconfig.js +++ b/interface/web/themes/default/assets/javascripts/ispconfig.js @@ -23,11 +23,7 @@ var ISPConfig = { }, reportError: function(request) { - /* Error reporting is disabled by default as some browsers like safari - sometimes throw errors when a ajax request is delayed even if the - ajax request worked. */ - - /*alert(request);*/ + }, registerHook: function(name, callback) { @@ -142,55 +138,6 @@ var ISPConfig = { ISPConfig.callHook('onAfterContentLoad', {'url': url, 'data': data }); }, - /* THIS ONE SHOULD BE REMOVED AFTER CREATING THE STATIC LOGIN PAGE!!! */ - /*submitLoginForm: function(formname) { - //* Validate form. TODO: username and password with strip(); - var frm = document.getElementById(formname); - var userNameObj = frm.username; - if(userNameObj.value == ''){ - userNameObj.focus(); - return; - } - var passwordObj = frm.passwort; - if(passwordObj.value == ''){ - passwordObj.focus(); - return; - } - - $('#dummy_username').val(userNameObj.value); - $('#dummy_passwort').val(passwordObj.value); - $('#dummy_login_form').submit(); - - var submitFormObj = $.ajax({ - type: "POST", - url: "content.php", - data: $('#'+formname).serialize(), - dataType: "html", - beforeSend: function() { - ISPConfig.showLoadIndicator(); - }, - success: function(data, textStatus, jqXHR) { - if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) { - var parts = jqXHR.responseText.split(':'); - ISPConfig.loadContent(parts[1]); - } else if (jqXHR.responseText.indexOf('LOGIN_REDIRECT:') > -1) { - // Go to the login page - document.location.href = 'index.php'; - } else { - $('#pageContent').html(jqXHR.responseText); - ISPConfig.onAfterContentLoad('content.php', $('#'+formname).serialize()); - ISPConfig.pageFormChanged = false; - } - ISPConfig.loadMenus(); - ISPConfig.hideLoadIndicator(); - }, - error: function() { - ISPConfig.hideLoadIndicator(); - ISPConfig.reportError('Ajax Request was not successful.110'); - } - }); - },*/ - submitForm: function(formname, target, confirmation) { var successMessage = arguments[3]; if(!confirmation) confirmation = false; @@ -320,11 +267,6 @@ var ISPConfig = { var newUrl= jqXHR.responseText.substr(jqXHR.responseText.indexOf('URL_REDIRECT:') + "URL_REDIRECT:".length); document.location.href = newUrl; } else { - //document.getElementById('pageContent').innerHTML = jqXHR.responseText; - //var reponse = $(jqXHR.responseText); - //var reponseScript = reponse.filter("script"); - //$.each(reponseScript, function(idx, val) { eval(val.text); } ); - $('#pageContent').html(jqXHR.responseText); ISPConfig.onAfterContentLoad(pagename, (params ? params : null)); ISPConfig.pageFormChanged = false; @@ -444,7 +386,10 @@ var ISPConfig = { }, changeTab: function(tab, target, force) { - if(ISPConfig.requestsRunning > 0) return false; + if(ISPConfig.requestsRunning > 0) { + console.log('tab change interrupted, request still running.'); + return false; + } document.pageForm.next_tab.value = tab; @@ -622,6 +567,11 @@ var $page = $('html, body'); $(document).on('click', 'a[data-load-content],button[data-load-content]', function(e) { e.preventDefault(); + if(ISPConfig.requestsRunning > 0) { + console.log('preventing click because there is still a request running.'); + return; + } + $page.on('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); $page.animate({scrollTop: 0}, 1000, function() { $page.off('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); }); @@ -633,6 +583,11 @@ $(document).on('click', 'a[data-load-content],button[data-load-content]', functi $(document).on('click', 'a[data-capp],button[data-capp]', function(e) { e.preventDefault(); + if(ISPConfig.requestsRunning > 0) { + console.log('preventing click because there is still a request running.'); + return; + } + $page.on('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); $page.animate({scrollTop: 0}, 1000, function() { $page.off('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); }); @@ -644,6 +599,11 @@ $(document).on('click', 'a[data-capp],button[data-capp]', function(e) { $(document).on('click', 'a[data-submit-form],button[data-submit-form]', function(e) { e.preventDefault(); + if(ISPConfig.requestsRunning > 0) { + console.log('preventing click because there is still a request running.'); + return; + } + $page.on('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); $page.animate({scrollTop: 0}, 1000, function() { $page.off('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function() { $page.stop(); }); }); -- GitLab