Marius Burkard
2016-06-17 8445649af724acffd59e469a5646ee4cfe6912f0
- prevent some clicks while ajax requests still running
1 files modified
80 ■■■■ changed files
interface/web/themes/default/assets/javascripts/ispconfig.js 80 ●●●● patch | view | raw | blame | history
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(); }); });