Adds ability to display "success" messages inside a persistant modal dialog

This commit is contained in:
Oliver 2022-03-01 00:05:30 +11:00
parent 9f5618a51f
commit 7170e16ae7
2 changed files with 17 additions and 3 deletions

View File

@ -37,7 +37,6 @@ function showAlertOrCache(message, cache, options={}) {
if (cache) { if (cache) {
addCachedAlert(message, options); addCachedAlert(message, options);
} else { } else {
showMessage(message, options); showMessage(message, options);
} }
} }
@ -82,6 +81,8 @@ function showMessage(message, options={}) {
var timeout = options.timeout || 5000; var timeout = options.timeout || 5000;
var target = options.target || $('#alerts');
var details = ''; var details = '';
if (options.details) { if (options.details) {
@ -111,7 +112,7 @@ function showMessage(message, options={}) {
</div> </div>
`; `;
$('#alerts').append(html); target.append(html);
// Remove the alert automatically after a specified period of time // Remove the alert automatically after a specified period of time
$(`#alert-${id}`).delay(timeout).slideUp(200, function() { $(`#alert-${id}`).delay(timeout).slideUp(200, function() {

View File

@ -942,9 +942,22 @@ function handleFormSuccess(response, options) {
cache = false; cache = false;
} }
var msg_target = null;
if (options.modal && options.reloadFormAfterSuccess) {
// If the modal is persistant, the target for any messages should be the modal!
msg_target = $(options.modal).find('#pre-form-content');
}
// Display any messages // Display any messages
if (response && (response.success || options.successMessage)) { if (response && (response.success || options.successMessage)) {
showAlertOrCache(response.success || options.successMessage, cache, {style: 'success'}); showAlertOrCache(
response.success || options.successMessage,
cache,
{
style: 'success',
target: msg_target,
});
} }
if (response && response.info) { if (response && response.info) {