From ad82267b197b14bb82977eb3c062e4770a034db3 Mon Sep 17 00:00:00 2001
From: Andreas Fernandez <a.fernandez@scripting-base.de>
Date: Mon, 9 Mar 2015 09:12:40 +0100
Subject: [PATCH] [BUGFIX] EM: Prevent event stacking on update button

Using the text filter calls "bindExtensionListActions" on each change.
This method invokes the registration of the "click" event handler every
time. Register the events in ready() once to solve the event stacking.

Resolves: #65606
Releases: master
Change-Id: Ie080f2e200a7d52af1a1c42dd6198c0567f122c7
Reviewed-on: http://review.typo3.org/37657
Reviewed-by: Nicole Cordes <typo3@cordes.co>
Tested-by: Nicole Cordes <typo3@cordes.co>
Reviewed-by: Andreas Wolf <andreas.wolf@typo3.org>
Tested-by: Andreas Wolf <andreas.wolf@typo3.org>
---
 .../Resources/Public/JavaScript/Main.js       | 24 +++++++++----------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/typo3/sysext/extensionmanager/Resources/Public/JavaScript/Main.js b/typo3/sysext/extensionmanager/Resources/Public/JavaScript/Main.js
index bda9eae5e811..adcebb7d3c29 100644
--- a/typo3/sysext/extensionmanager/Resources/Public/JavaScript/Main.js
+++ b/typo3/sysext/extensionmanager/Resources/Public/JavaScript/Main.js
@@ -96,18 +96,6 @@ define(['jquery', 'datatables', 'jquery/jquery.clearable'], function($) {
 				);
 			});
 		});
-
-		$('a[data-action=update-extension]').click(function(e) {
-			e.preventDefault();
-			$.ajax({
-				url: $(this).attr('href'),
-				dataType: 'json',
-				beforeSend: function() {
-					$(ExtensionManager.identifier.extensionManager).mask();
-				},
-				success: ExtensionManager.updateExtension
-			});
-		});
 	};
 
 	ExtensionManager.removeExtensionFromDisk = function($extension) {
@@ -624,6 +612,18 @@ define(['jquery', 'datatables', 'jquery/jquery.clearable'], function($) {
 				}
 			});
 
+			$('a[data-action=update-extension]').click(function(e) {
+				e.preventDefault();
+				$.ajax({
+					url: $(this).attr('href'),
+					dataType: 'json',
+					beforeSend: function() {
+						$(ExtensionManager.identifier.extensionManager).mask();
+					},
+					success: ExtensionManager.updateExtension
+				});
+			});
+
 			$('.expandable').expander({
 				expandEffect: 'slideDown',
 				collapseEffect: 'slideUp',
-- 
GitLab