N°3541 Add event listener to enable/disable loading state for buttons group block

This commit is contained in:
Stephen Abello
2022-03-14 15:30:36 +01:00
parent 0c80a4e430
commit 9cd076131f

View File

@@ -17,10 +17,26 @@
*/
;
// Apply a listener to <body> element so we don't havec to create one for every button on the page
// Apply a listener to <body> 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');
});