Disabling buttons during installation on click
authorAlexander Ebert <ebert@woltlab.com>
Tue, 11 Jun 2013 11:23:31 +0000 (13:23 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Tue, 11 Jun 2013 11:23:31 +0000 (13:23 +0200)
wcfsetup/install/files/acp/js/WCF.ACP.js

index b4a1837d2b68b8e655de77bfeba105272ccffd55..1cc40b42910760f90f2530385d0ce5b2ae4b4737 100644 (file)
@@ -441,8 +441,14 @@ WCF.ACP.Package.Installation = Class.extend({
        
        /**
         * Performs a rollback.
+        * 
+        * @param       object          event
         */
-       _rollback: function() {
+       _rollback: function(event) {
+               if (event) {
+                       $(event.currentTarget).disable();
+               }
+               
                this._executeStep('rollback');
        },
        
@@ -524,7 +530,10 @@ WCF.ACP.Package.Installation = Class.extend({
                if (data.step === 'success') {
                        this._purgeTemplateContent($.proxy(function() {
                                var $form = $('<div class="formSubmit" />').appendTo($('#packageInstallationInnerContent'));
-                               $('<button class="buttonPrimary">' + WCF.Language.get('wcf.global.button.next') + '</button>').appendTo($form).click(function() { window.location = data.redirectLocation; });
+                               $('<button class="buttonPrimary">' + WCF.Language.get('wcf.global.button.next') + '</button>').appendTo($form).click(function() {
+                                       $(this).disable();
+                                       window.location = data.redirectLocation;
+                               });
                                
                                $('#packageInstallationInnerContentContainer').show();
                                
@@ -546,7 +555,11 @@ WCF.ACP.Package.Installation = Class.extend({
                        // create button to handle next step
                        if (data.step && data.node) {
                                var $form = $('<div class="formSubmit" />').appendTo($('#packageInstallationInnerContent'));
-                               $('<button class="buttonPrimary">' + WCF.Language.get('wcf.global.button.next') + '</button>').appendTo($form).click($.proxy(function() { this._submit(data); }, this)); 
+                               $('<button class="buttonPrimary">' + WCF.Language.get('wcf.global.button.next') + '</button>').appendTo($form).click($.proxy(function(event) {
+                                       $(event.currentTarget).disable();
+                                       
+                                       this._submit(data);
+                               }, this)); 
                        }
                        
                        $('#packageInstallationInnerContentContainer').show();