From 8445649af724acffd59e469a5646ee4cfe6912f0 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Fri, 17 Jun 2016 12:14:30 -0400
Subject: [PATCH] - prevent some clicks while ajax requests still running
---
interface/web/themes/default/assets/javascripts/ispconfig.js | 80 ++++++++++------------------------------
1 files 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 a2b9907..a726d0a 100644
--- a/interface/web/themes/default/assets/javascripts/ispconfig.js
+++ b/interface/web/themes/default/assets/javascripts/ispconfig.js
@@ -23,11 +23,7 @@
},
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) {
@@ -141,55 +137,6 @@
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];
@@ -320,11 +267,6 @@
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 @@
},
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 @@
$(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-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-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(); }); });
--
Gitblit v1.9.1