aboutsummaryrefslogtreecommitdiff
path: root/phpBB/adm
diff options
context:
space:
mode:
authormrgoldy <gijsmartens1@gmail.com>2020-01-21 15:27:28 +0100
committermrgoldy <gijsmartens1@gmail.com>2020-01-21 15:27:28 +0100
commit908d04d0e8f6b413268d738ee9986e21134d180a (patch)
tree5028bbf1a76d20df13878ed0920e1970f9918987 /phpBB/adm
parentMerge pull request #5821 from marc1706/ticket/16296 (diff)
downloadphpbb-908d04d0e8f6b413268d738ee9986e21134d180a.tar.gz
phpbb-908d04d0e8f6b413268d738ee9986e21134d180a.tar.bz2
phpbb-908d04d0e8f6b413268d738ee9986e21134d180a.zip
[ticket/15370] Loading indicator when submitting permissions
PHPBB3-15370
Diffstat (limited to 'phpBB/adm')
-rw-r--r--phpBB/adm/style/ajax.js19
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);
}
}
}