From 9cd076131fd3edd0c7541e611b0f2f1f2f006f8e Mon Sep 17 00:00:00 2001 From: Stephen Abello Date: Mon, 14 Mar 2022 15:30:36 +0100 Subject: [PATCH] =?UTF-8?q?=20N=C2=B03541=20Add=20event=20listener=20to=20?= =?UTF-8?q?enable/disable=20loading=20state=20for=20buttons=20group=20bloc?= =?UTF-8?q?k?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/components/button.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/js/components/button.js b/js/components/button.js index 5d5b23806..c1050659d 100644 --- a/js/components/button.js +++ b/js/components/button.js @@ -17,10 +17,26 @@ */ ; -// Apply a listener to element so we don't havec to create one for every button on the page +// Apply a listener to element so we don't have to create one for every button on the page + +// ibo-button elements $('body').on('enter_loading_state.button.itop', '[data-role="ibo-button"]', function(){ $(this).addClass('ibo-is-loading').prop('disabled', true); }) .on('leave_loading_state.button.itop', '[data-role="ibo-button"]', function(){ $(this).removeClass('ibo-is-loading').prop('disabled', false); }); + +// ibo-button-group elements +$('body').on('enter_loading_state.button_group.itop', '[data-role="ibo-button-group"]', function(){ + $(this).find('[data-role="ibo-button"]').each(function(){ + $(this).prop('disabled', true); + }); + $(this).find('[data-role="ibo-button"]:first').trigger('enter_loading_state.button.itop'); +}) +.on('leave_loading_state.button_group.itop', '[data-role="ibo-button-group"]', function(){ + $(this).find('[data-role="ibo-button"]').each(function(){ + $(this).prop('disabled', false); + }); + $(this).find('[data-role="ibo-button"]:first').trigger('leave_loading_state.button.itop'); +}); \ No newline at end of file