diff options
author | mrgoldy <gijsmartens1@gmail.com> | 2020-01-21 15:27:28 +0100 |
---|---|---|
committer | mrgoldy <gijsmartens1@gmail.com> | 2020-01-21 15:27:28 +0100 |
commit | 908d04d0e8f6b413268d738ee9986e21134d180a (patch) | |
tree | 5028bbf1a76d20df13878ed0920e1970f9918987 | |
parent | Merge pull request #5821 from marc1706/ticket/16296 (diff) | |
download | phpbb-908d04d0e8f6b413268d738ee9986e21134d180a.tar.gz phpbb-908d04d0e8f6b413268d738ee9986e21134d180a.tar.bz2 phpbb-908d04d0e8f6b413268d738ee9986e21134d180a.zip |
[ticket/15370] Loading indicator when submitting permissions
PHPBB3-15370
-rw-r--r-- | phpBB/adm/style/ajax.js | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/phpBB/adm/style/ajax.js b/phpBB/adm/style/ajax.js index 895bb056e5..9d9fc62254 100644 --- a/phpBB/adm/style/ajax.js +++ b/phpBB/adm/style/ajax.js @@ -173,7 +173,9 @@ function submitPermissions() { var permissionSubmitSize = 0, permissionRequestCount = 0, forumIds = [], - permissionSubmitFailed = false; + permissionSubmitFailed = false, + clearIndicator = true, + $loadingIndicator; if ($submitAllButton !== $submitButton) { fieldsetList = $form.find('fieldset#' + $submitButton.closest('fieldset.permissions').id); @@ -207,6 +209,8 @@ function submitPermissions() { } }); + $loadingIndicator = phpbb.loadingIndicator(); + /** * Handler for submitted permissions form chunk * @@ -222,6 +226,8 @@ function submitPermissions() { } else if (!permissionSubmitFailed && res.S_USER_NOTICE) { // Display success message at the end of submitting the form if (permissionRequestCount >= permissionSubmitSize) { + clearIndicator = true; + var $alert = phpbb.alert(res.MESSAGE_TITLE, res.MESSAGE_TEXT); var $alertBoxLink = $alert.find('p.alert_text > a'); @@ -271,6 +277,17 @@ function submitPermissions() { $form.submit(); }, res.REFRESH_DATA.time * 1000); // Server specifies time in seconds } + } else { + // Still more forms to submit, so do not clear indicator + clearIndicator = false; + } + } + + if (clearIndicator) { + phpbb.clearLoadingTimeout(); + + if ($loadingIndicator) { + $loadingIndicator.fadeOut(phpbb.alertTime); } } } |